Khám phá bên trong kiến trúc AMD K10

Thảo luận trong 'Giới thiệu phần cứng' bắt đầu bởi DualCore, 15 Tháng một 2010.

  1. Offline

    DualCore

    • Friends

    Số bài viết:
    957
    Đã được thích:
    513
    Điểm thành tích:
    350
    K10 là tên của một kiến trúc mới mà các bộ vi xử lý mới của AMD sử dụng như Phenom và Opteron được xây dựng trên lõi “Barcelona”. Trong thực tế, rất nhiều người nhiều nhầm kiến trúc K10 với “Barcelona”, trong khi đó Barcelona chỉ là một trong những CPU sẽ sử dụng kiến trúc mới này. Trong hướng dẫn này, chúng tôi sẽ giới thiệu tất cả các sản phẩm sẽ được xây dựng trên kiến trúc K10 này với dự định lâu dài.

    Kiến trúc K10 mới được dựa trên kiến trúc K8 (AMD64) với một số nâng cao. Chính vì vậy nếu bạn đã hiểu về kiến trúc AMD64 thì đó là một lợi thế để các bạn hiểu dễ dàng hơn kiến trúc mới này. Tuy với tên K8 và K10 nhưng AMD chưa từng phát hành kiến trúc nào có tên gọi K9, mà chỉ từ K8 nhảy lên K10.

    Thể hiện trong hình 1 là những nâng cao chính của kiến trúc K10 so với K8 trước đây.

    [IMG]
    Hình 1: Những nâng cao của kiến trúc K10 so với K8

    Những điểm chính được nâng cao ở đây là:

    • Khối tìm nạp nạp 32byte dữ liệu trên mỗi một chu kỳ clock từ L1 instruction cache – đây là CPU kép được xây dựng dựa trên kiến trúc K8 có thể tìm nạp trên mỗi chu kỳ. Trong các CPU của Intel được xây dựng trên kiến trúc lõi (Core), như Core 2 Duo, cũng có thao tác nạp 32byte trên mỗi chu kỳ clock.

    • Sử dụng đường dữ liệu bên trong 128bit. Trên các CPU trước được xây dựng trên kiến trúc K8 thì các đường dữ liệu bên trong chỉ là 64bit. Điều này là một vấn đề đối với các chỉ lệnh SSE, vì các thanh ghi SSE, được gọi là XMM có chiều dài 128bit. Chính vì vậy, khi thực thi một chỉ lệnh nào đó đã được xử lý dữ liệu 128bit thì hoạt động này phải được chia ra thành hai hoạt động 64bit. Đường dữ liệu mới 128bit đã khắc phục được điểm yếu này, làm cho việc xử lý các chỉ lệnh SSE nhanh hơn với xử lý dữ liệu 128bit so với K8. Các bộ vi xử lý của Intel được xây dựng trên kiến trúc Core (ví dụ như Core 2 Duo) cũng có các đường dữ liệu bên trong 128bit, còn các bộ vi xử lý của Intel được xây dựng trên kiến trúc Netburst (Pentium 4 và Pentium D) lại chỉ có các đường dữ liệu bên trong 64bit. AMD gọi tính năng mới này là “AMD Wide Floating Point Accelerator”.

    Trên hình 2 bạn có thể xem một danh sách các tính năng mới được giới thiệu trong kiến trúc K10. Chúng tôi sẽ giải thích về những tính năng này trong phần dưới hình vẽ.

    [IMG]
    Hình 2: Các tính năng mới được giới thiệu trong kiến trúc K10.

    L3 Memory Cache

    Hãy lưu ý rằng, cache nhớ là một bộ nhớ tốc độ cao (RAM tĩnh hay còn được viết là SRAM) đã được nhúng bên trong CPU, được sử dụng để lưu dữ liệu mà CPU cần thiết. Nếu dữ liệu được yêu cầu bởi CPU không được đặt trong cache thì nó phải vào bộ nhớ RAM chính, điều này sẽ làm giảm tốc độ của nó vì bộ nhớ RAM được truy cập bằng cách sử dụng tốc độ clock ngoài của CPU. Ví dụ, trên AMD 3 GHz CPU, cache nhớ được truy cập với tốc độ 3GHz nhưng RAM nhớ chỉ được truy cập ở tốc độ 800MHz (nếu bạn đang sử dụng các bộ nhớ DDR2-800) hoặc thấp hơn.

    Trên các CPU AMD dual-core và Pentium D được xây dựng trên kiến trúc K8, mỗi lõi CPU có một L2 memory cache của chính nó. Trên các CPU Intel dual-core được xây dựng trên kiến trúc Core và Pentium M thì chỉ có L2 memory cache, cache được chia sẻ giữa hai lõi.

    Intel nói rằng, kiến trúc chia sẻ này là tốt hơn vì với phương pháp cache tách biệt tại một thời điểm nào đó, một lõi có thể sử dụng hết cache trong khi đó cache kia lại không được sử dụng. Khi xảy ra điều này, lõi thứ nhất phải lấy dữ liệu từ bộ nhớ RAM trong khi đó L2 memory cache của lõi thứ hai là hoàn toàn trổng rỗng mà có thể được sử dụng để lưu dữ liệu và tránh cho trường hợp lõi kia phải truy cập trực tiếp vào RAM nhớ làm giảm tốc độ của hệ thống. Cũng như vậy, bộ vi xử lý Core 2 Duo với 4 MB L2 memory cache, một lõi có thể sử dụng đến 3,5MB trong khi đó lõi còn lại sử dụng 512KB, hoàn toàn trái ngược với phân chia cố định 50%-50% như đã được sử dụng trong các CPU dual-core khác.

    Nói cách khác, các CPU quad-core của Intel hiện nay như Core 2 Extreme QX và Core 2 Quad sử dụng hai chip lõi kép (dual-core), điều đó có nghĩa rằng việc chia sẻ này chỉ xuất hiện giữa các lõi 1 & 2 và 3 & 4. Trong tương lai, Intel cũng đã lên kế hoạch khởi chạy CPU quad-core bằng sử dụng chip đơn. Khi điều này được thực hiện thì L2 cache sẽ được chia sẻ giữa bốn lõi.

    Trên hình 3, bạn có thể thấy được một sự so sánh giữa 3 giải pháp L2 memory cache.

    [IMG]
    Hình 3: So sánh giữa các giải pháp L2 memory cache hiện hành đối với các CPU đa lõi hiện nay

    Kiến trúc K10 có bổ sung thêm L3 memory cache chia sẻ trong CPU. Điều này được thể hiện trong hình 4. Kích thước của cache này phụ thuộc vào model của CPU, giống như những gì xảy ra với kích thước của L2 cache.

    [IMG]
    Hình 4: Kiến trúc K10 cache( AMD gọi phương pháp này là “Balanced Smart Cache”)

    Theo cách đó, L1 memory cache tiếp tục không được thay đổi: 64 KB cho các chỉ lệnh và 64 KB cho dữ liệu trên lõi (trên hình 1 AMD đã thể hiện 512KB, nhưng đây là con số tổng thể cho CPU quad-core).

    Memory Controller độc lập

    Dữ liệu mà CPU nạp từ bộ nhớ RAM trên mỗi chu kỳ clock càng cao nhiều thì tốc độ của hệ thống càng nhanh. Như chúng tôi đã giải thích ở phần trên, CPU sẽ nhanh hơn nhiều so với bộ nhớ RAM, chính vì vậy càng ít lần nó cần tìm nạp dữ từ bộ nhớ RAM thì càng tốt hơn cho hệ thống. Việc tải nhiều dữ liệu một lần có thể ngăn chặn điều này xảy ra.

    Các modul nhớ là các thiết bị 64bit. Thay vì khởi chạy modul nhớ 128bit, các nhà sản xuất CPU và chipset lại giới thiệu ý tưởng bộ nhớ kênh đôi, đây chính là cách truy cập vào hai modul nhớ một cách đồng thời, dù là 2 modul nhớ 64bit này nằm trong modul 128bit đơn. Điều này cho phép gấp đôi tốc độ truy cập bộ nhớ vì lúc này thay vì một dữ liệu 64bit, hai dữ liệu 64bit có thể được nạp trên một chu kỳ.

    Vấn đề với công nghệ dual-channel là dữ liệu 64bit thứ hai được nạp cùng với dữ liệu đã được yêu cầu ban đầu cần phải được lưu ở địa chỉ kế sau đó. Ví dụ, nếu CPU đã yêu cầu dữ liệu A được lưu trong địa chỉ 1 thì bộ điều khiển nhớ sẽ tự động nạp dữ liệu A và sau đó nạp dữ liệu B được lưu ở địa chỉ 2.

    Nếu CPU không sử dụng dữ liệu B này thì lần nạp thứ hai này sẽ hoàn toàn bị lãng phí, vì bộ điều khiển nhớ không thể sử dụng việc nạp song song này để đọc dữ liệu đã được lưu trong địa chỉ không theo sau địa chỉ trước đó.

    Bộ điều khiển nhớ đã sử dụng trong kiến trúc K10 cho phép CPU có thể nạp dữ liệu được lưu trên một địa chỉ khác với địa chỉ trước đó. Sự độc lập này sẽ làm tăng hiệu suất của CPU bằng việc không làm lãng phí những lần nạp bộ nhớ. Hình 5 minh chứng cho tính năng này, nơi CPU muốn nạp dữ liệu A và F. Kiến trúc K8, đã minh chứng bên ở phía bên trái, hai lần nạp dữ liệu đều cần thiết (nhưng chúng hoàn toàn vô dụng), trong khi đó kiến trúc K10 chỉ có một lần nạp dữ liệu được yêu cầu.

    [IMG]
    Hình 5: Bộ điều khiển nhớ độc lập (AMD gọi tính năng này là “AMD Memory Optimizer Technology”).

    Các tính năng tiết kiệm năng lượng
    Đa số các tính năng mới có trong kiến trúc K10 đều nhằm cho mục đích tiết kiệm năng lượng – và như vậy làm cho CPU giảm được nhiều nhiệt lượng.

    Đây là một số tính năng mới đó:

    • Independent Dynamic Core Technology cho phép mỗi một lõi CPU có thể chạy với tốc độ clock khác nhau. Mặc dù vậy điện áp của các lõi được chia sẻ và nó sẽ là điện áp được yêu cầu bởi lõi đang chạy ở tốc độ clock cao hơn.

    • CoolCore Technology cho phép CPU tự động tắt một phần của nó khi không được sử dụng. Các bộ vi xử lý được xây dựng trên kiến trúc Core cũng có tính năng tương tự này (“Advanced Power Gating”).

    [IMG]
    Hình 6: Công nghệ CoolCore

    Dual Dynamic Power Management (DDPM), có thể được biết đến với cái tên thân thiện “split-plane”, công nghệ này cho phép CPU và bộ điều khiển nhớ (được nhúng bên trong CPU) có thể sử dụng các nguồn điện cấp khác – nghĩa là các điện áp khác nhau. Điều này cho phép bộ điều khiển nhớ làm việc ở tốc độ cao – điển hình là 200MHz cao hơn so với clock chuẩn. Công nghệ này cũng cho phép CPU giảm điện áp của nó và giữ cho bộ điều khiển nhớ làm việc ở tốc độ chính thức, khi CPU vào một trong những chế độ tiết kiệm năng lượng. Khi đã cài đặt trên các bo mạch chủ cũ hơn, các bo mạch chủ này không có nguồn công suất cung cấp riêng cho CPU và cho bộ điều khiển nhớ thì CPU sẽ làm việc giống bộ vi xử lý K8, có nghĩa là sẽ sử dụng một loại điện áp được cung cấp cho cả CPU và bộ điều khiển nhớ.

    [IMG]
    Hình 7: Dual Dynamic Power Management (DDPM).

    [IMG]
    Hình 8: Dual Dynamic Power Management (DDPM).


    • Các CPU của máy tính desktop sẽ sử dụng HyperTransport 3.0 thay cho HyperTransport 1.x (các CPU máy chủ sẽ chỉ chấp nhận HT3 trong tương lai). Có hai mục đích chính ở đây. Hiển nhiên hơn là khi tốc độ truyền tải cao hơn trong việc truy cập ngoại vi, khi sử dụng các CPU được xây dựng trên HT3 K10 sẽ có thể truy cập vào thế giới bên ngoài lên đến 10.400 MB/s (Các CPU - K8 chỉ có khả năng truyền tải dữ liệu lên đến 4.000 MB/s) – điều này cho thấy đã tăng được 2,6 lần (2,6x) khả năng cung cấp của băng thông. Tuy nhiên một thuận lợi không thể thấy rõ đó là việc tiết kiệm năng lượng, HT3 cho phép CPU có thể thay đổi tốc độ clock HyperTransport và độ rộng (nghĩa là số lượng bít được truyền tải trên mỗi chu kỳ clock) một cách hoàn toàn động. Ví dụ, nếu CPU nhận thấy rằng 10.400 MB/s là quá nhiều so với những gì nó đang thực hiện lúc đó thì nó có thể giảm tốc độ clock của HyperTransport (độ rộng) xuống tới giá trị thích hợp hơn với những gì đang diễn ra. Tốc độ clock và số lượng bít được truyền tải càng thấp trên mỗi một chu kỳ clock thì năng lượng điện tiêu tốn sẽ càng được giảm. Do HT3 giữ khả năng tương thích với HT1, nên CPU K10 có thể được cài đặt trên các bo mạch chủ trước đó, nhưng HyperTransport bus của chúng sẽ làm việc với tốc độ clock thấp hơn.

    Chúng ta hãy nói về các CPU sử dụng kiến trúc K10 mới này.

    Các CPU máy chủ sử dụng K10

    Bạn có thể thấy các CPU máy chủ sử dụng K10 được thể hiện rất rõ cả lộ trình của nó trên hình 9 và 10.

    [IMG]
    Hình 9: CPU máy chủ sử dụng K10

    [IMG]
    Hình 10: CPU máy chủ sử dụng K10

    Khi CPU mong đợi đầu tiên được khởi chạy sử dụng kiến trúc K10 sẽ là quad-core Opteron được thiết kế dựa trên lõi “Barcelona”. Trên hình 11 bạn có thể thấy được các model của Opteron "Barcelona" mà AMD đã lên kế hoạch khởi chạy và bên dưới nó là bảng các model đã được phát hành.
    This image has been resized. Click this bar to view the full image. The original image is sized 759x577.

    [IMG]
    Hình 11: Tốc độ clock và TDP sẽ được cung cấp cho các CPU quad-core Opteron “Barcelona”.

    Series AMD Opteron 2300
    ModelTần số lõiTDP 23502.0 GHz95W23471.9 GHz95W2347HE1.9GHz68W2346 HE1.8 GHz68W2344 HE1.7 GHz68W
    Series AMD Opteron 8300
    ModelTần số lõiTDP83502.0 GHz95W83471.9 GHz95W8347 HE1.9 GHz 68W 8346 HE1.8 GHz68W
    Đây là một bảng vắn tắt các lõi sẽ được phát hành cho thị trường máy chủ với kiến trúc K10.

    • Barcelona: quad- hoặc dual-core Opteron trên các series 2000 và 8000, 512 KB L2 memory cache trên mỗi lõi, 2 MB L3 memory cache, được đăng ký DDR2 memory, socket 1207 (socket F), HyperTransport 1.x và công nghệ sản suất 65 nm.

    • Budapest: dual-core Opteron trên các series 1000, 512 KB L2 memory cache trên mỗi lõi, 2 MB L3 memory cache, DDR2 memory cũ, socket 1207 (socket F), HyperTransport 1.x hay 3.0 và công nghệ sản xuất 65 nm.

    • Shanghai: quad- hoặc dual-core Opteron trên các series 2000 và 8000 , 512 KB L2 memory cache trên mỗi lõi, 6 MB L3 memory cache, được đăng ký DDR2 memory, socket 1207 (socket F), HyperTransport 1.x và công nghệ sản xuất 45 nm.

    • Montreal: octal- hoặc quad-core Opteron trên các series 2000 và 8000 , 1 MB L2 memory cache trên mỗi lõi, 6 MB hay 12 MB L3 memory cache, được đăng ký DDR2 memory, socket G3, HyperTransport 1.x và công nghệ sản xuất 45 nm.

    • Suzuka: quad- hoặc dual-core Opteron trên các series 1000 , 512KB L2 memory cache trên mỗi lõi, 6 MB L3 memory cache, DDR2 memory cũ, socket AM3, HyperTransport 3.0 và công nghệ sản xuất 45 nm.

    Với các CPU K10 dành cho máy desktop

    Bạn có thể thấy được các CPU K10 được thiết kế cho máy tính đặt bàn trong hình 12 dưới đây.

    [IMG]
    Hình 12: Các CPU K10 dành cho máy desktop

    AMD không tiết lộ số các model sẽ được phát hành

    Đây là tóm tắt ngắn về các lõi sẽ được giới thiệu cho thị trường các máy tính desktop được xây dựng trên kiến trúc K10.

    • Spica: single-core Sempron LE CPU, 512 KB L2 memory cache, DDR2 memory thường, HyperTransport 3.0 và socket AM2+.

    • Rana: Dual-core Athlon X2 LS CPU, 512 KB L2 memory cache trên mỗi lõi, L3 memory cache (giá trị không được tuyên bố), DDR2 memory thường, HyperTransport 3.0 và socket AM2+.

    • Kuma: Dual-core Phenom X2 CPU, 512 KB L2 memory cache trên mỗi lõi, 2 MB L3 memory cache, DDR2 memory thường, HyperTransport 3.0 và socket AM2+.

    • Agena: Quad-core Phenom X4 CPU, 512 KB L2 memory cache trên mỗi lõi, 2 MB L3 memory cache, DDR2 memory thường, HyperTransport 3.0 và socket AM2+.

    • Agena FX: Quad-core Phenom FX CPU, 512 KB L2 memory cache trên mỗi lõi, 2 MB L3 memory cache, DDR2 memory thường, HyperTransport 3.0 và socket AM2+ hay socket 1207+.

    Socket AM2+ và socket 1207+ là các socket AM2 và 1207 (socket F) đang được hỗ trợ các công nghệ HyperTransport 3.0 và Dual Dynamic Power Management (DDPM). Giống như những gì chúng tôi đã nói lúc trước, bạn có thể cài đặt các bộ vi xử lý K10 trên các bo mạch chủ socket AM2 hay socket F cũ, tuy nhiên CPU sẽ không thể có được tốc độ truyền tải mới và các tính năng mới được cung cấp bởi HyperTransport 3.0 và cũng không có điện áp được phân tách cho bộ điều khiển nhớ - cả CPU và bộ điều khiển nhớ sẽ cấp cùng một mức điện áp.
    amdfc.com




    sunboycongthangitvn thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí