Tại sao bộ xử lý đa lõi?


16

Tại sao chip chứa ngày càng nhiều lõi? Tại sao không sản xuất một bộ xử lý lõi đơn lớn hơn? Có dễ sản xuất hơn không? Có phải nó cho phép các chương trình đa luồng sử dụng các lõi riêng biệt?


Lý do chủ yếu là tiếp thị. Hầu hết người dùng sẽ không được hưởng lợi từ đa lõi, nhưng nó được thổi phồng tốt hơn nhiều. Nó chủ yếu có ý nghĩa cho các máy chủ hoặc người sử dụng điện.
harrymc

Chắc chắn là có sự cường điệu, nhưng cũng có lợi ích. Hầu hết người dùng ngày nay có thể được hưởng lợi từ lõi mulit (nghĩa là lõi kép) vì hầu hết đang sử dụng HĐH có nhiều luồng thực thi. Nhưng đối với những người vẫn sử dụng Windows 95 hoặc sớm hơn thì tôi đồng ý rằng đa lõi có lẽ là một sự lãng phí hoàn toàn thời gian.
phi lý John

tại harrymc: "Lý do chủ yếu là tiếp thị. Hầu hết người dùng sẽ không được hưởng lợi từ đa lõi, nhưng nó được thổi phồng tốt hơn nhiều. Điều đó chủ yếu có ý nghĩa đối với máy chủ hoặc người dùng điện." --- Những người bán dầu rắn tham lam đó ...
Daniel

Câu trả lời:


25

Xu hướng hướng tới nhiều lõi là một phương pháp kỹ thuật giúp các nhà thiết kế CPU tránh được vấn đề tiêu thụ năng lượng đi kèm với việc tăng tần số ngày càng tăng. Khi tốc độ CPU tăng lên trong phạm vi 3-4 Ghz, lượng điện năng cần thiết để đi nhanh hơn bắt đầu trở nên cấm đoán. Lý do kỹ thuật cho việc này rất phức tạp nhưng các yếu tố như tổn thất nhiệt và dòng rò (năng lượng chỉ đơn giản truyền qua mạch mà không làm gì hữu ích) đều tăng nhanh hơn khi tần số tăng. Mặc dù chắc chắn có thể xây dựng CPU x86 có mục đích chung 6 GHz, nhưng nó không được chứng minh là kinh tế để làm việc đó một cách hiệu quả. Đó là lý do tại sao việc chuyển sang đa lõi bắt đầu và đó là lý do tại sao chúng ta sẽ thấy xu hướng đó tiếp tục ít nhất cho đến khi các vấn đề song song trở nên không thể vượt qua.

Như một ví dụ thực tế, E5640 Xeon (4 lõi @ 2,66 GHz) có công suất 95 watt trong khi L5630 (4 lõi @ 2,13 GHz) chỉ cần 40 watt. Đó là năng lượng điện nhiều hơn 137% cho năng lượng CPU nhiều hơn 24% cho CPU, tương thích với hầu hết các tính năng của bộ phận. X5677 đẩy tốc độ lên tới 3,46 GHz với một số tính năng khác nhưng công suất xử lý chỉ tăng thêm 60% cho công suất điện cao hơn 225%.

Bây giờ hãy so sánh X5560 (2,8 GHz, 4 lõi, 95 watt) với X5660 mới hơn (2,8 GHz, 6 lõi, 95 watt) và có thêm 50% năng lượng tính toán trong ổ cắm (có khả năng, giả sử rằng luật của Amdahl đối với chúng tôi bây giờ) mà không cần bất kỳ năng lượng điện bổ sung. CPU 6100 series của AMD có mức tăng hiệu suất tương tự so với dòng 2400 \ 8400 trong khi vẫn giữ mức tiêu thụ điện năng ổn định.

Đối với các tác vụ đơn luồng thì đây là một vấn đề nhưng nếu yêu cầu của bạn là cung cấp một lượng lớn năng lượng CPU tổng hợp cho cụm xử lý phân tán hoặc cụm ảo hóa thì đây là một cách tiếp cận hợp lý. Điều này có nghĩa là đối với hầu hết các môi trường máy chủ hiện nay, việc nhân rộng số lượng lõi trong mỗi CPU là một cách tiếp cận tốt hơn nhiều so với việc cố gắng xây dựng CPU lõi đơn tốt hơn nhanh hơn.

Xu hướng sẽ tiếp tục trong một thời gian nhưng có những thách thức và liên tục nhân rộng số lượng lõi là không dễ dàng (giữ băng thông bộ nhớ đủ cao và việc quản lý bộ nhớ cache trở nên khó khăn hơn khi số lượng lõi tăng lên). Điều đó có nghĩa là sự tăng trưởng khá bùng nổ hiện tại về số lượng lõi trên mỗi ổ cắm sẽ phải chậm lại trong một vài thế hệ và chúng ta sẽ thấy một số cách tiếp cận khác.


3
Tôi không thể nói cho bạn biết đã bao nhiêu lần tôi cố gắng giải thích điều này với những người vẫn nghĩ rằng CPU 3,6 GHz từ 5 năm trước nhanh hơn CPU 2,8 GHz với công nghệ mới nhất. Thật đáng giận. Tôi ghét huyền thoại megahertz.
churnd

Có phải cũng có giới hạn vật lý do tốc độ ánh sáng cho tín hiệu điện không?
mouche

1
@churnd - Nhưng hãy tính đến việc họ đúng theo cách nào đó. Vì chúng ta không được trộn lẫn tốc độ với sức mạnh (3,6 Ghz chắc chắn là nhanh hơn 2,8 Ghz; những gì nó không mạnh hơn). Nó có thể tạo ra một sự khác biệt đáng kể cho các lập trình viên, những người cần tốc độ nhanh hơn nhưng vẫn chưa thành thạo với các kỹ thuật lập trình / xử lý song song.
Rook

3
@ldigas Những lập trình viên quan tâm đến tốc độ thực hiện lệnh đơn lõi, không phải tốc độ xung nhịp lõi. CPU hiện đại có tốc độ thực thi lệnh đơn lõi cao hơn nhiều, ngay cả khi tốc độ xung nhịp thấp hơn.
David Schwartz

5

Nó đã trở nên quá khó để làm cho chúng nhanh hơn một cách hữu ích.

Vấn đề là, bạn cần phải làm việc với một loạt các hướng dẫn cùng một lúc, cpu x86 hiện tại có 80 hoặc nhiều hướng dẫn đang được thực hiện cùng một lúc và dường như đó là giới hạn, vì nó bị tấn công với P4, heck , Pentium Pro đã thực hiện 40 vào năm 1995. Các luồng hướng dẫn điển hình không thể dự đoán được ngoài điều đó (bạn phải đoán các nhánh, truy cập bộ nhớ, v.v.) để thực hiện nhiều hơn một vài hướng dẫn cùng một lúc (486 đã làm 5, Pentium thực hiện 10, hầu như không) .

Vì vậy, trong khi bạn có thể làm cho chúng rộng hơn (nhiều đơn vị chức năng hơn để thực hiện từng phần của hướng dẫn), dài hơn (đường ống sâu hơn để che giấu độ trễ), có vẻ như nó không làm được gì nhiều. Và chúng tôi dường như đã va vào một bức tường với tốc độ đồng hồ là tốt. Và chúng tôi vẫn còn bộ nhớ vượt trội. Vì vậy, chia thành nhiều cpu dường như là một chiến thắng. Thêm vào đó, họ có thể chia sẻ bộ nhớ cache.

Có nhiều hơn một chút về điều này, nhưng nó giúp các chương trình thông thường không thể chạy nhanh hơn đáng kể trên bất kỳ phần cứng nào chúng ta có thể tưởng tượng cách thiết kế và xây dựng.

Bây giờ nếu khả năng dự đoán không phải là vấn đề, ví dụ, nhiều vấn đề khoa học và đồ họa (chúng thường sôi sục để nhân bộ số này với bộ số đó), thì đây không phải là vấn đề, và do đó, sự phổ biến của IA64 của Intel ( Itanium) và GPU, cứ tiếp tục nhanh hơn, nhưng chúng sẽ không giúp bạn chạy Word tốt hơn nữa.


4

Sức mạnh tính toán và tần số xung nhịp của một bộ xử lý đã đạt đến đỉnh cao vài năm trước, thật không dễ để tạo ra các bộ xử lý mạnh hơn và / hoặc nhanh hơn các bộ xử lý hiện tại; Vì vậy, các nhà sản xuất CPU lớn (Intel, AMD) đã chuyển chiến lược và đi đa lõi. Tất nhiên, điều này đòi hỏi nhiều công sức hơn từ các nhà phát triển ứng dụng để khai thác toàn bộ sức mạnh của đa tác vụ: một chương trình chạy trên một tác vụ duy nhất không nhận được bất kỳ lợi ích nào từ CPU đa lõi (mặc dù hệ thống có một phần thưởng tổng thể vì nó không khóa nếu một quy trình đơn lẻ sử dụng một CPU để sử dụng 100%).

Về kiến ​​trúc vật lý (bộ xử lý đa lõi thay vì nhiều lõi đơn) ... bạn nên hỏi Intel. Nhưng tôi khá chắc chắn rằng điều này có liên quan đến bo mạch chủ với một ổ cắm CPU đơn giản hơn rất nhiều để thiết kế và sản xuất so với các bo mạch có nhiều cái.


2
Ngoài ra, tôi mong đợi, chúng ta sẽ được nghe nhiều về luật của Amdahl hơn luật của Moore.
Evan Anderson

1

Để tăng tốc độ xung nhịp, các bóng bán dẫn silicon trên chip cần có khả năng chuyển đổi nhanh hơn. Những tốc độ cao hơn này đòi hỏi điện áp đầu vào và quy trình sản xuất chất bán dẫn cao hơn dẫn đến rò rỉ lớn hơn , cả hai đều làm tăng mức tiêu thụ điện năng và sản lượng nhiệt. Cuối cùng, bạn đạt đến một điểm mà bạn không thể tăng tốc độ xung nhịp thêm nữa mà không cần quá nhiều năng lượng hoặc sử dụng các giải pháp làm mát kỳ lạ.

Để minh họa vấn đề này, tôi sẽ so sánh hai bộ xử lý AMD hiện đại. AMD FX-9590 có khả năng đạt tốc độ xung nhịp lên đến 5 GHz, nhưng hoạt động ở mức điện áp lõi lên tới 1.912 V, rất cao đối với chip 32nm và tản nhiệt 220 watt điên cuồng . FX-8350, dựa trên cùng một khuôn, chạy ở mức tối đa 4.2 GHz nhưng hoạt động ở mức tối đa 1,4 V và tiêu tan 125 watt.

Do đó, thay vì cố gắng tăng xung nhịp hơn nữa, các kỹ sư đã tìm cách làm cho chip hoạt động nhanh hơn bằng nhiều cách khác, bao gồm thiết kế chúng để chạy nhiều tiến trình đồng thời, do đó, bộ xử lý đa lõi.


0

Định luật Moore . Về cơ bản, bộ xử lý không thể được tạo ra nhanh hơn nữa (tần số đạt 3 GHz 5 năm trước và không bao giờ vượt quá mức đó), vì vậy chúng được tạo ra mạnh mẽ hơn bằng cách có được nhiều lõi hơn.


Luật của IMHO Moore là một mô tả nhiều hơn là một dự đoán ... chắc chắn rằng nó được giữ, và nó vẫn còn, nhưng không có gì đảm bảo nó sẽ không phá vỡ vào ngày mai. Bạn không thể đến gặp một kỹ sư và nói với anh ta "bạn sẽ có thể làm điều này bởi vì luật của moore nói rằng nó có thể được thực hiện" khi vật lý sẽ không cho phép điều đó nữa.
vlad-ardelean
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.