Làm thế nào để tăng số lượng bóng bán dẫn trong một con chip làm tăng tốc độ của nó?


8

Là mục đích duy nhất của bóng bán dẫn trong CPU để hoạt động như các công tắc xác định tập lệnh của nó? Và nếu vậy thì tại sao việc tăng số lượng bóng bán dẫn lại tăng tốc độ của nó?


Câu hỏi này được trả lời chi tiết hơn tại câu hỏi Trao đổi ngăn xếp kỹ thuật điện này: Electronics.stackexchange.com/questions/5592/ ((Không rõ loại chi tiết đó có phù hợp ở đây không.)
Paul A. Clayton

Câu trả lời:


9

Off đỉnh đầu của tôi:

  • Bộ nhớ cache nhiều hơn , nhanh hơn RAM

  • Nhiều hướng dẫn SIMD , xử lý nhanh hơn hướng dẫn dữ liệu đơn

  • Nhiều lõi hơn , vì vậy bạn có thể làm hai hoặc nhiều việc cùng một lúc

  • Đơn vị nhiều chức năng, như tích hợp FPU s, và nhiều ALU s

  • Đường ống , vì vậy mỗi lõi có thể làm nhiều việc cùng một lúc

  • Logic xử lý tốt hơn, như logic dự đoán nhánh phức tạp hơn



2

Nếu bạn tò mò về loại điều này, tôi đánh giá cao cuốn sách Các yếu tố tính toán của Noam Nisan và Shimon Schocken (ít nhất là nửa đầu). Sau khi trải qua nó, bạn có thể trả lời câu hỏi của riêng bạn rất chi tiết với sự đánh giá đầy đủ về các phần liên quan.

Các trang web bạn đồng hành thực sự có một số chương mẫu và ghi chú. Đó là một cuốn sách rất dễ tiếp cận. Tôi đã tự mình trải qua nó mà không gặp vấn đề gì và sau đó học một lớp hoàn toàn mới tại trường đại học của tôi, sử dụng nó làm văn bản chính.


2

Câu trả lời đơn giản là nhiều bóng bán dẫn hơn không làm cho phần còn lại của chúng đi nhanh hơn , nhưng thay vì làm một việc trong một khoảng thời gian, giờ đây chúng ta có thể thực hiện hai (với một số hạn chế).


2

Ken đã tóm tắt một số lý do trong câu trả lời của mình . Để mở rộng hơn nữa

Rõ ràng bộ nhớ cache lớn hơn cần nhiều bóng bán dẫn hơn. Nhưng với nhiều bóng bán dẫn hơn, chúng tôi cũng có lựa chọn sử dụng bộ nhớ cache nhanh hơn . Bộ nhớ CPU chỉ là SRAM thường được tạo từ 6 bóng bán dẫn (AKA 6T SRAM). Tuy nhiên, khi có đủ các bóng bán dẫn, có thể đáng để sử dụng các tế bào SRAM nhanh hơn nhưng lớn hơn được tạo ra từ hơn 6 bóng bán dẫn (như SRAM 8T, 10T)

Không chỉ SIMD mà bất kỳ loại hướng dẫn tăng tốc. Ví dụ, các kiến ​​trúc hiện đại thường có một đơn vị AES để mã hóa / giải mã nhanh hơn, FMA để tính toán toán học tốt hơn (đặc biệt là xử lý tín hiệu số) hoặc ảo hóa cho các máy ảo nhanh hơn. Hỗ trợ nhiều hướng dẫn hơn có nghĩa là cần nhiều tài nguyên hơn để giải mã và thực thi chúng

  • Nhiều lõi hơn , vì vậy bạn có thể làm hai hoặc nhiều việc cùng một lúc
  • Đường ống , vì vậy mỗi lõi có thể làm nhiều việc cùng một lúc

Những điều này khá rõ ràng

  • Đơn vị nhiều chức năng, như tích hợp FPU s, và nhiều ALU s

Trước đây không có đủ diện tích chết cho FPU nên mọi người phải mua riêng nếu họ có yêu cầu cao về số học dấu phẩy động. Với nhiều bóng bán dẫn hơn đáng kể, có thể tích hợp sẵn FPU, tăng tốc toán học dấu phẩy động rất nhiều

Bên cạnh đó, CPU hiện đại là siêu khối và sẽ cố gắng thực hiện nhiều việc cùng một lúc bằng cách tìm các phần dữ liệu độc lập và tính toán chúng sớm hơn, mặc dù luồng lệnh là tuyến tính và nối tiếp. Càng nhiều thứ họ có thể làm song song thì họ sẽ càng nhanh. Để làm điều đó, CPU có thể có nhiều ALU và ALU có thể có nhiều đơn vị thực thi. Ví dụ, nếu CPU có 5 bộ bổ sung so với 4 ở thế hệ trước thì nó đã chạy nhanh hơn 25% trong tình huống lạc quan nhất mà không có bất kỳ thay đổi đồng hồ nào. Các CPU tinh vi hơn thậm chí sử dụng thực thi không theo thứ tự (đó là trường hợp của hầu hết các CPU hiệu suất cao hiện đại)

Hoạt động thường có thể được thực hiện theo nhiều cách khác nhau. Nếu bạn có nhiều bóng bán dẫn hơn, bạn sẽ có nhiều tài nguyên hơn để sử dụng một kỹ thuật nhanh hơn. Một số ví dụ đơn giản:

  • Dịch chuyển bit:

  • Thêm vào:

    • Một bộ cộng đơn giản cũng được tạo bằng cách kết nối các bộ cộng đầy đủ trong chuỗi. Bằng cách này, bộ cộng N-bit cần N đồng hồ để hoàn thành công việc của nó, đây chắc chắn không phải là điều mà mọi người mong đợi ở CPU Bộ cộng 4 bit
    • Với hơn transistor chúng ta có thể đẩy nhanh tiến độ việc bổ sung bằng tiền tính mang với carry-lookahead hoặc carry-tiết kiệm bộ cộng. Các bộ cộng đầy đủ vẫn được sử dụng, nhưng cần nhiều không gian hơn cho đơn vị tiền xử lý mang theo

Điều tương tự cũng áp dụng cho các đơn vị khác như số nhân, bộ chia, bộ lập lịch ... Ví dụ: chúng ta có thể thực hiện phép nhân cực nhanh trong một đồng hồ bằng cách sử dụng logic tổ hợp . Bạn có thể thấy một số ví dụ đơn giản trong câu hỏi bội số 3 bit - chúng hoạt động như thế nào? . Nhưng các bóng bán dẫn cần thiết sẽ phát triển theo bình phương chiều rộng đầu vào, do đó, các CPU nhỏ có số nhân sử dụng logic tuần tự thay vào đó để tiết kiệm nhiều không gian cho hệ số nhân:

Các kiến ​​trúc số nhân cũ hơn đã sử dụng bộ dịch và bộ tích lũy để tổng hợp từng sản phẩm một phần, thường là một sản phẩm một phần trên mỗi chu kỳ, giao dịch giảm tốc độ cho khu vực chết. Các kiến ​​trúc số nhân hiện đại sử dụng thuật toán BaughTHER Wooley, cây Wallace hoặc số nhân Dadda để thêm các sản phẩm một phần lại với nhau trong một chu kỳ. Hiệu suất của việc triển khai cây Wallace đôi khi được cải thiện bằng cách mã hóa Gian hàng được sửa đổi một trong hai bội số, giúp giảm số lượng sản phẩm một phần phải được tóm tắt

https://en.wikipedia.org/wiki/Binary_multiplier#Imcellenceations

Khi bạn có một kho bóng bán dẫn khổng lồ, bạn thậm chí có thể sử dụng logic tổ hợp để thực hiện một FMA tốn nhiều tài nguyên hơn nhiều so với số nhân

Các máy tính hiện đại có thể chứa MAC chuyên dụng, bao gồm một số nhân được triển khai theo logic tổ hợp, theo sau là một bộ cộng và một thanh ghi tích lũy lưu trữ kết quả. Đầu ra của thanh ghi được đưa trở lại một đầu vào của bộ cộng, sao cho trên mỗi chu kỳ xung nhịp, đầu ra của hệ số nhân được thêm vào thanh ghi. Hệ số nhân kết hợp yêu cầu số lượng logic lớn, nhưng có thể tính toán sản phẩm nhanh hơn nhiều so với phương pháp dịch chuyển và thêm điển hình của các máy tính trước đó.

Hoạt động tích lũy đa cấp


1

Việc tăng số lượng bóng bán dẫn thường được thực hiện bằng cách làm cho chúng nhỏ hơn, làm cho chúng gần nhau hơn, làm giảm thời gian truyền tín hiệu.

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.