You are on page 1of 7

12:

Hình 18.8 cho thấy bốn tổ chức chung cho các hệ thống đa lõi. Hình 18.8a là một tổ chức được tìm thấy
trong một số chip máy tính đa lõi trước đó và vẫn được nhìn thấy trong các chip nhúng. Trong tổ chức
này, bộ nhớ đệm trên chip duy nhất là bộ đệm L1, với mỗi lõi có bộ đệm L1 chuyên dụng riêng. Hầu như
luôn thay đổi, bộ nhớ đệm L1 được chia thành bộ nhớ đệm lệnh và bộ nhớ đệm dữ liệu. Một ví dụ về tổ
chức này là ARM11 MPCore.

Tổ chức của Hình 18.8b cũng là một tổ chức trong đó không có chia sẻ bộ nhớ cache trên chip. Trong đó,
có đủ diện tích có sẵn trên chip để cho phép bộ đệm L2. Một ví dụ về tổ chức này là AMD Opteron. Hình
18.8c cho thấy sự phân bổ tương tự không gian chip cho bộ nhớ, nhưng với việc sử dụng bộ đệm L2
dùng chung. Intel Core Duo có tổ chức này. Cuối cùng, khi dung lượng bộ nhớ đệm có sẵn trên chip tiếp
tục tăng lên, các cân nhắc về hiệu suất quyết định việc tách bộ nhớ đệm L3 riêng biệt, được chia sẻ, với
bộ nhớ đệm L1 và L2 dành riêng cho mỗi bộ xử lý lõi. Intel Core i7 là một ví dụ về tổ chức này. Một quyết
định thiết kế tổ chức khác trong một hệ thống đa lõi là liệu các lõi riêng lẻ sẽ là superscalar hay sẽ thực
hiện đa luồng đồng thời (SMT). Ví dụ: Intel Core Duo sử dụng lõi siêu địa phương, trong khi Intel Core i7
sử dụng lõi SMT. SMT có tác dụng mở rộng số luồng cấp phần cứng mà hệ thống đa lõi hỗ trợ. Do đó,
một hệ thống đa lõi với bốn lõi và SMT hỗ trợ bốn luồng đồng thời trong mỗi lõi sẽ giống nhau ở cấp ứng
dụng như một hệ thống đa lõi có 16 lõi. Khi phần mềm được phát triển để khai thác triệt để hơn các tài
nguyên song song, cách tiếp cận SMT dường như hấp dẫn hơn cách tiếp cận siêu phương.

13:

Intel Core Duo, được giới thiệu vào năm 2006, thực hiện hai bộ xử lý siêu cấp x86 với bộ đệm L2 dùng
chung (Hình 18.8c). Cấu trúc chung của Intel Core Duo được thể hiện trong Hình 18.9. Chúng ta hãy xem
xét các yếu tố chính bắt đầu từ phần trên cùng của hình. Như thường thấy trong các hệ thống đa lõi, mỗi
lõi có bộ nhớ đệm L1 chuyên dụng riêng. Trong trường hợp này, mỗi lõi có bộ đệm chỉ lệnh 32 kB và bộ
đệm dữ liệu 32 kB. Mỗi lõi có một bộ phận kiểm soát nhiệt độc lập. Với mật độ bóng bán dẫn cao của
các chip ngày nay, quản lý nhiệt là một khả năng cơ bản, đặc biệt là đối với các hệ thống máy tính xách
tay và thiết bị di động. Bộ điều khiển nhiệt Core Duo được thiết kế để quản lý quá trình tản nhiệt của
chip nhằm tối đa hóa hiệu suất của bộ xử lý trong phạm vi các hạn chế về nhiệt. Quản lý nhiệt cũng cải
thiện công thái học với hệ thống làm mát và tiếng ồn âm thanh của quạt thấp hơn. Về bản chất, bộ phận
quản lý nhiệt giám sát các cảm biến kỹ thuật số để đo nhiệt độ khuôn có độ chính xác cao. Mỗi lõi có thể
được định nghĩa là một vùng nhiệt độc lập. Nhiệt độ tối đa cho mỗi vùng nhiệt được báo cáo riêng biệt
thông qua các thanh ghi chuyên dụng có thể được thăm dò bằng phần mềm. Nếu nhiệt độ trong lõi vượt
quá ngưỡng, bộ điều khiển nhiệt sẽ giảm xung nhịp cho lõi đó để giảm sinh nhiệt.

14:

Yếu tố quan trọng tiếp theo của tổ chức Core Duo là Bộ điều khiển ngắt lập trình nâng cao (APIC). APIC
thực hiện một số chức năng, bao gồm những chức năng sau:

1. APIC có thể cung cấp các ngắt bộ xử lý, cho phép bất kỳ quá trình nào làm gián đoạn bất kỳ bộ xử lý
nào khác hoặc tập hợp các bộ xử lý. Trong trường hợp của Core Duo, một luồng trong một lõi có thể tạo
ra một ngắt, được APIC cục bộ chấp nhận, được chuyển đến APIC của lõi kia và được giao tiếp như một
ngắt đến lõi kia.

2. APIC chấp nhận các ngắt I / O và định tuyến chúng đến lõi thích hợp.
3. Mỗi APIC bao gồm một bộ định thời, có thể được cài đặt bởi HĐH để tạo ra một ngắt tới lõi cục bộ.
Logic quản lý điện năng chịu trách nhiệm giảm tiêu thụ điện năng khi có thể, do đó tăng tuổi thọ pin cho
các nền tảng di động, chẳng hạn như máy tính xách tay. Về bản chất, logic quản lý điện năng giám sát
các điều kiện nhiệt và hoạt động của CPU và điều chỉnh mức điện áp và mức tiêu thụ điện năng một cách
thích hợp. Nó bao gồm khả năng cấp nguồn nâng cao cho phép điều khiển logic siêu mịn chỉ bật các hệ
thống con logic của bộ xử lý riêng lẻ khi và khi chúng cần thiết.

15:

Chip Core Duo bao gồm bộ nhớ đệm L2 2 MB được chia sẻ. Logic bộ nhớ cache cho phép phân bổ động
không gian bộ nhớ đệm dựa trên nhu cầu lõi hiện tại, do đó một lõi có thể được chỉ định tối đa 100% bộ
nhớ đệm L2. Bộ đệm L2 bao gồm logic để hỗ trợ giao thức kết hợp bộ đệm MESI cho các bộ đệm L1 đính
kèm. Điểm quan trọng cần xem xét là thời điểm ghi vào bộ nhớ cache được thực hiện ở mức L1. Một
dòng bộ nhớ cache nhận trạng thái M khi một bộ xử lý ghi vào nó; nếu dòng không ở trạng thái E hoặc M
trước khi ghi nó, bộ đệm sẽ gửi yêu cầu Đọc để Sở hữu (RFO) đảm bảo rằng dòng tồn tại trong bộ đệm
L1 và ở trạng thái I trong bộ đệm L1 khác . Intel Core Duo mở rộng giao thức này để tính đến trường hợp
có nhiều chip Core Duo được tổ chức như một hệ thống đa xử lý đối xứng (SMP). Bộ điều khiển bộ nhớ
đệm L2 cho phép hệ thống phân biệt giữa tình huống trong đó dữ liệu được chia sẻ bởi hai lõi cục bộ,
nhưng không phải với phần còn lại của thế giới và tình huống trong đó dữ liệu được chia sẻ bởi một
hoặc nhiều bộ đệm trên khuôn như cũng như bởi một tác nhân trên bus bên ngoài (có thể là một bộ xử
lý khác). Khi lõi phát hành RFO, nếu đường truyền chỉ được chia sẻ bởi bộ nhớ đệm khác trong khuôn
cục bộ, chúng tôi có thể giải quyết nội bộ RFO rất nhanh mà không cần đến bus bên ngoài. Chỉ khi đường
truyền được chia sẻ với một tác nhân khác trên bus bên ngoài thì chúng ta mới cần cấp RFO ra bên
ngoài. Giao diện bus kết nối với bus bên ngoài, được gọi là Front Side Bus, kết nối với bộ nhớ chính, bộ
điều khiển I / O và các chip xử lý khác.

16:

Intel Core i7-990X, được giới thiệu vào tháng 11 năm 2008, triển khai bốn bộ xử lý SMT x86, mỗi bộ đều
có bộ đệm L2 chuyên dụng và bộ đệm L3 dùng chung (Hình 18.8d). Cấu trúc chung của Intel Core i7-990X
được thể hiện trong Hình 18.10. Mỗi lõi có bộ đệm L2 chuyên dụng riêng và bốn lõi chia sẻ bộ đệm L3 12
MB. Một cơ chế mà Intel sử dụng để làm cho bộ nhớ đệm của mình hiệu quả hơn là tìm nạp trước, trong
đó phần cứng kiểm tra các mẫu truy cập bộ nhớ và cố gắng lấp đầy bộ nhớ đệm một cách phỏng đoán
bằng dữ liệu có khả năng sớm được yêu cầu. Thật thú vị khi so sánh hiệu suất của tổ chức bộ đệm ba
cấp này trên chip với tổ chức hai cấp tương đương của Intel.

17:

Intel Core i7-990X, được giới thiệu vào tháng 11 năm 2008, triển khai bốn bộ xử lý SMT x86, mỗi bộ đều
có bộ đệm L2 chuyên dụng và bộ đệm L3 dùng chung (Hình 18.8d). Bảng 18.1 cho thấy độ trễ truy cập bộ
nhớ cache, xét theo chu kỳ đồng hồ đối với hai hệ thống đa lõi của Intel chạy ở cùng một tần số xung
nhịp. Core 2 Quad có bộ nhớ đệm L2 được chia sẻ, tương tự như Core Duo. Core i7 cải thiện hiệu suất
bộ nhớ đệm L2 với việc sử dụng bộ đệm L2 chuyên dụng và cung cấp tốc độ truy cập tương đối cao vào
bộ nhớ đệm L3. Chip Core i7-990X hỗ trợ hai hình thức giao tiếp bên ngoài với các chip khác. Bộ điều
khiển bộ nhớ DDR3 đưa bộ điều khiển bộ nhớ cho bộ nhớ chính DDR vào chip. Giao diện hỗ trợ ba kênh
rộng 8 byte với tổng chiều rộng bus là 192 bit, cho tốc độ dữ liệu tổng hợp lên đến 32 GB / s. Với bộ điều
khiển bộ nhớ trên chip, Bus mặt trước sẽ bị loại bỏ.
18:

ARM11 MPCore là một sản phẩm đa lõi dựa trên họ bộ vi xử lý ARM11. ARM11 MPCore có thể được cấu
hình với tối đa bốn bộ xử lý, mỗi bộ có lệnh L1 và bộ nhớ đệm dữ liệu riêng cho mỗi chip. Bảng 18.2 liệt
kê các tùy chọn có thể cấu hình cho hệ thống, bao gồm các giá trị mặc định.

19:

Hình 18.11 trình bày sơ đồ khối của ARM11 MPCore. Các yếu tố chính của hệ thống như sau: Bộ điều
khiển ngắt phân tán (DIC): Xử lý phát hiện ngắt và ưu tiên ngắt. DIC phân phối các ngắt cho các bộ xử lý
riêng lẻ. Bộ định thời: Mỗi CPU có bộ định thời riêng có thể tạo ngắt. Cơ quan giám sát: Đưa ra cảnh báo
cảnh báo trong trường hợp phần mềm bị lỗi. Nếu cơ quan giám sát được bật, nó được đặt thành giá trị
định trước và đếm ngược về 0. Nó được đặt lại định kỳ. Nếu giá trị cơ quan giám sát bằng không, một
cảnh báo sẽ được đưa ra. Giao diện CPU: Xử lý xác nhận ngắt, che ngắt và xác nhận hoàn thành ngắt.
CPU: Một bộ xử lý ARM11 duy nhất. Các CPU riêng lẻ được gọi là CPU MP11. Đơn vị dấu phẩy động
vectơ (VFP): Một bộ đồng xử lý thực hiện các hoạt động dấu phẩy động trong phần cứng. Bộ đệm L1:
Mỗi CPU có bộ đệm dữ liệu L1 chuyên dụng riêng và bộ đệm lệnh L1. Đơn vị điều khiển Snoop (SCU):
Chịu trách nhiệm duy trì đồng tiền giữa các bộ nhớ đệm dữ liệu L1.

20:

Bộ điều khiển ngắt phân tán (DIC) đối chiếu các ngắt từ một số lượng lớn các nguồn. Nó cung cấp Che
dấu ngắt Ưu tiên các ngắt Phân phối các ngắt đến các CPU MP11 mục tiêu Theo dõi trạng thái của ngắt
Tạo ra các ngắt bằng phần mềm DIC là một đơn vị chức năng duy nhất được đặt trong hệ thống cùng với
các CPU MP11. Điều này cho phép số lượng ngắt được hỗ trợ trong hệ thống độc lập với thiết kế CPU
MP11. DIC được ánh xạ bộ nhớ; nghĩa là, các thanh ghi điều khiển cho DIC được xác định liên quan đến
địa chỉ cơ sở bộ nhớ chính. DIC được truy cập bởi các CPU MP11 bằng giao diện riêng thông qua SCU.
DIC được thiết kế để đáp ứng hai yêu cầu chức năng: Cung cấp phương tiện định tuyến yêu cầu ngắt tới
một CPU hoặc nhiều CPU, theo yêu cầu. Cung cấp phương tiện giao tiếp giữa các bộ xử lý để một luồng
trên một CPU có thể gây ra hoạt động của một luồng trên CPU khác.

21:

DIC có thể định tuyến một ngắt đến một hoặc nhiều CPU theo ba cách sau:

Một ngắt chỉ có thể được chuyển hướng đến một bộ xử lý cụ thể.

Một ngắt có thể được chuyển hướng đến một nhóm bộ xử lý xác định. MPCore xem bộ xử lý đầu tiên
chấp nhận ngắt, thường là bộ ít được tải nhất, là vị trí tốt nhất để xử lý ngắt.

Một ngắt có thể được chuyển hướng đến tất cả các bộ xử lý.

Từ quan điểm của phần mềm chạy trên một CPU cụ thể, hệ điều hành có thể tạo ra một ngắt cho tất cả
trừ bản thân, cho chính bản thân hoặc cho các CPU cụ thể khác. Đối với giao tiếp giữa các luồng chạy
trên các CPU khác nhau, cơ chế ngắt thường được kết hợp với bộ nhớ dùng chung để truyền thông báo.
Do đó, khi một luồng bị ngắt bởi một ngắt giao tiếp giữa bộ xử lý, nó sẽ đọc từ khối thích hợp của bộ
nhớ dùng chung để lấy một thông báo từ luồng đã kích hoạt ngắt. Có tổng cộng 16 ID ngắt trên mỗi CPU
để giao tiếp giữa các bộ xử lý.

22:
Từ quan điểm của một CPU MP11, một ngắt có thể

Không hoạt động: Ngắt không hoạt động là ngắt không được xác nhận hoặc trong môi trường đa xử lý

đã được xử lý hoàn toàn bởi CPU đó nhưng vẫn có thể Đang chờ xử lý hoặc Đang hoạt động trong một

số CPU mà nó được nhắm mục tiêu, và như vậy có thể chưa được xóa tại nguồn ngắt.

Đang chờ xử lý: Ngắt đang chờ xử lý là một ngắt đã được xác nhận và quá trình xử lý chưa bắt đầu trên

CPU đó.

Hoạt động: Ngắt đang hoạt động là một ngắt đã được khởi động trên CPU đó, nhưng quá trình xử lý

chưa hoàn tất. Một ngắt hoạt động có thể được tạo trước khi một ngắt mới có mức ưu tiên cao hơn làm

gián đoạn quá trình xử lý ngắt của CPU MP11.

23:

Ngắt to from the source after:

Bộ xử lý ngắt (IPI): Mỗi CPU có các bộ ngắt, ID0-ID15, chỉ có thể được kích hoạt bởi phần mềm. Mức độ

ưu tiên của IPI phụ thuộc vào CPU nhận, không phải CPU gửi.

Các thời gian ngắt và / hoặc cơ quan giám sát riêng: Các ngắt này sử dụng các ID ngắt 29 và 30.

Dòng FIQ kế thừa: Trong IRQ kế thừa chế độ, chân FIQ kế thừa, trên mỗi CPU, bỏ qua logic Nhà phân

phối ngắt và trực tiếp điều khiển các yêu cầu ngắt vào CPU.

Phần cứng ngắt: Phần cứng ngắt được kích hoạt bởi sự kiện có thể thiết lập chương trình trên đầu dòng

vào liên quan. CPU could not be support to 224 lines in break. Start Hardware from ID32.

24:

MPCore’s Snoop Control Unit (SCU) được thiết kế để giải quyết hầu hết các nút thắt cổ chai truyền

thống liên quan đến quyền truy cập vào dữ liệu được chia sẻ và giới hạn khả năng mở rộng do lưu lượng

truy cập mạch lạc.


Sơ đồ đồng tiền trong bộ đệm L1 dựa trên giao thức MESI được mô tả trong Chương 17. SCU giám sát

các hoạt động với dữ liệu được chia sẻ để tối ưu hóa việc di chuyển trạng thái MESI. SCU giới thiệu ba

kiểu tối ưu hóa: can thiệp dữ liệu trực tiếp, RAM thẻ trùng lặp và dòng di chuyển.

Can thiệp dữ liệu trực tiếp (DDI) cho phép sao chép dữ liệu sạch từ bộ đệm dữ liệu CPU L1 này sang bộ

đệm dữ liệu L1 của CPU khác mà không cần truy cập bộ nhớ ngoài. Điều này làm giảm hoạt động đọc sau

khi đọc từ bộ nhớ cache Cấp 1 xuống bộ nhớ cache Cấp 2. Do đó, lỗi bộ nhớ cache L1 cục bộ được giải

quyết trong bộ nhớ cache L1 từ xa chứ không phải từ quyền truy cập vào bộ nhớ cache L2 được chia sẻ.

Nhớ lại rằng vị trí bộ nhớ chính của mỗi dòng trong bộ nhớ cache được xác định bởi một thẻ cho dòng

đó. Các thẻ có thể được thực hiện như một khối RAM riêng biệt có cùng độ dài với số dòng trong bộ nhớ

cache. Trong SCU, RAM thẻ trùng lặp là phiên bản sao chép của RAM thẻ L1 được SCU sử dụng để kiểm

tra tính khả dụng của dữ liệu trước khi gửi các lệnh đồng tiền đến các CPU có liên quan. Các lệnh đồng

tiền chỉ được gửi đến các CPU phải cập nhật bộ đệm dữ liệu nhất quán của chúng. Điều này làm giảm

mức tiêu thụ điện năng và tác động đến hiệu suất từ việc theo dõi và thao tác trên bộ nhớ đệm của từng

bộ xử lý trên mỗi bản cập nhật bộ nhớ. Có sẵn dữ liệu thẻ cục bộ cho phép SCU giới hạn các thao tác

trong bộ nhớ cache đối với các bộ xử lý có chung dòng bộ nhớ cache.

Tính năng dòng di chuyển cho phép di chuyển dữ liệu bẩn từ CPU này sang CPU khác mà không cần ghi

vào L2 và đọc lại dữ liệu từ bộ nhớ ngoài.

26:

Khối xây dựng chính của máy tính lớn là mô-đun đa kênh (MCM), một mô-đun gốm thủy tinh chứa 8

chip. Các thành phần chính của cấu hình được thể hiện trong Hình 18.13:
• Bộ xử lý (PU): Có sáu chip PU xử lý 5,2 GHz, mỗi chip chứa bốn lõi xử lý cộng với ba cấp bộ nhớ đệm.

Các PU có bên ngoài

kết nối với bộ nhớ chính thông qua bộ điều khiển bộ nhớ và I / O thông qua máy chủ

bộ điều hợp kênh. Như vậy, mỗi MCM bao gồm 24 bộ vi xử lý lõi.

• Điều khiển lưu trữ (SC): Hai chip SC chứa một mức bộ nhớ đệm bổ sung cộng với logic kết nối để kết

nối với ba MCM khác.

Lõi bộ vi xử lý có đường ống siêu âm rộng, không theo thứ tự có thể giải mã ba lệnh z / Architecture CISC

trên mỗi chu kỳ đồng hồ và thực hiện tối đa năm hoạt động mỗi chu kỳ. Đường dẫn thực hiện lệnh được

dự đoán theo hướng rẽ nhánh và logic dự đoán mục tiêu. Mỗi lõi có sáu đơn vị thực thi: hai đơn vị số

nguyên, một đơn vị dấu phẩy động, hai đơn vị tải / lưu trữ và một đơn vị thập phân.

27:

Z196 kết hợp cấu trúc bộ đệm bốn cấp, mà IBM tuyên bố là bộ đệm bốn cấp đầu tiên của ngành. Chúng

ta lần lượt xem xét từng cấp độ (Hình 18.14).

Mỗi lõi có một bộ nhớ cache cấp 1 192 kB chuyên dụng, được chia thành bộ nhớ cache dữ liệu 128-kB và

bộ nhớ cache lệnh 64-kB. Bộ nhớ cache L1 được thiết kế như một bộ nhớ cache lưu trữ đến L2, tức là,

dữ liệu đã thay đổi cũng được lưu trữ ở cấp bộ nhớ tiếp theo. Các bộ nhớ đệm này là bộ liên kết 8 chiều.

Mỗi lõi cũng có một bộ nhớ đệm 1,5 MB cấp 2 chuyên dụng, đây cũng là bộ nhớ lưu trữ đến L3. Bộ nhớ

đệm L2 là bộ kết hợp 12 chiều.


Mỗi chip đơn vị bộ xử lý 4 nhân bao gồm một bộ nhớ đệm 24 MB mức 3 được chia sẻ bởi cả bốn bộ xử

lý. Vì bộ nhớ đệm L1 và L2 là bộ nhớ đệm lưu trữ thông qua, bộ nhớ đệm L3 phải xử lý mọi cửa hàng

được tạo bởi bốn lõi trên chip của nó. Tính năng này duy trì tính khả dụng của dữ liệu khi xảy ra lỗi lõi.

Bộ nhớ đệm L3 là bộ kết hợp 12 chiều. Z196 triển khai DRAM nhúng (eDRAM) làm bộ nhớ đệm L3 trên

chip.

Mặc dù bộ nhớ eDRAM này chậm hơn so với RAM tĩnh (SRAM) thường được sử dụng để triển khai bộ

nhớ đệm, bạn có thể đặt nhiều bộ nhớ vào một khu vực nhất định. Đối với nhiều khối lượng công việc,

việc có nhiều bộ nhớ gần chip hơn quan trọng hơn là có bộ nhớ nhanh.

Cuối cùng, tất cả 6 PU trên một MCM đều chia sẻ bộ nhớ cache cấp 4 192 MB, được chia thành một bộ

nhớ cache 96 MB trên mỗi SC. Động lực chính để kết hợp bộ nhớ đệm cấp 4 là tốc độ xung nhịp rất cao

của bộ xử lý lõi dẫn đến sự không phù hợp đáng kể với tốc độ bộ nhớ chính. Lớp bộ nhớ cache thứ tư là

cần thiết để giữ cho các lõi hoạt động hiệu quả. Bộ nhớ đệm L3 và L4 được chia sẻ lớn phù hợp với khối

lượng công việc xử lý giao dịch thể hiện mức độ chia sẻ dữ liệu và trao đổi tác vụ cao. Bộ nhớ đệm L4 là

bộ kết hợp 24 chiều. Chip SC, chứa bộ nhớ đệm L4, cũng hoạt động như một bộ chuyển đổi điểm chéo

của bộ đệm L4 cho lưu lượng từ L4 đến L4 tới ba cuốn sách từ xa bằng ba bus dữ liệu hai chiều. L4 là

trình quản lý kết hợp, có nghĩa là tất cả các lần tìm nạp bộ nhớ phải nằm trong bộ nhớ đệm L4 trước khi

dữ liệu đó có thể được bộ xử lý sử dụng.

Tất cả bốn bộ nhớ đệm sử dụng kích thước dòng là 256 byte.

You might also like