6. Cấu trúc của luận án
1.2.1. Kiến trúc chung của chip đa xử lý, đa luồng
Trong một CMPđa luồng, lõi được xác định như là một CPU. Nghĩa là mỗi lõi gồm có khối xử lý trung tâm (CPU) như một chip đơn lõi, nhưng có thêm L1 cache (L1 Icache, L1 Dcache) và có thể L2 cache chia sẻ (hoặc L3 cache chia sẻ) cho các lõi, các lõi có cấu trúc giống nhau. Hình 1.1 thể hiện một kiến trúc chung của CMP
đa luồng.
Lý do lớn nhất cho chế tạo và ứng dụng CMP, đa luồng là việc đặt nhiều lõi lên cùng một vi mạch sẽ làm giảm không gian trên bản mạch chính khi có nhu cầu
muốn sử dụng một số lượng lớn lõi đơn tương đương. Thêm nữa, lợi thế của việc sử
dụng đa lõi trên cùng một vi mạch là các lõi sẽ làm việc kết hợp cùng nhau chặt chẽ hơn và nâng cao được hiệu năng xử lý. Đồng thời, khi nhiều lõi cùng nằm trên một
chip, xung tín hiệu truyền giữa các lõi sẽ ngắn hơn, trễ truyền thông không đáng kể
[46]. Ngoài ra, đặc trưng của CMP là chạy với điện năng thấp hơn, vì công suất tiêu
thụ để tín hiệu truyền trên dây bằng bình phương điện áp chia cho điện trở trong dây, do đó điện năng thấp hơn sẽ dẫn đến kết quả là nguồn điện tiêu thụ ít đi [41, 69]. Một lý do khác đối với việc tiết kiệm nguồn điện là tốc độ đồng hồ, vì tốc độ
xử lý nhanh thì khả năng tiêu tốn điện năng ít.
Một xu hướng phát triển CMP đa luồng là kiến trúc phân mảnh. Trong kiến
trúc này, các lõi được thiết kế với tối thiểu tài nguyên chỉ chiếm không gian nhỏ
trên chip và kết nối mạng theo kiểu ma trận ngói lợp. Hình 1.2 là ví dụ hai thiết kế
CMP dạng này: Tile64 64-lõi của Tilera, Tera-Scale 80-lõi của Intel [11, 18, 29, 66].
Hình 1.2: Kiến trúc phân mảnh của CMP [11, 18].
Có thể nhóm các CMP thành ba loại: chip đa lõi đối xứng (SMC), chip đa lõi bất đối xứng (AMC), và chip đa lõi linh hoạt (DMC) [7, 19, 40].
SMC phổ biến gồm 2 loại:
a) SMC gồm n tương đương lõi cơ sở (BCE); mỗi BCE là một lõi xử lý với
tài nguyên tối thiểu như hình 1.3a.
b) SMC bao gồm n/r lõi (nghĩa là SMC có tất cả n BCE, nhưng mỗi lõi là một kết hợp r BCE) như hình 1.3b.
a) b)
Hình 1.3: a) SMC gồm n =16 lõi BCE. b) SMC gồm n/r = 4/4 lõi (4 lõi, mỗi lõi có 4 BCE) [40].
SMC cấu trúc n/r cho phép tập trung nhiều tài nguyên vào một số lõi gồm r
BCE để tăng hiệu năng thực hiện perf(r).
Hiệu năng thực hiện tuần tự được bình thường hóa của lõi BCE thứ r được xác định bằng:
Trong đó, hiệu năng tuyệt đối có thể là tốc độ xử lý (ví dụ, MIPS), hoặc số đo
hiệu năng khác.
Muốn perf(r) > r, các nhà thiết kế chip phải tăng các tài nguyên cho lõi r-BCE,
để đạt được sự tăng tốc của cả thực hiện tuần tự và song song. Khi perf(r) < r, sự tăng hiệu năng của lõi bị ảnh hưởng bởi sự thực hiện tuần tự và như vậy làm ảnh hưởng đến quá trình thực hiện song song.
Theo Luật Amdahl, mức tăng tốc của SMC phụ thuộc vào tỷ trọng phần có thể
thực hiện song song f, toàn bộ số BCE(n), và số lõi r. Với loại SMC chỉ sử dụng
một lõi để thực hiện tuần tự với hiệu năng tuần tự perf(r) và sử dụng tất cả n/r lõi để
thực hiện song song với hiệu năng perf(r)×n/r. perf(r) =
Hiệu năng tuyệt đối của một lõi có r-BCE
Như vậy, tổng mức tăng tốc SP của SMC là: SMC 1 SP (f, n, r) = 1 - f f × r + perf(r) perf(r) × n (1.2)
Chip đa lõi bất đối xứng (AMC)
AMC gồm một lõi r-BCE (1/r-BCE) và n-r BCE như hình 1.4. Trong AMC, một hay một số lõi sẽ mạnh hơn các lõi khác. Ví dụ, trong AMC với n = 64 BCE, có thể được tổ chức 1 lõi 4-BCE và 60 lõi 1-BCE hay 1 lõi 9-BCE và 55 lõi 1-BCE, v.v... Nói chung, nếu một AMC có n BCE, thì có thể tổ chức 1 lõi r-BCE và n-r lõi 1-BCE.
Hình 1.4: AMC gồm một lõi 4-BCE và n-4 lõi 1-BCE [40].
So với SMC, luật Amdahl cho AMC có dạng khác. Vì AMC sử dụng một lõi lớn với nhiều tài nguyên hơn để thực hiện phần tuần tự với hiệu năng tuần tự
perf(r). Trong phần thực hiện song song, nó nhận hiệu năng perf(r) từ một lõi lớn r- BCE và hiệu năng của một trong các n-r lõi 1-BCE. Như vậy, tổng mức tăng tốc của
AMC là: AMC 1 SP (f, n, r) = 1- f f + perf(r) perf(r) + n - r (1.3)
Chip đa lõi linh hoạt (DMC)
Trong DMC có thể kết hợp r lõi với nhau để đẩy hiệu năng của phần tuần tự, như ở hình 1.5. Khả năng này có thể đạt được ở mức luồng. Trong chế độ tuần tự,
DMC có thể thực hiện với hiệu năng tuần tự perf(r) khi các kỹ thuật linh hoạt sử
Hình 1.5: Chip đa lõi linh hoạt (DMC) gồm 16 lõi 1-BCE [40].
Trong chế độ song song, DMC nhận hiệu năng nhờ sử dụng tất cả các lõi cơ
sở. Theo luật Amdahl, tổng mức tăng tốc trong DMC là:
DMC 1 SP (f, n, r) = 1 - f f + perf(r) n (1.4)
Nếu cho rằng hiệu năng thực hiện phần tuần tự đạt được perf(r) = 1 thì công thức (1.4) trở về dạng tổng quát của mức tăng tốc tối đa theo luật Amdahl:
DMC 1 SP = f (1- f) + n (1.5)
Khi n tiến tới vô cùng, thì mức tăng tốc chỉ phụ thuộc vào kích thước phần
tuần tự của chương trình là (1- f). Do đó, một chương trình ứng dụng đạt được mức tăng tốc lớn khi thực hiện song song trong các hệ thống với các CMP đa luồng cần
phải được thiết kế sao cho phần tuần tự chiếm kích thước rất nhỏ và các module song song phải đạt được mức tối đa f = n.
Dựa theo phân loại kiến trúc song song của Flynn [62], trong CMP có các loại
kiến trúc thực hiện song song theo chuỗi lệnh và chuỗi dữ liệu [24, 72]:
Hình 1.6: CMP với kiến trúc SISD [72].
- CMP có kiến trúc nhiều chuỗi lệnh một chuỗi dữ liệu MISD như hình 1.7.
Hình 1.7: CMP với kiến trúc SIMD [72].
- CMP có kiến trúc nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD như hình 1.8.
Hình 1.8: CMP với kiến trúc MIMD [72].