Phân tích kiến trúc và nguyên lý làm việc của bộ VLX 64bit của AMD

22 102 0
Phân tích kiến trúc và nguyên lý làm việc của bộ VLX 64bit của AMD

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bộ công thơng Trờng đại học côngnghiệp hà nội Khoa: công nghệ thông tin BáO CáO BàI TậP LớN MÔN HäC KIÕN TRóC M¸Y TÝNH NHãM THùc HIƯN : Nhãm LớP : KTPM2 Thành viên nhóm : Phạm Văn Cờng Vũ Mạnh Cờng Nguyễn Văn Công Đoàn Văn Chung Giáo viªn híng dÉn : ngun tn tó Hà nội: 2012 Phần A : Giới thiệu I / đề tài Phân tích kiến trúc & nguyên lý làm việc vi xư lý amd 64 bit II/ bè cơc kiến trúc AMD 64 bit 2.Nguyên lý làm việc AMD 64 bit Phần B: Nội dung Kiến trúc AMD 64bit: Giới thiệu Trong phần xem qua cấu trúc bên vi xử lí AMD64 sử dụng Athlon 64, Athlon 64 X2, Athlon 64 FX, Opteron, Turion 64 vài kiểu Sempron Cấu trúc có tên gọi K8 Hammer , sau xem cấu trúc bên so sánh với cấu trúc bên bịi vi xử lí Intel Sự khác cấu trúc AMD64 vi xử lí thiết kế trước AMD AthlonXP Athlon chỗ phần điều khiển nhớ kèm bên CPU mà không thông qua Chip North Bridge ( Chip Chipset Mainboard ) Do Mainboard sản xuất cho vi xử lí dựa cấu trúc AMD64 Chip “North Bridge” cầu nối CPU Bus đồ hoạ (AGP PCI Express) Chip "South Bridge" Từ Chip “North Bridge” sản xuất đơn giản vài nhà sản xuất Chipset Mainboard cho kiểu CPU AMD64 Từ phần điều khiển nhớ kèm bên CPU , dung lượng nhớ - bao gồm kiểu nhớ hỗ trợ hỗ trợ Dual Channel - phụ thuộc vào CPU mà khơng cịn phụ thuộc vào North Bride ( khơng cịn phụ thuộc vào Mainboard ) xảy với Mainboard sử dụng CPU có cấu trúc khác Như Mainboard dùng CPU dựa cấu trúc AMD64 mà khơng tích hợp Video on-board khơng có tính khác Mainboard quan tâm đến Mainboard dùng CPU dựa cấu trúc AMD64 có tích hợp Card hình on-board có tính phần Card hình quan tâm đến Hình cấu trúc dùng dựa CPU khác Hình cấu trúc dùng dựa vi xử lí AMD64 Chúng ta nói Chip "North Bridge" gắn bên CPU Trên Mainboard tìm thấy Chip " Bridge" mà phù hợp giao diện Bus "HyperTransport" ( có nghĩa CPU ) với Bus card đồ hoạ (AGP PCI Express x16) Chip "South Bridge" Đôi nhà sản xuất Mainboard họ đưa Chip gọi “Single-chip Solution” bao gồm Chip " Bridge" Chip "South Bridge" Phần điều khiển nhớ kèm bên vi xử lí AMD64 điều khiển tới 04 nhớ / kênh Do hệ thống Dual - Channel điều khiển 08 nhớ Số khe cắm có sẵn Mainboard giới hạn nhà sản xuất Mainboard Bus HyperTransport Đa xử lí Sự trao đổi thông tin CPU AMD64 Chip " Bridge" thực Bus có tên HyperTransport Tốc độ HyperTransport phụ thuộc vào kiểu CPU Giá trị thông thường 3200MB/s 4000MB/s Để hiểu kỹ HyperTransport bạn xem riêng trang Web Bộ vi xử lí AMD64 có nhiều bus HyperTransport Trong tất CPU AMD64 thị trường máy tính để bàn máy tính xách tay Athlon 64, Athlon 64 FX, Athlon 64 X2, Sempron Turion 64 có 01 bus HyperTransport , kiểu CPU dùng AMD64 cho náy chủ máy trạm làm việc - Opteron - có nhiềuhơn 01 bus HyperTransport Bộ vi xử lí Opteron có series 1xx khơng hỗ trợ Đa xử lí có 01 bus HyperTransport hình ( phần 1) CPU Opteron 2xx hỗ trợ đa xử lí tới 02 CPU có 02 Bus HyperTransport CPU Opteron 8xx hỗ trợ đa xử lí tới 08 CPU có 03 Bus HyperTransport Những Bus thêm vào để dùng kết nối bên CPU với , xem hình Cấu hình Opteron 2xx 8xx có Dual-CPU Đa xử lí Cấu hình Đa xử lí Opteron 8xx có 04 CPU Cấu hình đa xử lí Opteron 8xx có 08 CPU Quan điểm AMD vấn đề Đa xử lí đáng quan tâm Mỗi CPU có phần điều khiển nhớ , CPU truy cập vào nhớ riêng biệt Ví dụ : hệ thống 04 Opterron có 4GB nhớ CPU có điều khiển riêng 1GB nhớ Trong hệ thống Opteron có 04 CPU 4GB chia cho tất CPU Như CPU điều khiển tới 04 nhớ / kênh 04 CPU điều khiển trực tiếp tới 32 nhớ ( 08 / CPU ) Nhà sản xuất Mainboard thiết kế số khe cắm RAM sẵn sàng Mainboard ( có nghĩa nói hệ thống Opteron 04 CPU có tới 32 nhớ mà khơng thể nói tất hệ thống Opteron 04 PCU có 32 khe cắm RAM ) Trong hình thấy phần "I/O " I/O đại diện cho kiểu Bridge , thơng thường South Bridge , Bridge Card đồ hoạ AGP PCI Express x16 , PCI-X PCI Express cho mục đích Card Add-on Bus HyperTransport kết nối bên CPU theo hình Bộ vi xử lí AMD64 có "Crossbar" , đường nạp liệu lệnh từ tới CPU , nhớ với Bus HyperTransport 10 System Request Interface (SRI) gọi System Request Queue (SRQ), APIC Advanced Programmable Interrupt Controller Socket CPU CPU AMD64 có vài kiểu Socket khác Chúng ta phải dùng Mainboard có kiểu Socket với CPU mà có Những kiểu Socket khác tính khác phần điều khiển nhớ • • • • Socket 754 : phần điều khiển nhớ DDR Single - Channel , có nghĩa điều khiển nhớ truy cập nhớ 64-bit sử dụng cho kiểu Athlon64 , Turion64 kiểu Sempron socket 754 Socket 939 : điều khiển nhớ DDR Dual - Channel , điều khiển nhớ truy cập 128-bit sử dụng kiểu Athlon 64, Athlon 64 X2, Athlon 64 FX vài dòng Opteron 1xx Socket 940 : điều khiển nhớ DDR Dual - Channel yêu cầu nhớ ECC dùng Opteron kiểu Athlon 64 FX Socket AM2 : điều khiển nhớ DDR2 Dual - Channel Được dùng cho sản phẩm tới Athlon 64, Athlon 64 X2 Athlon 64 FX Hình Socket CPU Mainboard Socket 754 11 Socket 939 Những đặc điểm AMD64 Từ phát hành Athlon64 , cấu trúc AMD64 đem lại nhiều kiểu 64-bit cho lệnh x86 Kiểu gọi x86-64 AMD làm để mở rộng ghi có sẵn 32-bit thành ghi 64-bit Tất vi xử lí AMD64 có 16 ghi 64-bit chạy kiểu x86-64 Trong kiểu vi xử lí có bus địa mở rộng từ 32-bit lên 40-bit , cho phép CPU truy cập tới 1TB RAM ( 2^40 ) Cũng kiểu CPU truy cập tới 256TB nhớ ảo ( 2^48 ) Bộ nhớ ảo công nghệ mà cho 12 phép CPU mơ phịng nhiều nhớ RAM cách tạo thành file nháp ổ cúng gọi Swap file Intel Copy tất đặc điểm họ khơng ngoại trừ đặc điểm AMD Mặc dù CPU AMD64 mà hỗ trợ kiểu x86-64 khơng phải tất vi xử lí Intel hỗ trợ đặc điểm Để sử dụng đặc điểm hệ điều hành phải chạy 64-bit Như biết phần điều khiển nhớ AMD64 làm việc công nghệ DDR DDR2 Công nghệ Dual Data Rate làm việc cáhc truyền 02 liệu chu kì đồng hồ Do dùng Athlon64 có nhớ DDR400/PC3200 , CPU truy cập với tần số xung nhịp đồng hồ 200MHz 400 MHz ( nhớ DDR DDR2 có tốc độ thực 1/2 tốc độ ghi nhãn ) Tất CPU AMD64 có nhớ Cache lệnh 64KB Cache liệu 64KB Bộ nhớ cache L2 phụ thuộc vào kiểu CPU Trong vi xử lí Dual-core cache L2 tách rời có nghĩa nhân sở hữu nhớ cache L2 riêng biệt Trong CPU Intel dòng ( Core Duo Core Duo ) bọ nhớ cache L2 dùng chung chia xẻ tuỳ theo nhu cầu nhân ( Intel tuyên bố cải tiến để tăng hiệu suất làm việc ) Pipeline AMD64 Pipeline danh sách tất tầng mà lệnh phải qua cách thứ tự để thực cơng việc hồn thành Cấu trúc AMD 64 dùng 12 tầng Pipeline lệnh thực số nguyên 17 tầng Pipeline phép tính thực dấu phảy động Dó cần 12 17 bước để lệnh đưa thực hoàn thành AMD64 Cấu trúc trước AMD - K7 , sử dụng Athlon , Athlon XP vài kiểu Sempron , có 10 tầng Pipeline Pentium có 20 tầng , Pentium 13 “Prescott” có 31 tầng Intel quay trở lại vi xử lí sau Core Duo có 14 tầng Pipeline Chúng ta nghiên cứu Pipeline số nguyên AMD64 Nó dựa Pipeline cấu trúc K7 , khác tầng Decoder ( giải mã ) mà phân thành vài tầng khác , chắn cho phép CPU AMD64 đạt tốc độ đồng hồ cao • • Fetch : lệnh đưa tới từ nhớ cache lệnh L1 thành nhóm 16 byte ( 128 bit ) Trong phần thành 02 tầng Tầng thứ hai biết “Transit” - Sự qua , hoạt đơng jchính để chuyển liệu bên CPU ( tương tự tầng Drive Pentium ) Pick : Fetch Unit gửi 128-bit mà chuyển tới tầng , cung cấp tới đệm sẵn sàng Những lệnh x86 khơng có độ dài cố định , tầng CPU tìm tách lệnh có bên đệm Nó định lệnh x86 gửi tới phần Decoder 14 • • • • • • • : tới Decode đơn giản ( nhanh ) dùng lệnh x86 chung mà chuyển đổi thành hai vi lệnh , tới Decoder phức tạp ( chậm ) dùng cho lệnh x86 mà chuyển đổithành vài vi lệnh Tầng biết "Scan " Decode : lệnh x86 chuyểnthành vi lệnh nhân CPU hiểu Trong phần có 02 tầng Pack : cặp vi lệnh giải mã ghép thành vi lệnh Pack/Decode : vài giải mã làm trước vi lệnh gửi tới Instruction Control Unit AMD64 ( tương tự ROB Reorder Buffer Intel ) Dispatch : vi lệnh gửi tới Scheduler thích hợp tầng Schedule : vi lệnh lên danh sách để thực Scheduler CPU AGU/ALU : lệnh liên quan đến số nguyên lên quan đến nhớ thực Data Cache : dú liệu sinh Execution Unit gửi tới nhớ Cache L1 , ghi lưu lưu trữ lệnh đánh dấu “executed” ROB Phần giống “Retirement” CPU Intel Bộ nhớ Cache Fetch Unit Trong cấu trúc AMD64 đường liệu kết nối nhớ Cache L1 L2 có độ rộng 128-bit Trong vi xử lí Intel thuộc hệ thứ ( Pentium ) đường liệu có độ rộng 256-bit CPU Intel thuộc thhé hệ thứ (Pentium Pro, Pentium II, Pentium III ) đường rộng 64-bit 15 Bộ nhớ cache lệnh L1 CPU AMD64 bao gồm mạch logic Pre-decode , byte lưu trữ bên nhớ cache L1 có vài bit để đánh dấu bắt đầu kết thúc lệnh Những lệnh x86 khơng có độ dài cố định ( chúng có từ đến 15 byte ) , q trình xử lí để tách đâu điểm đầu đâu điểm cuối quan để CPU giải mã ( Decoder ) Cache lệnh L1 cung cấp 76 bit phụ tới Fetch Unit : 52 bit Pre-decode , 08 bit chẵn lẻ 16 phần chọn rẽ nhánh Những bit chọn rẽ nhánh CPU sử dụng để ccó gắng dự đốn trước rẽ nhánh bên chương trình Do thực tế Cache L1 có dung lượng lớn 64KB thơng báo có thêm thông tin lưu trữ Pre-decode thông tin rẽ nhánh 16 Nó tính 102 KB gồm : 64KB cache lệnh + 4KB parity + 26 KB Predecode + 8KB liệu rẽ nhánh Cấu trúc AMD64 dùng 2048 đầu vào BTB (Branch Target Buffer) , có cng kích thước với cấu trúc hệ trước CPU AMD , K7 BTB nhớ nhỏ mà chứa danh sách tất rẽ nhánh nhận biết bên chương trình BTB Pentium có 4096 đầu vào vi xử lí thuộc hệ thứ Intel phần đệm có 512 đầu vào Thanh ghi rẽ nhánh khác BHT (Branch History Table) , AMD gọi GHBC (Global History Bimodal Counter) , có 16384 đầu vào cấu trúc AMD64 , Pentium Intel có 4096 đầu vào , có kích thước với BHT cấu trúc K7 AMD Thanh ghi có 02-bit dùng để theo vết rẽ nhánh có điều kiện " có khả " , "có khả năng" , " khơng có khả năng" "khơng có khả " Decoder Bộ vi xử lí AMD dùng cấu trúc ghép lai CISC/RISC từ hệ thứ ( có tên K5 ) Intel bắt đầu dùng phương pháp từ CPU thuộc hệ thứ CPU phải chấp nhận lệnh CISC , hay gọi x86 , từ hầu hết chương trình ngày sử dụng lệnh Những vi xử lí có RISC khơng thiết kế cho PC khơng chạy chương trình thơng thường : Windows , OFFICE Do đo giải pháp tất vi xử lí thị trường ngày AMD Intel dùng giải mã ( Decoder ) Bên CPU có lệnh RISC , đằng trước Decoder có lệnh CISC Những lệnh x86 CISC gọi " lệnh " , lệnh bên RISC gọi "vi lệnh " : “micro-op”, “µops” , “ROP” Cấu trúc AMD64 có kiểu lệnh thứ ba gọi Macro-op "MOP" , lệnh tạo từ Giải mã lệnh AMD64 thực bên Macro-op Khi Macro-op đưa tới Scheduler thích hợp , đẩy nhanh giải mã thành vi lệnh sau vi lệnh thực Nếu ý nhớ cấu trúc Intel sử dụng kiểu Macro-op đặc điểm Macro-fusion ( ghép hai vi lệnh thành vi lệnh ghi có độ rộng gấp đơi ) Những vi xử lí có sử dụng Macro-fusion làm việc với lệnh rẽ nhánh , AMD64 dùng Macro-op dùng tất lệnh 17 Những vi lệnh RISC truy cập trực tiếp , không tạo phần mềm viết tập lệnh , lệnh phải qua phần Decoder Mỗi CPU có tập vi lệnh RISC riêng khơng tương thích với vi lệnh từ CPU khác Có nghĩa vi lệnh AMD65 khác với vi lệnh Pentium , khác với cấu trúc vi lệnh K7 Tuỳ thuộc vào độ phức tạp lệnh x86 , chuyển đổi thành vài vi lệnh RISC Trong cấu trúc AMD64 , vi lệnh x86 chuyển đổi thành Macro-op sử dụng 03 phần khác : • • • Dùng Decoder đơn giản , gọi DirectPath Single , mà chuyển lệnh x86 thành lệnh Macro-op Cũng dùng Decoder đơn giản , gọi DirectPath Double , chuyển đổi 01 lệnh x86 thành 02 Macro-op Hoặc dùng Decoder phức tạp , gọi DirectPath Vector , chuyển 01 lệnh x86 thành vài lệnh Macro-op Ở Decoder AMD64 làm việc ? Trong tầng Pick , gọi Scan , CPU tìm kiếm tách lệnh thời Instruction Byte Buffer , định phần dùng DirectPath VectorPath Sau đến tầng giải mã Decode , phân thành 02 bước , lệnh x86 chuyển đổi thành Macro-op Tầng tương đương với tầng Aligh CPU K7 Tốc độ giải mã lớn đầu 06 Macro-op / chu kì đồng hồ : 03 macro-op cho DirectPath 03 macro-op cho VectorPath Những Macro-op tới tầng Pack ( tương đương với tầng Decode K7 ) , lệnh Macro-op gói lại với , 03 Macro-op gửi tới tầng - Pack/Decode - sau Macro-op gửi tới Instruction Control Unit ( tương đương với Reorder Buffer (ROB) Intel 18 Dispatch Schedule Như đề cập Instruction Control Unit ROB (Reorder Buffer) vi xử lí AMD64 Ở Macro-op "nhặt" gửi tới phần lên cơng việc OOO ( Out-Of-Order ) , có nghĩa thực công việc không theo thứ tự lệnh xuất chương trình Ví dụ chương trình sau : Interger Interger Interger Interger FP 19 Interger FP Cấu trúc AMD64 có 03 Execution Unit thực phép tính liên quan đến số nguyên có 03 Execution Unit thực phép tính liên quan đến dấu phảy động Nếu khơng thực OOO phần liên quan đến dấu phảy động nghỉ chạy chương trình lệnh trước lệnh liên quan đến số ngun khơng thể thực lúc có 03 Execution Unit sử dụng Từ có cải tiến kiểu thực OOO , lệnh thứ năm lệnh dấu phảy động (FP) ,có thể gửi thực lúc với lệnh Interger , công việc tăng hiệu suất CPU Trên thực tế AMD64 có 03 FPU nên hai lệnh FP có chương trình chuyển để thực lệnh lúc Mục đích làm cho CPU ln hoạt động tất thời gian ROB ( Reorder Buffer ) có sẵn cấu trúc AMD64 , có 72 đầu vào điều thú vị Execution Unit liên quan đến số ngun có vị trí cố định Scheduler ( đầu vào / ALU ) Những Execution Unit FP khối Scheduler có 36 đầu vào Do tổng cộng AMD64 có 04 Scheduler , tương đương với Pentium ROB cung cấp cho Register Renaming Cấu trúc lệnh CISC x86 có 08 ghi 32-bit (EAX, EBX, ECX, EDX, EBP, ESI, EDI ESP) Số , đặc biệt CPU thực cơng việc kiểu OOO , phá huỷ nội dung ghi làm hỏng chương trình Do tầng vi xử lí thay đổi tên nội dung ghi dùng chương trình thành 96 ghi , trogn Pentium có 128 ghi Thế hệ thứ vi xử lí Intel (Pentium II , Pentium III) có 40 ghi Một điều ý thủ thuật nhỏ cấu trúc AMD64 cần 96 ghi Chúng tạo cách đơn giản trường kết hay 72 đầu vào ROB để lưu trữ kết lệnh ( Pentium khơng có việc ; Pentium cần định ghi bên để lưu trữ kết lệnh thực ) Thêm vào File ghi ( IFFRF, Integer Future File and Register File, AMD gọi vậy) có 40 đầu vào ( 16 số để lưu trữ giá trị “correct” cho ghi x86 , chúng khơng dùng ) ==> 72 + 40 -16 = 96 20 Execution Unit Cấu trúc AMD64 có 03 Execution Unit cho số nguyên ( hay gọi ALU - Arithmetic and Logic Unit, IEU - Integer Execution Unit) , 03 AGU (Address Generation Unit ) 03 FPU (Floating-Point Unit) Nó có nhiềuhơn 01 ALU so với Pentium Tốc độ chuyển lệnh cao 06 lệnh / chu kì đồng hồ , tốc độ với Pentium 21 Như hình thấy , có lệnh FP xử lí FPU riêng biệt FPAD cho lệnh cộng dấu phảy động lệnh ADDPS ( tập lệnh SSE ) FMUL thực lệnh nhân dấu phảy động MULPS ( tập lệnh SSE ) 22 ... thiệu I / đề tài Phân tích kiến trúc & nguyên lý làm việc vi xư lý amd 64 bit II/ bè cơc kiến trúc AMD 64 bit 2 .Nguyên lý làm việc AMD 64 bit Phần B: Nội dung Kiến trúc AMD 64bit: Giới thiệu... thuộc vào CPU mà khơng cịn phụ thuộc vào North Bride ( khơng cịn phụ thuộc vào Mainboard ) xảy với Mainboard sử dụng CPU có cấu trúc khác Như Mainboard dùng CPU dựa cấu trúc AMD6 4 mà khơng tích. .. tăng hiệu suất làm việc ) Pipeline AMD6 4 Pipeline danh sách tất tầng mà lệnh phải qua cách thứ tự để thực cơng việc hồn thành Cấu trúc AMD 64 dùng 12 tầng Pipeline lệnh thực số nguyên 17 tầng

Ngày đăng: 15/11/2020, 14:43

Từ khóa liên quan

Mục lục

  • Phần B: Nội dung

  • 1. Kiến trúc AMD 64bit:

Tài liệu cùng người dùng

Tài liệu liên quan