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

30 4 0
Phân tích cấu trúc và nguyên lý làm việc của bộ VXL AMD 64 bit

Đ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

Trường Đại Học Công Nghiệp Hà Nội Khoa : công nghệ thông tin Bài tiểu luận môn học: KTMT Đề tài : Phân tích kiến trúc nguyên lý làm việc VXL 64 bit AMD Giáo viên : Ths Nguyễn Tuấn Tú Nhóm số : 10 Lớp : 3188.2 – K14 Hà Nội, 2020 Trường Đại Học Công Nghiệp Hà Nội Khoa : công nghệ thông tin Bài tiểu luận môn học: KTMT Đề tài : Phân tích kiến trúc nguyên lý làm việc VXL 64 bit AMD Giáo viên : Ths Nguyễn Tuấn Tú Sinh viên thực hiện: Bùi Như Toán Phan Trọng Trường Phùng Xuân Trường Nguyễn Bá Tuấn Vũ Minh Tuấn Lớp : 3188.2 – K14 Hà Nội, 2020 MỤC LỤC LỜI NÓI ĐẦU Vào ngày tháng năm 2006, AMD thức tung thị trường hệ CPU K8 sử dụng socket AM2 (socket AM2 có 940 chân) Thế hệ CPU K8 hỗ trợ RAM DDR2 có thêm số tính năng, cơng nghệ cơng nghệ máy tính ảo AMD Virtualization Đặc biệt hệ CPU K8 dùng socket AM2 cịn có dịng EE (Energy Efficient) với công suất tiêu thụ thấp đáng kể Cốt lõi K8 tương tự K7 Sự thay đổi tích hợp hướng dẫn AMD64 điều khiển nhớ on-chip Bộ điều khiển nhớ đáng kể làm giảm độ trễ nhớ chịu trách nhiệm hầu hết tăng hiệu suất từ K7 lên K8 Dưới số tìm hiểu kiến trúc, nguyên lí làm việc vi xử lí AMD K8 Do thời gian chuẩn bị không nhiều với kiến thức hạn chế thân nên khơng tránh khỏi thiếu sót Mong thầy tham gia góp ý xây dựng thêm để thơng tin hệ thống vi xử lí hồn thiện ! Chương 1: Kiến trúc AMD 64bit 1.1 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 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 Hình 1: ảnh minh họa ( Chip Chipset Mainboard ) Do AMD 64 bit 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 2: Cấu trúc dùng dựa CPU khác Hình 3: 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 1.2 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 chúng tơi 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 Hình 4: Cấu hình Opteron 2xx 8xx có Dual-CPU Đa xử lí Hình 5: Cấu hình Đa xử lí Opteron 8xx có 04 CPU Hình : 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 Hình : Bus HyperTransport kết nối bên CPU Hình 11: Trong vi xử lí Intel thuộc hệ thứ ( Pentium ) 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 Predecode , 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 Nó tính 102 KB gồm : 64KB cache lệnh + 4KB parity + 26 KB Pre-decode + 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ả " 1.7 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 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 Hình 12: Decoder AMD64 1.8 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 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ố nguyên 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 luôn 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 Hình 12 1.9 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 Hình 13 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 ) Chương 2: Nguyên lý làm việc AMD 64 bit 2.1 Hoạt động chíp điều khiển AMD Chíp AMD tạo địa , tín hiệu điều khiển đọc đọc/viết ngoại vi , tính số từ chuyển thơng báo chuyển xong mảng số liệu cho vi xử lý Ta hình dung nh sơ đồ sau : Hình 14:Các đờng liên hệ trực tiếp trình AMD Hình 15: Sơ đồ nối AMD với nhớ, thiết bị ngoại vi vi xử lý Khi hoạt động AMD , ngoại vi ( ví dụ, điều khiển ổ đĩa) muốn gửi byte số liệu phơng pháp trớc hết phải gửi tín hiệu theo yêu cầu AMD DREQ tới lối vào (gọi kênh) chíp AMD Nếu kênh khơng bị che, chíp AMD đáp lại tín hiệu ghi nhận yêu cầu HRQ.Vi xử lý đáp ứng cách thả bus gửi tín hiệu ghi nhận HLDA tới AMD Khi AMD nhận đợc tín hiệu này, gửi đợc tín hiệu điều khiển chuyển mạch kể tới vị trí AMD chúng.Việc làm ngát xử lý khỏi bus nối AMD với bus Lúc AMD nhận quyền điều khiển bus gửi địa nhớ mà số liệu từ ngoại vi cần viết vào Tiếp theo gửi tín hiệu nhận AMD DACK0 tới ngoại vi để báo cáo cho ngoại vi sẵn sàng gửi tiếp số liệu Cuối cùng, chíp AMD hạ hai đờng IOR MEMW bus điều khiển tới mức lôgic thấp phép ngoại vi xuất byte số liệu viết vào nhớ Khi việc truyền số liệu hoàn tất, chip AMD lấy di tín hiệu yêu cầu HRQ thả bus Các chuyển mạch quay vị trí ban đầu cho phép xử lý nắm lại quyền điều khiển bus AMD yêu cầu Việc truyền số liệu AMD từ nhớ tới ngoại vi đợc thực theo cách tơng tự có điều chíp AMD lúc làm tích cực đờng điều khiển đọc nhớ MEMR đờng điều khiển số liệu IOW Thông thờng chip AMD chuyển lên tục mảng số liệu, nên có đếm số từ (word count register) cho kênh Sau chuyển đợc từ, nội dung đếm giảm 1, địa AMD đợc hiệu chỉnh lại (hoặc tăng giảm l) Khi nội dung đếm số từ 0, chip AMD thông báo kết thúc hoạt động AMD tín hiệu TC (terminal count) đợc tạo từ đếm số từ Kết thúc trình AMD, chip AMD đa theo tín hiệu yêu cầu treo HRQ trở mức tích cực (HRQ = 0) Có hai phơng pháp thực AMD: - Cách thứ xử lý chuyển nhợng bus cho AMD tự treo - Cách thứ hai AMD lấy chu kì 2.2 Chip bổ trợ AMD-8237A 2.2.1 Sơ đồ nguyên lý Vi mạch 8237A hãng Intel ví dụ điển hình chip điều khiển truy nhập nhớ trực tiếp AMD máy vi tính IBM PC Đó vi mạch gồm có 40 chân đợc chia làm hai hàng bên 20 chân Ta thấy hình sau: Hình 16 AMD-8237A gồm khối : - Khối điều khiển phân chia thời gian cho hoạt động bên tạo tín hiệu điều khiển cho bên ngồi - Khối điều khiển mã lệnh CPU đa tới trớc phục vụ AMD giảI mã từ điều khiển chế độ để chọn điều kiểu AMD - Khối mã hoá đàu tiên làm trọng tài yêu tiên giải u tiên cho kênh AMD yêu cầu phục vụ thời điểm Các chân tín hiệu nh sau: IOR: thị chip AMD đọc số liệu từ ngoại vi địachỉ cảng IOW: AMD viết số liệu tới ngoại vi qua cảng MEMR: số liệu đợc đọc từ nhớ MEMW:số liệu đợc viết nhớ READY: tín hiệu vào từ nhớ ngoại vi HLDA: CPU bus master báo cho biết rời khỏi bus cho AMD ADSTB: nhận byte cao vào chốt địa ngồi DAM AEN: kích hoạt chốt địa AMD HQR: tín hiệu yêu cầu AMD từ chip 8237 CS: tín hiệu chọn chip CLK: lối vào xung nhịp đồng hồ(4,77 MHz 7,16 MHz PC) RESET: khởi động lại chip DACK0-DACK3: chấp nhận AMD DREQ0-DREQ3: đòi hỏi AMD tử ngoại vi ... Chương 1: Kiến trúc AMD 6 4bit 1.1 Giới thiệu Trong phần xem qua cấu trúc bên vi xử lí AMD6 4 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... 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í AMD6 4 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... Athlon 64, Athlon 64 X2 Athlon 64 FX Hình Socket CPU Mainboard Hình : Socket 754 Hình : Socket 939 1.4 Những đặc điểm AMD6 4 Từ phát hành Athlon64 , cấu trúc AMD6 4 đem lại nhiều kiểu 64- bit cho

Ngày đăng: 11/12/2020, 19:55

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • Chương 1: Kiến trúc AMD 64bit

    • 1.1. Giới thiệu

    • 1.2. Bus HyperTransport và Đa xử lí

    • 1.3. Socket của CPU

    • 1.4. Những đặc điểm chính AMD64

    • 1.5. Pipeline AMD64

    • 1.6. Bộ nhớ Cache và Fetch Unit 

    • 1.7. Decoder

    • 1.8. Dispatch và Schedule 

    • 1.9. Execution Unit

    • Chương 2: Nguyên lý làm việc AMD 64 bit

      • 2.1. Hoạt động của chíp điều khiển AMD

      • 2.2. Chip bổ trợ AMD-8237A

        • 2.2.1. Sơ đồ nguyên lý

        • 2.2.2. Các trạng thái làm việc của thanh ghi

        • 2.2.3. Các thanh ghi bên trong 8237

        • 2.2.4. Chu kỳ nghỉ

        • 2.2.5. Chu kì hoạt động

        • 2.2.6. Các chế độ ưu tiên

        • 2.2.7. Làm việc với vi xử lý

        • 2.3. Athlon và hammer: giống và khác nhau

        • 2.4. CPU hai nhân của AMD

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

  • Đang cập nhật ...

Tài liệu liên quan