Bộ xử lý trong hệ thống song song
Vào những năm 80, một bộ xử lý có mục đích đặc biệt rất phổ biến để tạo ra nhiều máy tính được gọi là Transputer. Một máy phát bao gồm một bộ xử lý lõi, một bộ nhớ SRAM nhỏ, một giao diện bộ nhớ chính DRAM và bốn kênh giao tiếp, tất cả đều nằm trên một con chip. Để thực hiện giao tiếp máy tính song song, các kênh được kết nối để tạo thành một mạng các Bộ truyền. Nhưng nó thiếu sức mạnh tính toán và do đó không thể đáp ứng nhu cầu ngày càng tăng của các ứng dụng song song. Vấn đề này đã được giải quyết bằng sự phát triển của bộ vi xử lý RISC và nó cũng rẻ.
Máy tính song song hiện đại sử dụng bộ vi xử lý sử dụng song song ở một số cấp độ như song song cấp lệnh và song song cấp dữ liệu.
Bộ xử lý hiệu suất cao
Bộ vi xử lý RISC và RISCy thống trị thị trường máy tính song song ngày nay.
Đặc điểm của RISC truyền thống là -
- Có ít chế độ địa chỉ.
- Có định dạng cố định cho các lệnh, thường là 32 hoặc 64 bit.
- Có hướng dẫn tải / lưu trữ chuyên dụng để tải dữ liệu từ bộ nhớ vào thanh ghi và lưu trữ dữ liệu từ thanh ghi vào bộ nhớ.
- Các phép toán số học luôn được thực hiện trên các thanh ghi.
- Sử dụng pipelining.
Hầu hết các bộ vi xử lý ngày nay là superscalar, tức là trong một máy tính song song nhiều đường dẫn lệnh được sử dụng. Do đó, bộ xử lý siêu phương có thể thực hiện nhiều hơn một lệnh cùng một lúc. Hiệu quả của bộ xử lý siêu cực phụ thuộc vào lượng song song mức lệnh (ILP) có sẵn trong các ứng dụng. Để giữ cho các đường ống được lấp đầy, các lệnh ở cấp phần cứng được thực hiện theo một thứ tự khác với thứ tự chương trình.
Nhiều bộ vi xử lý hiện đại sử dụng cách tiếp cận siêu pipelining . Trong siêu đường ống , để tăng tần số xung nhịp, công việc được thực hiện trong một giai đoạn đường ống được giảm xuống và số lượng các giai đoạn đường ống được tăng lên.
Bộ xử lý từ hướng dẫn rất lớn (VLIW)
Chúng có nguồn gốc từ vi lập trình ngang và xử lý siêu quang. Các lệnh trong bộ xử lý VLIW rất lớn. Các hoạt động trong một lệnh đơn được thực hiện song song và được chuyển tiếp đến các đơn vị chức năng thích hợp để thực thi. Vì vậy, sau khi tìm nạp một lệnh VLIW, các hoạt động của nó sẽ được giải mã. Sau đó, các hoạt động được gửi đến các đơn vị chức năng mà chúng được thực hiện song song.
Bộ xử lý vector
Bộ xử lý vectơ là bộ đồng xử lý với bộ vi xử lý đa năng. Bộ xử lý vectơ thường là thanh ghi thanh ghi hoặc bộ nhớ-bộ nhớ. Một lệnh vectơ được tìm nạp và giải mã, sau đó một thao tác nhất định được thực hiện cho mỗi phần tử của vectơ toán hạng, trong khi trong bộ xử lý thông thường, thao tác vectơ cần có cấu trúc vòng lặp trong mã. Để làm cho nó hiệu quả hơn, bộ xử lý vectơ chuỗi một số phép toán vectơ với nhau, tức là, kết quả từ một phép toán vectơ được chuyển tiếp sang một phép toán khác dưới dạng toán hạng.
Bộ nhớ đệm
Bộ nhớ đệm là yếu tố quan trọng của bộ vi xử lý hiệu suất cao. Sau mỗi 18 tháng, tốc độ của bộ vi xử lý tăng gấp đôi, nhưng chip DRAM cho bộ nhớ chính không thể cạnh tranh với tốc độ này. Vì vậy, bộ nhớ đệm được giới thiệu để thu hẹp khoảng cách tốc độ giữa bộ xử lý và bộ nhớ. Bộ nhớ đệm là một bộ nhớ SRAM nhanh và nhỏ. Nhiều bộ đệm khác được áp dụng trong các bộ xử lý hiện đại như bộ đệm Dịch nhìn sang một bên (TLB), bộ nhớ đệm hướng dẫn và dữ liệu, v.v.
Bộ nhớ đệm được ánh xạ trực tiếp
Trong bộ nhớ đệm được ánh xạ trực tiếp, hàm 'modulo' được sử dụng để ánh xạ một - một các địa chỉ trong bộ nhớ chính đến các vị trí trong bộ đệm. Vì cùng một mục nhập bộ đệm có thể có nhiều khối bộ nhớ chính được ánh xạ tới nó, bộ xử lý phải có khả năng xác định xem khối dữ liệu trong bộ đệm có phải là khối dữ liệu thực sự cần thiết hay không. Việc nhận dạng này được thực hiện bằng cách lưu trữ một thẻ cùng với một khối bộ nhớ cache.
Bộ nhớ đệm hoàn toàn liên kết
Một ánh xạ liên kết đầy đủ cho phép đặt một khối bộ nhớ cache ở bất kỳ đâu trong bộ nhớ cache. Bằng cách sử dụng một số chính sách thay thế, bộ đệm sẽ xác định một mục nhập bộ đệm trong đó nó lưu trữ một khối bộ đệm. Bộ nhớ đệm hoàn toàn liên kết có ánh xạ linh hoạt, giúp giảm thiểu số lượng xung đột mục nhập bộ đệm. Vì việc triển khai liên kết đầy đủ là tốn kém, chúng không bao giờ được sử dụng trên quy mô lớn.
Bộ đệm ẩn liên kết đặt
Ánh xạ liên kết tập hợp là sự kết hợp của ánh xạ trực tiếp và ánh xạ liên kết đầy đủ. Trong trường hợp này, các mục trong bộ đệm được chia thành các bộ bộ đệm. Như trong ánh xạ trực tiếp, có một ánh xạ cố định của các khối bộ nhớ vào một tập hợp trong bộ đệm. Nhưng bên trong một tập hợp bộ đệm, một khối bộ nhớ được ánh xạ theo cách liên kết hoàn toàn.
Chiến lược bộ nhớ đệm
Ngoài cơ chế ánh xạ, bộ nhớ đệm cũng cần một loạt các chiến lược chỉ định điều gì sẽ xảy ra trong trường hợp các sự kiện nhất định. Trong trường hợp (set-) bộ đệm kết hợp, bộ đệm phải xác định khối bộ đệm nào sẽ được thay thế bằng một khối mới vào bộ đệm.
Một số chiến lược thay thế nổi tiếng là:
- Nhập trước xuất trước (FIFO)
- Ít được sử dụng gần đây (LRU)