Lõi CPU: Càng nhiều càng tốt?


69

Tôi hiện đang có bộ xử lý lõi kép tại nơi làm việc và lõi tứ ở nhà. Tôi đã nhận thấy cả hai PC đều tương đương nhau khi khởi chạy ứng dụng / lướt web.

Sự khác biệt tôi có thể thấy là lõi kép của tôi là 2,8 GHz và lõi tứ của tôi là 2,4 GHz.

Nó là tốt hơn để có một lõi kép với tốc độ xung nhịp nhanh hay lõi tứ với tốc độ xung nhịp tầm thường?


5
'Nhanh' và 'tầm thường' là tương đối. Trong trường hợp của bạn, lõi tứ sẽ tốt hơn vì sự khác biệt về tốc độ xung nhịp chỉ là 400 MHz. Tuy nhiên, phần lớn lõi kép 3 GHz tốt hơn so với lõi tứ 1,5 GHz, đối với hầu hết các phần.
Sasha Chedygov

Không sử dụng GHz để so sánh bộ xử lý, sử dụng một số kết quả kiểm tra tốc độ / tải để so sánh tốc độ hiệu quả của bộ xử lý. Bộ xử lý 3GHz lõi kép thể chậm hơn i7 2,4 GHz (i7 không có bus trước, ...) ...
Ben

2
@Ben, rõ ràng là nó sẽ có cùng kiến ​​trúc bộ xử lý (ví dụ: 45nm Core 2 Duo vs Quad).
Mircea Chirea

Câu trả lời:


53

LƯU Ý: Câu trả lời này đã được viết 8 năm trước. Lập trình song song đã trở nên phù hợp hơn. Điều này có thể là do giới hạn tốc độ đồng hồ vốn có và giới hạn kích thước bóng bán dẫn tiếp cận nhanh.


Vấn đề chính của bạn là phần mềm không được viết cho đa lõi.

Hãy xem bài viết xuất sắc của Jeff Atwood về Chọn lõi kép hoặc lõi tứ .

Đối với hầu hết các phần mềm, bạn đạt điểm giảm dần rất nhanh sau hai lõi. Trong Máy tính để bàn Quad-Core và Trả về giảm dần , tôi đã đặt câu hỏi rằng phần mềm ngày nay thực sự có thể sử dụng bốn lõi CPU như thế nào, ít hơn rất nhiều so với tám và mười sáu lõi CPU mà chúng ta sẽ thấy vài năm nữa.

Bạn được trả lời ở đây (đánh dấu sao chép từ bài viết của Jeff),

Tuy nhiên, có một số bất ngờ ở đây, chẳng hạn như Excel 2007 và cài đặt "hoạt động đồng thời" của Lost Planet. Kỹ thuật phần mềm có thể cuối cùng sẽ tiến tới điểm tốc độ xung nhịp ít hơn so với song song. Hoặc cuối cùng có thể không liên quan, nếu chúng ta không lựa chọn giữa tốc độ xung nhịp nhanh hơn và nhiều lõi CPU hơn. Nhưng trong khi đó, tốc độ đồng hồ chiến thắng hầu hết thời gian. Nhiều lõi CPU không tự động tốt hơn . Người dùng thông thường sẽ tốt hơn với CPU lõi kép nhanh nhất có thể.


Vấn đề của Xe buýt Mặt trận (thuật ngữ đó luôn khiến tôi thích thú).
Với Nehalem, mọi thứ thay đổi ... như ArsTechnica đã nói năm ngoái.

Định luật Moore đã khiến các nhà thiết kế bộ xử lý bối rối về sự giàu có của bóng bán dẫn và không nơi nào rõ ràng hơn bộ xử lý Nehalem 45nm của Intel. Ra mắt trong các biến thể 4 và 8 lõi vào cuối năm nay, Nehalem tích hợp một tấn phần cứng vào một ổ cắm bộ xử lý. . Vì vậy, cũng quan trọng không kém, Nehalem cũng có vẻ là hồi chuông báo tử quá hạn cho kiến ​​trúc xe buýt mặt trước tích cực của Intel.

Sự thay đổi căn bản trong tình hình băng thông hệ thống của Intel mà QuickPath Interconnect (QPI) mới của Intel đại diện có lẽ là yếu tố đơn lẻ lớn nhất hình thành nên thiết kế của Nehalem. Giữa bộ điều khiển bộ nhớ tích hợp của QuickPath và Nehalem, bộ xử lý Nehalem sẽ có quyền truy cập vào một lượng băng thông tổng hợp chưa từng có, đặc biệt là trong các triển khai hai và bốn ổ cắm.

AMD đã chuyển bộ điều khiển bộ nhớ vào bộ xử lý trước đó và sử dụng Hypertransport.


3
Vấn đề khác cần xem xét là hiệu suất xe buýt phía trước. Với rất nhiều lõi, rất nhiều bộ nhớ và các chương trình lớn như vậy, việc truy cập vào bộ nhớ trở nên quan trọng! Nếu CPU phải lỗi để vào bộ nhớ chính, nó sẽ ảnh hưởng đến hiệu năng. Bạn càng đa nhiệm, điều này càng có khả năng xảy ra, bất kể mức độ lớn đến mức nào trên bộ nhớ cache của chip.
geoffc

1
Trong 8 năm kể từ khi câu hỏi này được mở vào năm 2009, mọi thứ đã thay đổi. Phần mềm bây giờ tốt hơn rất nhiều trong việc tận dụng nhiều lõi và xu hướng này sẽ chỉ tiếp tục.
Contango

1
@Contango Đồng ý, câu trả lời này cần được cập nhật để phản ánh các xu hướng hiện tại.

18

Theo kinh nghiệm của tôi, có một lợi ích hiệu năng rất lớn từ một đến hai lõi. Đột nhiên, một chương trình CPU cao không khóa máy của bạn hoặc làm cho nó chậm một cách bất thường. Sự khác biệt lớn.

Nhưng hai đến bốn? Đối với 99% mọi người, nó sẽ không tạo ra sự khác biệt. Bạn sẽ phải chạy rất nhiều chương trình cùng một lúc hoặc đang sử dụng các chương trình có thể tận dụng hơn 2 lõi (và thực tế không có nhiều chương trình đó). Một số phương tiện truyền thông mã hóa mùa xuân đến tâm trí.

Cũng có một sự khác biệt giữa Intel Core 2 và AMD Phenoms về vấn đề này. AMD sử dụng Hypertransport, đây là giao thức điểm tới điểm nên mỗi lõi có băng thông chuyên dụng. Các Intel Core 2 (nhưng không phải Core i7 và các CPU dựa trên Niehalem khác) sử dụng bus phía trước, được chia sẻ băng thông để bạn có nhiều lõi hơn cạnh tranh cùng băng thông.

Điều này có khả năng có thể làm cho một lõi tứ đồng hồ (biên) chậm hơn trong một số trường hợp. Giá trị đồng tiền vẫn là với lõi kép IMHO. Điều đó đang được nói, tôi có một lõi tứ.


1
Nehalem sử dụng QPI (QuickPathInterconnect) ở cùng công viên với Hypertransport.
nik

10

Tôi thích cách Donald Knuth tóm tắt :

Đối với tôi, có vẻ như ít nhiều các nhà thiết kế phần cứng đã hết ý tưởng và họ đang cố gắng đổ lỗi cho sự sụp đổ trong tương lai của Định luật Moore cho các nhà văn phần mềm bằng cách cho chúng tôi các máy hoạt động nhanh hơn trên một số ít điểm chuẩn chính! Tôi sẽ không ngạc nhiên chút nào nếu toàn bộ ý tưởng đa luồng hóa ra là một sự thất bại, tệ hơn cả cách tiếp cận "Itanium" được cho là rất tuyệt vời cho đến khi hóa ra các trình biên dịch mong muốn về cơ bản là không thể viết .

Hãy để tôi nói theo cách này: Trong 50 năm qua, tôi đã viết tốt hơn một ngàn chương trình, nhiều chương trình có quy mô đáng kể. Tôi không thể nghĩ đến thậm chí năm trong số những chương trình đó đã được tăng cường đáng chú ý bằng cách song song hoặc đa luồng. Chắc chắn, ví dụ, nhiều bộ xử lý không giúp ích gì cho TeX.

Đối với một số ứng dụng, việc tận dụng nhiều lõi rất dễ dàng. Nhưng một số ứng dụng khác sẽ không bao giờ được hưởng lợi từ chúng, trong khi những ứng dụng khác có thể có lợi nếu các nhà phát triển tối ưu hóa chúng (điều này rất khó).


4
Nói chung, tôi đồng ý rằng đa lõi sẽ không giúp chính TeX. Nhưng nó sẽ là một chiến thắng lớn cho một trình soạn thảo TeX đồ họa, liên tục gọi TeX để cập nhật màn hình khi tài liệu đang được chỉnh sửa.
KeithB

3
Đây là một trong những nơi trái tim tôi dành cho Knuth, nhưng tâm trí tôi không hoàn toàn đồng ý.
nik

5

Đối với máy tính để bàn chính của tôi tại nhà tuyển dụng, tôi sử dụng máy Xeon lõi tứ kép với 8 GB RAM.

Khi tôi đang lập trình và tôi có Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (hoặc 2010) và một phiên bản Sql Server Express cục bộ ... mọi thứ đều ổn.

So sánh, tôi đã có lõi kép trước đó và mọi thứ sẽ bắt đầu thu thập dữ liệu chỉ với Visual Studio, Chrome và Sql Express đang chạy.

Đó là vấn đề của những gì bạn làm với máy. Nếu bạn là người sử dụng năng lượng sẽ chỉnh sửa video, lập mô hình 3 chiều hoặc lập trình với các tài nguyên quan trọng .. thì có, bạn sẽ muốn có lõi tứ và rất nhiều RAM.


1

Đối với việc sử dụng hàng ngày và các chương trình không được tối ưu hóa đa lõi, lõi kép nhanh sẽ đánh bại lõi tứ chậm hơn.

Khi thời gian trôi qua và các ứng dụng đa luồng đúng cách sẽ trở thành lõi tứ thông thường sẽ vượt lên phía trước.

Từ một tiếng nổ cho quan điểm buck của bạn, lõi kép vẫn có một đầu dẫn thoải mái.


1

Nó phụ thuộc. Nếu bạn đang làm những việc sẽ sử dụng mọi lõi 4 lõi thì tốt hơn (chỉnh sửa video, kết xuất, v.v.). Hầu hết mọi người sẽ tìm thấy hai lõi nhanh hơn vào lúc này vì không có nhiều ứng dụng được viết để sử dụng đầy đủ 4 lõi


1

Lưu ý rằng bộ xử lý i7 mới nhất thực sự có thể tăng tốc độ xung nhịp trên các lõi hoạt động khi không cần tất cả chúng; ví dụ: nếu bạn có lõi tứ tốc độ 2,4 GHz, nhưng phần mềm chỉ cần 2 lõi để chạy, thì nó có thể tự động được xung nhịp lên tới 2,8 GHz (không phải là một con số thực tế, chỉ là một ví dụ).

Và thế hệ mới nhất của i7 tôi nghĩ có thể tăng thêm 3 hoặc 4 thùng nếu chỉ cần một hoặc hai lõi. Như vậy, nó có thể không phải là một sự đánh đổi nhiều như hiện tại là ...


1

Theo Anandtech.com :

Tất cả sôi sục xuống TDP của chip, hoặc Điểm thiết kế nhiệt của nó. Nền tảng càng hạn chế TDP, bạn càng có cơ hội đạt được từ chế độ Turbo của Intel. Hãy để tôi đặt nó theo một cách khác; để phù hợp với bốn lõi vào TDP 130W, mỗi lõi phải chạy ở tốc độ xung nhịp thấp hơn so với việc chúng ta chỉ có một lõi ở cùng một TDP đó.

Ở các TDP cao hơn, thường có khoảng không nhiệt đủ để chạy các lõi riêng lẻ khá cao. Ở các TDP thấp hơn, các nhà sản xuất CPU phải đánh đổi giữa số lượng lõi và tốc độ xung nhịp của chúng - đó là nơi chúng ta có thể vui vẻ.

Đây là tất cả trong bối cảnh phải lựa chọn giữa lõi (hoặc luồng) và tần số lõi.


Điều này sẽ phù hợp hơn cho một lợi ích ép xung? Bài viết tốt nào.
nik

0

Trong trường hợp của bạn, lõi tứ sẽ tốt hơn. Hãy nhớ rằng, càng có nhiều lõi bạn có thể xử lý song song nhiều hơn. Vì vậy, trên lõi kép của bạn, bạn có thể chạy một ứng dụng nhanh hơn so với quad, nhưng quad có thể chạy 4 ứng dụng nhanh hơn so với khả năng kép của bạn. Ngoài ra, nếu một ứng dụng được viết để xử lý song song (đa luồng), thì ứng dụng sẽ chạy tốt hơn trên kiến ​​trúc đa lõi.

Tuy nhiên, điều này hoàn toàn tương đối, vì một lõi tứ chạy ở tốc độ 100 Mhz sẽ không thực hiện được 4 Ghz lõi kép. Nói chung, mặc dù, càng nhiều lõi càng tốt.


Bạn đang giả định rằng một ứng dụng có thể hoạt động trên hai lõi cũng sẽ có thể tận dụng bốn lõi. Điều đó không phải lúc nào cũng đúng.
nik

@nik Không, tôi không nói rằng một ứng dụng đa luồng sẽ hoạt động tốt hơn trên kiến ​​trúc đa lõi. Tôi không chỉ ra bất cứ điều gì về mức tăng theo tỷ lệ so với số lượng lõi bạn có.
Joseph

0

Phụ thuộc vào những gì bạn đang làm và khả năng của hệ điều hành và ứng dụng của bạn.

Nếu bạn có một hệ điều hành nhẹ và chạy một ứng dụng giới hạn CPU mà chỉ có thể sử dụng một bộ xử lý thì hai bộ xử lý ở tốc độ cao hơn sẽ là lựa chọn tốt hơn.

Mặt khác, nếu HĐH có thể lên lịch tất cả các lõi một cách hiệu quả và bạn đang chạy nhiều ứng dụng hoặc ứng dụng có thể sử dụng nhiều hơn một bộ xử lý thì lõi tứ chậm hơn thì người ta sẽ mong đợi hiệu năng tốt hơn để tiêu thụ điện năng thấp hơn và do đó ít tỏa nhiệt hơn.


0

Nếu bạn đang thực hiện nhiều mã hóa video, kết xuất 3d hoặc xây dựng mã nguồn phân tán thì càng nhiều lõi càng tốt. Bạn sẽ thấy sự khác biệt rõ rệt về hiệu suất đối với các loại ứng dụng này khi bạn di chuyển từ 1 đến 2 đến 4 đến 8 lõi.

Nếu không, chạy các ứng dụng tiêu chuẩn thực sự sẽ không được hưởng lợi từ nhiều lõi hơn. Ngay cả các trò chơi thực sự sẽ không khai thác nhiều lõi nhiều như vậy. IMO, bạn nên chi tiền cho một card đồ họa tốt hơn.


0

Phụ thuộc.

Rất nhiều như vậy.

Bạn có thể dễ dàng tìm thấy một lõi tứ chỉ bằng hai lõi. Điều này một phần phải làm với HĐH và với thiết kế của phần mềm. Hơn nữa, họ vẫn chia sẻ mọi thứ khác, đặc biệt là bộ nhớ, đĩa và thiết bị.

Bạn biết rằng hệ điều hành sẽ không khởi động (đáng chú ý) nhanh hơn và các trang web sẽ không tải xuống nhanh hơn (mặc dù chúng có thể rút nhanh hơn).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.