CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

Bây giờ chúng ta đã biết cách bộ xử lý hoạt động ở mức cao, đã đến lúc tìm hiểu sâu bên trong để hiểu cách các thành phần bên trong được thiết kế. Bài viết này là phần thứ hai trong loạt bài về thiết kế bộ xử lý của chúng tôi. Nếu bạn chưa đọc phần một, bạn nên xem qua phần đó trước, nếu không một số khái niệm ở đây sẽ không có ý nghĩa.

Như bạn có thể đã biết, bộ vi xử lý và hầu hết các công nghệ kỹ thuật số khác đều được làm bằng bóng bán dẫn. Cách đơn giản nhất để nghĩ về một bóng bán dẫn là một công tắc có thể điều khiển được với ba chân. Khi cổng được bật, điện được phép chạy qua bóng bán dẫn. Khi cổng tắt, dòng điện không thể chạy. Giống như công tắc đèn trên tường của bạn, nhưng nhỏ hơn nhiều, nhanh hơn nhiều và có thể điều khiển bằng điện.

Có hai loại bóng bán dẫn chính được sử dụng trong bộ xử lý hiện đại: pMOS và nMOS. Một bóng bán dẫn nMOS cho phép dòng điện chạy qua khi cổng được sạc hoặc đặt ở mức cao và một bóng bán dẫn pMOS cho phép dòng điện chạy qua khi cổng được xả hoặc đặt ở mức thấp. Bằng cách kết hợp các loại bóng bán dẫn này theo cách bổ sung, chúng ta có thể tạo ra các cổng logic CMOS. Chúng ta sẽ không đi sâu vào các chi tiết cơ bản về cách hoạt động của các bóng bán dẫn trong bài viết này, nhưng chúng ta sẽ đề cập đến nó trong Phần 3 của loạt bài.

Cổng logic là một thiết bị đơn giản nhận đầu vào, thực hiện một số thao tác và đưa ra kết quả. Ví dụ: một cổng AND sẽ bật đầu ra của nó khi và chỉ khi tất cả các đầu vào của cổng đều được bật. Biến tần hoặc cổng NOT sẽ bật đầu ra nếu đầu vào tắt. Chúng ta có thể kết hợp cả hai thứ này để tạo ra một cổng NAND hoặc không-và sẽ bật đầu ra của nó khi và chỉ khi không có đầu vào nào được bật. Có các cổng khác với chức năng logic khác nhau như OR, NOR, XOR và XNOR.

Dưới đây chúng ta có thể thấy cách hai cổng cơ bản được thiết kế từ bóng bán dẫn: biến tần và cổng NAND. Trong biến tần, có một bóng bán dẫn pMOS ở phía trên được nối với đường dây điện và một bóng bán dẫn nMOS ở phía dưới được nối với đất. Các bóng bán dẫn pMOST được vẽ bằng một vòng tròn nhỏ kết nối với cổng của chúng. Vì chúng ta đã nói rằng các thiết bị pMOS hoạt động khi đầu vào tắt và thiết bị nMOS hoạt động khi đầu vào được bật, dễ dàng nhận thấy rằng tín hiệu ở Out sẽ luôn ngược với tín hiệu ở In. Nhìn vào cổng NAND, chúng ta thấy rằng nó cần bốn bóng bán dẫn và đầu ra sẽ được bật miễn là ít nhất một trong số các đầu vào bị tắt. Việc kết nối các bóng bán dẫn để tạo thành các mạng đơn giản như thế này là quy trình tương tự được sử dụng để thiết kế các cổng logic cao cấp hơn và các mạch khác bên trong bộ xử lý.

Đọc thêm:  Mới nhất trong Notebook: Nửa đầu năm 2011

svg+xml,%3Csvg%20xmlns= CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

Với các khối xây dựng đơn giản như cổng logic, có thể khó thấy chúng được chuyển đổi thành một máy tính hoạt động như thế nào. Quá trình thiết kế này liên quan đến việc kết hợp một số cổng để tạo ra một thiết bị nhỏ có thể thực hiện một chức năng đơn giản. Sau đó, bạn có thể kết nối nhiều thiết bị này để tạo thành một thứ thực hiện chức năng nâng cao hơn một chút. Quá trình kết hợp các thành phần riêng lẻ để tạo ra một thiết kế hoạt động chính xác là những gì được sử dụng ngày nay để tạo ra các con chip hiện đại. Sự khác biệt duy nhất là một con chip hiện đại có hàng tỷ bóng bán dẫn.

Để có một ví dụ nhanh, chúng ta sẽ xem xét một bộ cộng đầy đủ 1 bit cơ bản. Nó nhận ba đầu vào – A, B và Thực hiện và tạo ra hai đầu ra – Tổng và Thực hiện. Thiết kế cơ bản sử dụng năm cổng logic và chúng có thể được liên kết với nhau để tạo bất kỳ bộ cộng kích thước nào bạn muốn. Các thiết kế hiện đại cải thiện điều này bằng cách tối ưu hóa một số logic và tín hiệu mang, nhưng các nguyên tắc cơ bản vẫn giống nhau.

Đầu ra Sum bật nếu A hoặc B bật nhưng không bật cả hai hoặc nếu có tín hiệu truyền vào và cả A và B đều bật hoặc cả hai đều tắt. Việc thực hiện phức tạp hơn một chút. Nó hoạt động khi cả A và B đều được bật cùng lúc hoặc nếu có một thiết bị chuyển tiếp và một trong A hoặc B đang bật. Để kết nối nhiều bộ cộng 1 bit để tạo thành một bộ cộng rộng hơn, chúng ta chỉ cần kết nối phần mang ra của bit trước đó với phần mang vào của bit hiện tại. Mạch càng phức tạp thì logic càng lộn xộn, nhưng đây là cách đơn giản nhất để cộng hai số. Các bộ xử lý hiện đại sử dụng các bộ cộng phức tạp hơn, nhưng những thiết kế đó quá phức tạp để có một cái nhìn tổng quan như thế này. Ngoài bộ cộng, bộ xử lý còn chứa các đơn vị cho phép chia, phép nhân và phiên bản dấu phảy động của tất cả các hoạt động này.

Đọc thêm:  10 bản hack hàng đầu cho Microsoft Word

svg+xml,%3Csvg%20xmlns= CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

Kết hợp một loạt các cổng như thế này để thực hiện một số chức năng trên đầu vào được gọi là Logic kết hợp . Tuy nhiên, loại logic này không phải là thứ duy nhất được tìm thấy trong máy tính. Sẽ không hữu ích lắm nếu chúng ta không thể lưu trữ dữ liệu hoặc theo dõi trạng thái của bất kỳ thứ gì. Để làm điều này, chúng ta cần logic tuần tự có khả năng lưu trữ dữ liệu.

Logic tuần tự được xây dựng bằng cách kết nối cẩn thận các bộ biến tần và các cổng logic khác sao cho đầu ra của chúng phản hồi lại đầu vào của các cổng. Các vòng phản hồi này được sử dụng để lưu trữ một bit dữ liệu và được gọi là RAM tĩnh hoặc SRAM. Nó được gọi là RAM tĩnh, trái ngược với DRAM động, bởi vì dữ liệu được lưu trữ luôn được kết nối trực tiếp với điện áp dương hoặc mặt đất.

Một cách tiêu chuẩn để thực hiện một bit SRAM là với 6 bóng bán dẫn được hiển thị bên dưới. Tín hiệu trên cùng, được đánh dấu là WL cho Dòng từ , là địa chỉ và khi nó được bật, dữ liệu được lưu trữ trong ô 1 bit này được gửi đến Dòng bit , được đánh dấu là BL. Đầu ra BLB được gọi là Bit Line Bar, chỉ là giá trị đảo ngược của Bit Line. Bạn sẽ có thể nhận ra hai loại bóng bán dẫn và M3 và M1 tạo thành một biến tần cùng với M4 và M2.

svg+xml,%3Csvg%20xmlns= CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

SRAM là thứ được sử dụng để xây dựng bộ đệm và thanh ghi siêu nhanh bên trong bộ xử lý. Nó rất ổn định, nhưng cần từ sáu đến tám bóng bán dẫn để lưu trữ từng bit dữ liệu. Điều này làm cho việc sản xuất nó trở nên cực kỳ tốn kém về chi phí, độ phức tạp và diện tích chip so với DRAM. Mặt khác, RAM động lưu trữ dữ liệu trong một tụ điện nhỏ thay vì sử dụng các cổng logic. Nó được gọi là động vì điện áp của tụ điện có thể thay đổi linh hoạt vì nó không được kết nối với nguồn điện hoặc mặt đất. Chỉ có một bóng bán dẫn duy nhất được sử dụng để truy cập dữ liệu được lưu trữ trong tụ điện.

Đọc thêm:  Phân tích giá card đồ họa: Tháng 7 năm 2018

Bởi vì DRAM chỉ yêu cầu một bóng bán dẫn duy nhất trên mỗi bit và thiết kế rất có thể mở rộng, nên nó có thể được đóng gói với mật độ dày và rẻ. Một nhược điểm của DRAM là điện tích trong tụ điện quá nhỏ nên nó cần được làm mới liên tục. Đây là lý do tại sao khi bạn tắt máy tính, tất cả các tụ điện đều cạn kiệt và dữ liệu trong RAM của bạn sẽ bị mất.

svg+xml,%3Csvg%20xmlns= CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

Các công ty như Intel, AMD và Nvidia chắc chắn không phát hành sơ đồ về cách thức hoạt động của bộ xử lý của họ, vì vậy không thể hiển thị đầy đủ sơ đồ như thế này cho bộ xử lý hiện đại. Tuy nhiên, bộ cộng đơn giản này sẽ cho bạn ý tưởng hay về cách thậm chí những phần phức tạp nhất của bộ xử lý có thể được chia nhỏ thành các cổng logic, phần tử lưu trữ và sau đó là bóng bán dẫn.

Bây giờ chúng ta đã biết một số thành phần của bộ xử lý được cấu tạo như thế nào, chúng ta cần tìm ra cách kết nối mọi thứ và đồng bộ hóa nó. Tất cả các thành phần chính trong bộ xử lý được kết nối với tín hiệu đồng hồ . Điều này luân phiên giữa cao và thấp tại một khoảng thời gian được xác định trước được gọi là tần số . Logic bên trong bộ xử lý thường chuyển đổi các giá trị và thực hiện các phép tính khi đồng hồ đi từ thấp lên cao. Bằng cách đồng bộ hóa mọi thứ với nhau, chúng tôi có thể đảm bảo rằng dữ liệu luôn đến đúng thời điểm để không có bất kỳ trục trặc nào trong bộ xử lý.

Bạn có thể đã nghe nói rằng bạn có thể tăng xung nhịp cho bộ xử lý, được gọi là ép xung, để tăng hiệu suất của nó. Mức tăng hiệu suất này đến từ việc chuyển đổi các bóng bán dẫn và logic bên trong bộ xử lý nhanh hơn mức được thiết kế. Vì có nhiều chu kỳ hơn trong mỗi giây nên có thể hoàn thành nhiều công việc hơn và bộ xử lý sẽ có hiệu suất cao hơn. Điều này đúng đến một điểm nhất định mặc dù. Các bộ vi xử lý hiện đại thường chạy trong khoảng 3,0 GHz đến 4,5 GHz và điều đó dường như không thay đổi trong thập kỷ qua. Giống như một sợi xích kim loại chỉ bền bằng mắt xích yếu nhất, một bộ xử lý chỉ có thể chạy nhanh bằng phần chậm nhất. Vào cuối mỗi chu kỳ xung nhịp, mọi thành phần đơn lẻ trong bộ xử lý cần phải hoàn thành hoạt động của nó. Nếu bất kỳ phần nào chưa được thực hiện, đồng hồ quá nhanh và bộ xử lý sẽ không hoạt động. Các nhà thiết kế gọi phần chậm nhất này là Đường tới hạn và nó là phần đặt tần số tối đa mà bộ xử lý có thể chạy. Trên một tần số nhất định, các bóng bán dẫn đơn giản là không thể chuyển đổi đủ nhanh và sẽ bắt đầu trục trặc hoặc tạo ra đầu ra không chính xác.

Đọc thêm:  Tiện ích thông tin và tối ưu hóa Wi-Fi hàng đầu

Bằng cách tăng điện áp cung cấp cho bộ xử lý, chúng ta có thể tăng tốc độ chuyển đổi của bóng bán dẫn, nhưng điều đó cũng chỉ hoạt động đến một điểm nhất định. Nếu chúng ta áp dụng quá nhiều điện áp, chúng ta có nguy cơ làm cháy bộ xử lý. Khi chúng ta tăng tần số hoặc điện áp của bộ xử lý, nó sẽ luôn tạo ra nhiều nhiệt hơn và tiêu thụ nhiều điện năng hơn. Điều này là do sức mạnh của bộ xử lý tỷ lệ thuận với tần số và tỷ lệ thuận với bình phương điện áp. Để xác định mức tiêu thụ năng lượng của bộ xử lý, chúng ta thường coi mỗi bóng bán dẫn là một tụ điện nhỏ phải được sạc hoặc xả bất cứ khi nào nó thay đổi giá trị.

Cấp nguồn là một phần quan trọng của bộ xử lý đến nỗi trong một số trường hợp, một nửa số chân vật lý trên chip có thể chỉ dành cho cấp nguồn hoặc nối đất. Một số chip có thể kéo hơn 150 ampe khi đầy tải và tất cả dòng điện đó phải được quản lý cực kỳ cẩn thận. Để hiểu rõ lượng điện năng này, CPU tạo ra nhiều nhiệt trên một đơn vị diện tích hơn so với lò phản ứng hạt nhân.

Đồng hồ trong bộ xử lý hiện đại chiếm khoảng 30-40% tổng năng lượng của nó vì nó quá phức tạp và phải điều khiển rất nhiều thiết bị khác nhau. Để tiết kiệm năng lượng, hầu hết các thiết kế công suất thấp hơn sẽ tắt các phần của chip khi chúng không được sử dụng. Điều này có thể được thực hiện bằng cách tắt đồng hồ, được gọi là Clock Gating hoặc tắt nguồn, được gọi là Power Gating.

Đọc thêm:  Các tính năng Android hữu ích hoặc ít được biết đến

Đồng hồ đưa ra một thách thức khác đối với việc thiết kế bộ xử lý vì khi tần số của chúng tiếp tục tăng, các định luật vật lý bắt đầu cản trở. Mặc dù tốc độ ánh sáng cực kỳ nhanh, nhưng nó không đủ nhanh cho các bộ xử lý hiệu năng cao. Nếu bạn kết nối đồng hồ với một đầu của chip, vào thời điểm tín hiệu đến đầu kia, nó sẽ không đồng bộ một lượng đáng kể. Để giữ tất cả các phần của chip trong thời gian, đồng hồ được phân phối bằng cách sử dụng cái được gọi là H-Tree. Đây là một cấu trúc đảm bảo tất cả các điểm cuối đều có cùng khoảng cách với trung tâm.

svg+xml,%3Csvg%20xmlns= CPU được thiết kế và xây dựng như thế nào, Phần 2: Quy trình thiết kế CPU

Việc thiết kế từng bóng bán dẫn, tín hiệu đồng hồ và kết nối nguồn trong một con chip có vẻ cực kỳ tẻ nhạt và phức tạp, và điều đó chắc chắn sẽ đúng. Mặc dù các công ty như Intel, Qualcomm và AMD có hàng nghìn kỹ sư, nhưng họ không thể thiết kế thủ công mọi khía cạnh của chip. Để tập hợp các con chip ở quy mô như vậy, họ sử dụng nhiều công cụ tiên tiến khác nhau để tạo ra các thiết kế và sơ đồ cho chúng. Các công cụ này thường sẽ đưa ra mô tả cấp cao về những gì thành phần nên làm và xác định cấu hình phần cứng tối ưu để đáp ứng các yêu cầu đó. Gần đây đã có một xu hướng hướng tới một kỹ thuật gọi là Tổng hợp mức cao cho phép các nhà phát triển chỉ định chức năng họ muốn trong mã, sau đó yêu cầu máy tính tìm ra cách đạt được chức năng đó một cách tối ưu trong phần cứng.

Giống như bạn có thể xác định các chương trình máy tính thông qua mã, các nhà thiết kế cũng có thể xác định phần cứng thông qua mã. Các ngôn ngữ như Verilog và VHDL cho phép các nhà thiết kế phần cứng thể hiện chức năng của bất kỳ mạch nào họ đang tạo. Mô phỏng và xác minh được thực hiện trên các thiết kế này và nếu mọi thứ vượt qua, chúng có thể được tổng hợp thành các bóng bán dẫn cụ thể sẽ tạo nên mạch. Mặc dù việc xác minh có vẻ không hào nhoáng bằng việc thiết kế bộ đệm hoặc lõi mới, nhưng điều đó quan trọng hơn nhiều. Đối với mỗi kỹ sư thiết kế mà một công ty tuyển dụng, có thể có năm kỹ sư xác minh trở lên.

Đọc thêm:  Radeon VII & GeForce RTX 2080 sử dụng Ryzen 7 2700X & Core i7-8700K

Việc xác minh một thiết kế mới thường tốn nhiều thời gian và tiền bạc hơn so với việc tự xây dựng con chip thực tế. Các công ty dành rất nhiều thời gian và tiền bạc cho việc xác minh bởi vì một khi con chip được đưa vào sản xuất, sẽ không có cách nào để sửa chữa nó. Với phần mềm, bạn chỉ có thể đưa ra một bản vá, nhưng phần cứng thì không hoạt động theo cách đó. Ví dụ, Intel có một lỗi trong đơn vị phân chia dấu phẩy động của một số chip Pentium và nó đã khiến họ phải trả giá tương đương 2 tỷ đô la ngày nay.

Có thể khó hiểu được làm thế nào một con chip có thể có vài tỷ bóng bán dẫn và tất cả chúng làm gì. Khi bạn chia nhỏ con chip thành các thành phần bên trong riêng lẻ, nó sẽ dễ dàng hơn một chút. Các bóng bán dẫn tạo ra các cổng logic, các cổng logic được kết hợp thành các đơn vị chức năng thực hiện một nhiệm vụ cụ thể và các đơn vị chức năng này được kết nối với nhau để tạo thành kiến trúc máy tính mà chúng ta đã đề cập trong Phần 1.

Phần lớn công việc thiết kế được tự động hóa, nhưng điều này sẽ giúp bạn đánh giá cao mức độ phức tạp của CPU mới mà bạn mua.

Phần thứ hai này đề cập đến quá trình thiết kế CPU. Chúng tôi đã nói về bóng bán dẫn, cổng logic, phân phối nguồn và đồng hồ, tổng hợp thiết kế và xác minh. Trong Phần 3, chúng ta sẽ xem những gì cần thiết để chế tạo một con chip. Mỗi công ty đều thích khoe khoang về mức độ tiên tiến của quy trình chế tạo của họ (Intel 10nm, Apple và AMD 7nm, v.v.), nhưng những con số đó thực sự có ý nghĩa gì? Đọc tiếp.

Tín dụng tiêu đề: Quá trình xử lý mã tương lai của bảng mạch của Kirill Savenko