Tìm hiểu kiến trúc vi xử lý AMD a Series Bulldorzer
TÌM HIỂU KIẾN TRÚC VI XỬ LÝ AMD A SERIES (KIẾN TRÚC BULLDORZER) I. Giới thiệu khái quát về VXL - Vi xử lý (viết tắt là µP hay uP), đôi khi còn được gọi là bộ vi xử lý, là một linh kiện điện tử máy tính được chế tạo từ các tranzito thu nhỏ tích hợp lên trên một vi mạch tích hợp đơn. Khối xử lý trung tâm (CPU) là một bộ vi xử lý được nhiều người biết đến nhưng ngoài ra nhiều thành phần khác trong máy tính cũng có bộ vi xử lý riêng của nó, ví dụ trên cạc màn hình (video card) chúng ta cũng có một bộ vi xử lý. - Trước khi xuất hiện các bộ vi xử lý, các CPU được xây dựng từ các mạch tích hợp cỡ nhỏ riêng biệt, mỗi mạch tích hợp chỉ chứa khoảng vào chục tranzito. Do đó, một CPU có thể là một bảng mạch gồm hàng ngàn hay hàng triệu vi mạch tích hợp. Ngày nay, công nghệ tích hợp đã phát triển, một CPU có thể tích hợp lên một hoặc vài vi mạch tích hợp cỡ lớn, mỗi vi mạch tích hợp cỡ lớn chứa hàng ngàn hoặc hàng triệu tranzito. Nhờ đó công suất tiêu thụ và giá thành của bộ vi xử lý đã giảm đáng kể. - Sự tiến hóa của các bộ vi xử lý một phần nhờ vào việc chạy theo Định luật Moore và hiệu suất của nó tăng lên một cách ổn định sau hàng năm. Định luật này phát biểu rằng sự phức tạp của một mạch tích hợp sẽ tăng lên gấp đôi sau mỗi chu kỳ 18 tháng. Và thực tế, sự phát triển của các bộ vi xử lý đã bám sát định luật này từ nhữngnăm 1970. Nhờ đó, từ máy tính mẹ (mainframe computer) lớn nhất cho đến các máy tính xách tay hiện nay đều sử dụng một bộ vi xử lý nhỏ nhắn tại trung tâm của chúng. - AMD hay Advanced Micro Devices (AMD) là nhà sản xuất linh kiện tích hợp bán dẫn đa quốc gia có trụ sở tại Sunnyvale, Mỹ. AMD là nhà sản xuất bộ vi xử lý (CPU) x86 lớn thứ hai thế giới sau Intel và là một trong những nhà sản xuất bộ nhớ flash hàng đầu trên thế giới; ngoài ra AMD còn sản xuất chipset và các linh kiện điện tử bán dẫn khác. - AMD nổi tiếng với dòng sản phẩm Athlon cho thị trường cao cấp và Duron cho thị trường cấp thấp giá rẻ. Một số linh kiện của các thế hệ đời trước của máy tính Apple cũng do AMD cung cấp. - AMD đã tiết lộ cấu trúc bộ vi xử lí mới sẽ bắt đầu được dùng trong những chiếc CPU mới của hãng này bắt đầu từ năm 2011. Cấu trúc này được gọi là Bulldozer hoàn toàn khác so với kiến trúc AMD64 hiện tại đang được AMD sử dụng kể từ lần ra mắt trong Athlon 64 hồi năm 2003. - Cấu trúc Bulldozer sẽ thừa hưởng một số tính năng có trong cấu trúc AMD64, chẳng hạn như tích hợp Mạch điều khiển bộ nhớ và sử dụng bus HyperTransport để kết nối giữa CPU và chipset. - Bulldozer là tên mã được đặt cho kiến trúc này chứ không phải là cho một bộ vi xử lý cụ thể. Như thông lệ, đầu tiên AMD sẽ phát hành bộ vi xử lý nhằm vào thị trường máy chủ dựa trên kiến trúc mới này, sau đó là thị trường máy để bàn cao cấp, rồi đến các sản phẩm chủ đạo cho hệ thống để bàn , và cuối cùng là dành cho một thị trường giá rẻ. - Mặc dù không hề nói chi tiết về những CPU sẽ được phát hành nhưng AMD lại đề cập rằng những CPU đầu tiên cho máy để bàn dựa trên cấu trúc Bulldozer sẽ cần khe cắm mới được gọi là AM3+ mà cũng tương thích với bộ vi xử lý Socket AM3 hiện tại. Tuy nhiên, CPU dùng Socket AM3+ sẽ không tương thích với Motherboard Socket AM3. - Cấu trúc Bulldozer sẽ trang bị công nghệ tương tự với công nghệ Intel Turbo Boost, cho phép CPU tự Overclock nếu bạn đang chạy các chương trình chuyên sâu về CPU và nếu sự tản nhiệt vẫn đảm bảo trong thông số kỹ thuật. Sau đây chúng ta sẽ tiếp tục tìm hiểu kĩ hơn về kiến trúc vi xử lý AMD A Series (Bulldozer) II. Kiến trúc vi xử lý. a. Sơ đồ khối của Vi xử lý. - Sơ đồ khối : - Tổng quan : • Có nhiều module ( 4 module ) o Fetch/giải mã o Dispath o 2 nhân mỗi module ( interger cluster ) o FPU ( Floating Point Unit ) – chia sẻ giữa các nhân • Cache ( L1, L2, L3 ) • Công nghệ HyperTransport TM • Hợp nhất bộ điều khiển DRAM - Sơ đồ khối Module : - Fetch/giải mã: • Bộ dự đoán rẽ nhánh chạy trước • Chỉ thị giải mã tới : o FastPath đơn ( 1 Macro-op ) o FastPath đôi ( 2 Macro-ops ) o Microdecode • 32 byte Fetch • Bộ giải mã được cung cấp cho 1 nhân mỗi chu kỳ Dispath: • Renaming o Chứa trong PRF • Lịch trình o Macro-ops direct ouf of order scheduling o Micro-ops được thực hiện trong pipeline Interger Cluster : • 2 Interger Cluster cho mỗi module • 2 ALU : Arithmetic Logic Unit o EXo/ALUo : DIV, POPCNT, LZCOUNT o EX1/ALU1 : MUL, JMP • LSU : Load/Stored Unit • DTLB : Data Transition Lookaside Buffer o L1: 32 lối vào hoàn toàn liên kết o L2 : 1024 lối vào 8 lối liên kết FPU : Floating Point Unit • 1 FPU cho mỗi module • 4 pipeline o Po : MAC Unit – Add, Mul, Div, Convert, Suffle, Shift, chỉ thị XOP o P1 : MAC Unit – Add, Mul, Div, Suffle, Shift o P2 : 128 bit Interger SIMD ALU o P3 : 128 bit Interger SIMD ALU : truyền dữ liệu tới store unit • 256 bit AVX Instructions o Tách ra thành 2 macro-ops o Since store unit is not double and register-to-register moves will cause a stall penalty, there is no advantage in using AVX instructions over 128 bit instructions - Cache : • L1 cache : ( phân chia ) o Data cache : 2 cho mỗi module ( 1 cho mỗi Interger Cluster ) 16KB 4-lối liên kết Write Through Predictive ( misprediction adds stalls ) 4 Clocks best case hit time o Instruction cache : 1 cho mỗi module 64KB 2-lối liên kết • L2 cache : 8MB ( phân chia ) o 2MB mỗi module o Bao gồm L1 data cache o 16-lối liên kết o 18-20 chu kỳ hit • Write Coalescing Cache - Tổng quan dòng thực thi : - Nhận lệnh Lệnh giải mã macro-ops Macro-ops float hoặc interger pipeline Pipeline phân bổ vào hang đợi physical Register file ( renaming ) lên lịch trình micro-ops thực thi ( khi đầu vào cho micro-ops đã sẵn sàng ) Hoàn thành micro-ops Signal core for retirement - Công nghệ HyperTransport TM : • AMD chọn lựa công nghệ BUS o 2 chiều, nối tiếp / song song, liên kết point-to-point o Độ trễ thấp, bandwidth cao o Tăng tốc độ dữ liệu gấp đôi • HyperTransport 3.1 o 3.2 GHz o 1 16-bit liên kết ( 16 nhận / 16 truyền tải ) o 12.8 GB/s ( Tx/Rx ) o Tối đa ( không được cho phép ) 4 16-bit liên kết 51.2 GB/s - Bộ điều khiển DRAM • 2.2 GHz clock • Hỗ trợ DDR3 – 1866 o 2 72 bit độ rộng kênh nhớ • Tiết kiệm năng lượng o Hoạt động điều tiết giảm tiêu thụ điện o Ở chế độ chờ khi không hoạt động b. Các thành phần chính của VXL Bulldozer: - Sơ đồ cấu trúc tổng quan các thành phần: - Các bộ phận Fetch và Decode • Fetch được chia sẻ bởi 2 "lõi" có sẵn trong mỗi module Bulldozer. • Fetch chịu trách nhiệm việc nhận lệnh tiếp theo từ RAM hoặc cache nhớ để giải mã. - Cấu trúc của 1 core: - Mỗi core ( Interger Engine ) đều có 4 đơn vị Execution đó là: • EX, MUL: có thể thực hiện bất kì một loại lệnh số nguyên nào, bao gồm cả phép tính nhân, nhưng không làm phép chia. • EX, DIV: có thể thực hiện được bất cứ loại lệnh số nguyên nào, bao gồm cả phép chia, nhưng không làm phép nhân. • AGen: hay được gọi là AGU hoặc Address Generation Unit được sử dụng để tạo ra các địa chỉ mà CPU nhận hoặc lưu trữ dữ liệu. • Load/Store ("Ld/ST") chịu trách nhiệm nhận hoặc lưu trữ vào bộ nhớ một dữ liệu mà một lệnh yêu cầu. - Khối Floating-point Unit: - Floating-point Unit cũng có 4 khối Execution đó là: • Hai khối MMX: có thể thực hiện được tất cả các chỉ lệnh dấu phẩy động cơ bản (các lệnh x87) • Hai khối 128-bit FMAC: có thể thực hiện được tất cả các lệnh dấu phẩy động - Bộ nhớ Cache L2 - L2 cache trên Bulldozer không chỉ dùng riêng cho từng nhân số nguyên mà còn có “trách nhiệm” gánh bớt tải cho L1 DCache - Ngoài ra còn có: • Bộ đệm dữ liệu L1 Dcache • B ộ nạp ng ầm Data prefetcher • Bộ giải mã 4x86 Decoders c. Tập lệnh của VXL Bulldozer. - Mô tả vắn tắt tập lệnh vi xử lý: Ngoài việc tương thích với các tập lệnh x86 chuẩn, Bulldozer còn hỗ trợ những tập lệnh bổ sung dưới đây: • SSE4.1 và SSE4.2 • AVX (Advanced Vector Extensions) cùng với 2 lệnh là XOP và FMA4 • AES (Advanced Encryption Standard) • LWP (Light Weight Profiling) . VXL AMD A Series Trong Xử Lý Và Ưng Dụng (Kiến trúc Bulldozer ) (AMD A4 ,A6 ,A8 ,A1 0) Bộ xử lý tăng tốc AMD s A- Series là sự kết hợp c a bộ vi xử lý a nhân. hiểu kĩ hơn về kiến trúc vi xử lý AMD A Series (Bulldozer) II. Kiến trúc vi xử lý. a. Sơ đồ khối c a Vi xử lý. - Sơ đồ khối : - Tổng quan : • Có nhiều module