Đề tài 27. Nghiên cứu tìm hiểu về tập lệnh của hệ vi xử lý AMD 29000.

18 1.7K 16
Đề tài 27. Nghiên cứu tìm hiểu về tập lệnh của hệ vi xử lý AMD 29000.

Đ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ÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -oo0000oo - BÁO CÁO BÀI TẬP LỚN Bộ môn: Kiến trúc máy tính Đề tài: Nghiên cứu tìm hiểu tập lệnh hệ vi xử lý AMD 29000 Giáo viên hướng dẫn: Thầy Nguyễn Thanh Hải Nhóm: 10 Họ tên sinh viên Mã sinh viên Đỗ Công Minh 1041360333 Nguyễn Huy Huân 1041060197 Đinh Văn Trường 1041060227 Vương Đình Pháp 1041060132 Phạm Công 0941060161 Hà Nội, tháng 10 năm 2016 Mục lục: A Mở đầu trang B Nội dung trang I Giới thiệu tổng quan vi xử lý AMD Am29000 trang II Trình bày sơ đồ khối chức bên CPU AMD Am29000 trang III Đặc điểm chức AMD 29000 trang Khối điều khiển (CU - Control Unit) trang Khối tính toán ALU (Arithmetic Logic Unit) .trang Các ghi (Registers) .trang a, Thanh ghi mục đích chung .trang b, Thanh ghi địa trang 10 c, Thanh ghi chung .trang 10 d, Thanh ghi cục Stack Pointer .trang 10 e, Thanh ghi cục trang 11 f, Thanh ghi bank trang 11 IV Cấu trúc lệnh tập lệnh AMD Am 29000 trang 12 SỐ TẬP LỆNH AMD Am29000 trang 17 A MỞ ĐẦU Vi xử lý (CPU) gì? Trước hết để tránh băn khoăn đáng tiếc nghiên cứu tài liệu, xin giới thiệu đôi chút 02 khái niệm “vi xử lý” (microprocessor) “vi điều khiển (microcontroller) Về hai khái niệm không khác nhiều, “vi xử lý” thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng công nghệ vi điện tử, công nghệ tích hợp khả xử lý theo chương trình vào lĩnh vực khác Vào giai đoạn đầu trình phát triển công nghệ vi xử lý, chip (hay vi xử lý) chế tạo tích hợp phần cứng thiết yếu CPU mạch giao tiếp CPU phần cứng khác Trong giai đoạn này, phần cứng khác (kể nhớ) thường không tích hợp chip mà phải ghép nối thêm bên Các phần cứng gọi ngoại vi (Peripherals) Về sau, nhờ phát triển vượt bậc công nghệ tích hợp, ngoại vi tích hợp vào bên IC người ta gọi vi xử lý tích hợp thêm ngoại vi “vi điều khiển” Việc tích hợp thêm ngoại vi vào IC với CPU tạo nhiều lợi ích làm giảm thiểu ghép nối bên ngoài, giảm thiểu số lượng linh kiện điện tử phụ, giảm chi phí cho thiết kế hệ thống, đơn giản hóa việc thiết kế, nâng cao hiệu suất tính linh hoạt Trong tài liệu này, ranh giới hai khái niệm “vi xử lý” “vi điều khiển” thực không cần phải phân biệt rõ ràng Chúng dùng thuật ngữ “vi xử lý” đề cập đến khái niệm kỹ thuật vi xử lý nói chung dùng thuật ngữ “vi điều khiển” sâu nghiên cứu họ chip cụ thể Về kiến trúc vi xử lý gồm phần cứng sau: Đơn vị xử lý trung tâm CPU (Central Processing Unit) Các nhớ (Memories).- Các cổng vào/ra song song (Parallel I/O Ports) Các cổng vào/ra nối tiếp (Serial I/O Ports) Các đếm/bộ định thời (Timers) Ngoài với loại vi điều khiển cụ thể có thêm số phần cứng khác biến đổi tương tự-số ADC, biến đổi số-tương tự DAC, mạch điều chế dạng sóng WG, điều chế độ rộng xung PWM… Bộ não vi xử lý CPU, phần cứng khác quan chấp hành quyền CPU Mỗi quan có chế hoạt động định mà CPU phải tuân theo giao tiếp với chúng Để giao tiếp điều khiển quan chấp hành (các ngoại vi), CPU sử dụng 03 loại tín hiệu tín hiệu địa (Address), tín hiệu liệu (Data) tín hiệu điều khiển (Control) Về mặt vật lý tín hiệu đường nhỏ dẫn điện nối từ CPU đến ngoại vi chí ngoại vi với Tập hợp đường tín hiệu có chức gọi bus Như ta có bus địa chỉ, bus liệu bus điều khiển B NỘI DUNG I Giới thiệu tổng quan vi xử lý AMD Am29000 AMD am29000 load-store CPU xuống từ thiết kế Berkeley RISC (và dự án IBM 801), kế đại với trước năm 2900 hàng loạt bitslice khoảng năm 1981) Giống thiết kế SPARC giới thiệu thời gian ngắn sau đó, 29000 có tập lớn ghi chia thành cục chung Nhưng giới thiệu trước SPARC, có phương pháp đơn giản quản lý ghi AMD am29000 thiết kế RISC có hiệu suất cao Nó đáng ý số khổng lồ 192 ghi lập trình (hầu hết chip RISC có 32; Pentium có 8) Nhưng bất chấp tất ưu điểm kiến trúc 29K, không tồn dài Mặc dù hàng năm nhiều triệu đơn vị bán ra, AMD (Advanced Micro Devices) khai tử gia đình 29K vào năm 1995 AMD từ bỏ toàn dòng sản phẩm dù trở thành kiến trúc RISC thứ hai bán chạy giới chi phí hỗ trợ cao Tổng quan sản phẩm AMD Am29000 vi xử lý 32-bit RISC, tầng đường ống , 512-byte BTC (Branch Target Cache) Đặc điểm khác biệt: - Full 32-bit, kiến trúc ba bus - Chỉ dẫn 23 triệu giây (MIPS) trì 33 MHz - 33 ,25 , 20 16-MHz tần số hoạt động - Efflclent thực chương trình ngôn ngữ cấp cao - Công nghệ CMOS - GB không gian địa ảo với nhu cầu phân trang - Chỉ dẫn đồng thời liệu truy cập - Hỗ trợ chế độ truy cập - 192 ghi mục đích chung - 512-byte Branch Target Cache - Quản lý 64 đơn vị nhớ nhập - Phân tách, đường ống địa chỉ, dẫn, bus liệu - Kiến trúc dẫn ba địa - Tùy chọn byte / nửa words truy cập Các Am29000 chứa đơn vị thực chức cao, tập tin ghi lớn (192 ghi), Branch Target Cache (32 bit- tầng đường ống ), đơn vị quản lý nhớ (64 mục), băng thông cao, đường ống bên kênh với dẫn bus liệu riêng biệt Các tập tin ghi linh hoạt sử dụng nhớ cache cho biến thời gian chạy chương trình thực hiện, sưu tập bank ghi phân bổ cho nhiệm vụ riêng biệt ứng dụng đa nhiệm Các Am29000 cung cấp mức đáng kể suất hoạt động xử lý khác lớp học, phần lớn tính xử lý xác định với hiệu suất tối đa đạt tâm trí Phần mô tả tính Am29000 từ điểm nhìn hiệu suất hệ thống Thời gian chu kỳ Các xử lý hoạt động tần số 33 MHz Chu kỳ thời gian xử lý đơn 30 ns/kỳ Các kiến trúc hệ thống giao diện Am29000 thiết kế cho chu kỳ thời gian xử lý giảm với cải tiến công nghệ Bốn tầng đường ống Các Am29000 sử dụng đường ống dẫn bốn giai đoạn, cho phép để thực thi lệnh chu kỳ đồng hồ Các vi xử lý hoàn thành dẫn chu kỳ, bốn chu kỳ yêu cầu từ khởi đầu dẫn để hoàn thành Tại tần số hoạt động 33-MHz, tỷ lệ thực thị tối đa 33 triệu lệnh giây (MIPS) Các đường ống dẫn Am29000 thiết kế cho Am29000 thể hoạt động tốc độ thực thị tối đa phần đáng kể thời gian interlock đường ống dẫn thực phần cứng xử lý Ngoại trừ vài trường hợp đặc biệt, cần thiết để xếp lại chương trình để tránh phụ thuộc đường ống II Trình bày sơ đồ khối chức bên CPU AMD Am29000 SƠ ĐỒ KHỐI BÊN TRONG CPU AMD Am2900 Các Bus dẫn chuyển vào xử lý, Bus liệu chuyển liệu đến từ xử lý, Bus địa cung cấp địa cho dẫn liệu truy cập Các bus địa tăng gấp đôi chức để chuyển liệu đến đồng xử lý Kể từ hai địa bus liệu truyền liệu, vi xử lý Am29000 chuyển 64 bit thông tin cho đồng xử lý chu kỳ Một đơn vị dấu chấm động (FPU) cung cấp xác đơn hoạt động nổi-điểm xác đôi Có phân chia độc lập mạch gốc vuông, cho phép chức để tiến hành song song với hoạt động khác Bằng cách gán không gian địa đặc biệt kênh bus, xử lý gắn trực tiếp với xử lý Điều cho phép việc chuyển giao toán hạng thông tin khác bus địa mà không can thiệp với chức giải bình thường Các 29000 vi xử lý có ba địa kiến trúc tập lệnh, lập trình viên có hoàn toàn tự để phân bổ sử dụng ghi Có 192 ghi mục đích chung, cho phép giữ lại tính toán trung gian tránh phá hủy không cần thiết liệu Có 125 dẫn bộ, mà chia thành chín lớp Đây số nguyên số học, so sánh, logic, thay đổi, chuyển liệu, liên tục, dấu chấm động, chi nhánh, linh tinh Tất lệnh hoàn thành vòng chu kỳ xử lý III Đặc điểm chức CPU AMD Am29000 ĐƯỜNG ĐI CỦA DỮ LIỆU TRONG CPU Khối điều khiển (CU - Control Unit) Thành phần CPU có nhiệm vụ thông dịch lệnh chương trình điều khiển hoạt động xử lí, điều tiết xác xung nhịp đồng hồ hệ thống Mạch xung nhịp đồng hồ hệ thống dùng để đồng thao tác xử lí CPU theo khoảng thời gian không đổi Khoảng thời gian chờ hai xung gọi chu kỳ xung nhịp Tốc độ theo xung nhịp hệ thống tạo xung tín hiệu chuẩn thời gian gọi tốc độ xung nhịp – tốc độ đồng hồ tính triệu đơn vị giây (MHz) Khối tính toán ALU (Arithmetic Logic Unit) Chức khối tính toán ALU thực phép toán số học logic sau trả lại kết cho ghi nhớ Trong CPU, số học logic (ALU – Arithmetic logic unit) mạch điện tử thực phép tính số học logic ALU phần tử CPU máy tính.Bộ vi xử lý chứa nhiều phức tạp ALU Các ghi (Registers) Một ghi (registers) nhớ dung lượng nhỏ nhanh sử dụng để tăng tốc độ xử lý chương trình máy tính cách cung cấp truy cập trực tiếp đến giá trị cần dùng Hầu hết, tất cả, máy tính đại hoạt động theo nguyên lý chuyển liệu từ nhớ vào ghi, tính toán chúng, sau chuyển kết vào nhớ Các ghi xử lý phần phân cấp nhớ, cung cấp nhanh vào hệ thống để xử lý liệu Thuật ngữ thường dùng để nói đến tập ghi trực tiếp cho việc nhập hay xuất câu lệnh, xem thêm tập lệnh Chúng gọi ” kiến trúc ghi” Ví dụ, đưa biến số thường dùng vào ghi hoạt động then chốt làm tăng hiệu ứng chương trình Việc có tên register allocation thường thực trình biên dịch giai đoạn phát sinh mã hoá Các Am29000 có ba lớp ghi truy cập cách dẫn Đây ghi mục đích chung, ghi mục đích đặc biệt, LookNgoài Buffer (TLB) ghi dịch Bất kỳ hoạt động nhu liệu có Am29000 thực ghi mục đích dụng chung, ghi mục đích đặc biệt ghi TLB truy cập cách di chuyển liệu rõ ràng từ sổ mục đích chung chế bảo vệ khác ngăn chặn truy cập số ghi chương trình chế độ người dùng a Thanh ghi mục đích chung Các Am29000 kết hợp 192 ghi mục đích chung Việc tổ chức ghi mục đích chung hình sau Absolute REG# General-Purpose Register Indirect Pointer Access Stack Pointer 64 Global Register 64 65 Global Register 65 66 Global Register 66 126 Global Register 126 127 Global Register 127 Global Registers 128 Local Register 125 129 Local Register 126 130 Local Register 127 131 Local Register 132 Local Register Local Registers Stack point 131 254 Local Register 123 Local Register 124 ghi mục đích chung giữ loại sau toán hạng để sử dụng chương trình: Địa liệu 32-bit Số nguyên 32-bit dấu không dấu Địa chi nhánh mục tiêu 32-bit Chuỗi bit logic 32-bit Ký tự 8-bit dấu không dấu Số nguyên 16-bit dấu không dấu Logic Số dấu chấm động xác đơn Số dấu chấm động xác kép (trong hai ghi) Bởi số lượng lớn ghi mục đích chung cung cấp, số lượng lớn liệu thường sử dụng giữ chip, nơi mà thời gian truy cập nhanh Am29000 dẫn xác định hai ghi mục đích chung cho toán hạng nguồn, ghi mục đích chung để lưu trữ kết giảng dạy Những ghi quy định ba lĩnh vực giảng dạy 8-bit chứa số ghi Sổ ghi định trực dẫn, gián tiếp ba ghi mục đích đặc biệt b, Thanh ghi địa Các ghi mục đích chung phân chia thành 64 ghi chung 128 ghi cục bộ, phân biệt bit đáng kể số lượng ghi Sự khác biệt ghi chung cục kết cân nhắc ghi-giải Các thuật ngữ sau sử dụng để mô tả thay đồ quảng cáo- ghi mục đích chung: Thanh ghi số - phần mềm cấp số lượng cho ghi mục đích chung Ví dụ, số lượng chứa dẫn Số ghi khoảng 0-255 Số ghi chung - số phần mềm cấp cho ghi chung số ghi chung khoảng 0-127 Thanh ghi số cục số phần mềm cấp cho ghi đầu mối Các thành ghi num cục nằm khoảng 0-127 Thanh ghi số tuyệt đối - số cấp phần cứng, sử dụng để chọn ghi mục đích chung ký File Số ghi tuyệt đối khoảng 0255 c, Thanh ghi chung Khi bit ý nghĩa số ghi 0, ghi chung chọn Bảy bit đáng kể số lượng ghi cho ghi số chung Đối với ghi chung, số lượng ghi tuyệt đối tương đương với ghi số Thanh ghi chung đến 63 chưa thực Một cố gắng để truy cập vào ghi mang lại kết đoán trước Tuy nhiên, họ bảo vệ từ người sử dụng truy cập chế độ ghi chung bảo vệ Các ghi số gắn liền với ghi chung số có ý nghĩa đặc biệt Con số ghi chung xác định trỏ gián tiếp sử dụng nguồn gốc số ghi; có trỏ gián tiếp cho ghi dẫn toán hạng / kết Thanh ghi chung chứa chứa Stack Pointer, sử dụng việc giải sổ ghi cục giải thích d, Thanh ghi cục Stack Pointer Stack Pointer ghi 32-bit toán hạng dẫn mục đích chung khác Tuy nhiên, ghi chung trì phần cứng xử lý sử dụng ghi cục giải Bản thiết lập với kết số học dẫn logic Nếu Stack Pointer thiết lập với kết lớp dẫn khác, ghi cục truy cập dự đoán Stack Pointer thiết lập lại lần với số học hướng dẫn logic e, Thanh ghi cục Khi bit ý nghĩa số ghi 1, ghi cục chọn Bảy bit thiểu đáng kể số lượng ghi cho ghi số cục Đối với ghi cục bộ, số ghi tuyệt đối thu cách thêm số ghi cục để bit 8-2 Stack Pointer cắt bỏ kết đến bit; bit giá trị ghi số ban đầu không thay đổi (tức là, 1) Việc bổ sung Stack Pointer áp dụng cho số ghi cục cung cấp hình thức hạn chế bù trừ giải sổ đăng ký địa phương Stack Pointer 10 chứa địa sở 32-bit Điều giúp quản lý lưu trữ thời gian chạy biến thủ tục tự động lồng f, Thanh ghi bank Đối với mục đích việc hạn chế quyền truy cập, ghi mục đích chung chia thành ghi bank thông tin Thanh ghi bank bao gồm 16 ghi (trừ bank 0, có chưa thực ghi đến 15) phân chia theo ghi số tuyệt đối, thể hình Thanh ghi bank chứa 16 bit bảo vệ, nơi mà bit kiểm soát chế độ người dùng Bit 6-15 ghi bank Bưbảo vệ không ảnh hưởng đến mục đích chung từ đến 15 tương ứng Khi bit ghi bank ghi bank tương ứng quy định toán hạng ghi dẫn ghi cách dẫn chế độ người dùng , vi phạm bẫy bảo vệ xảy Lưu ý bảo vệ dựa số ghi tuyệt đối; trường hợp ghi cục bộ, Stack Pointer Ngoài thực trước kiểm tra bảo vệ Khi xử lý chế độ giám sát, Ngân hàng Đăng ký Đăng ký Bảo vệ tác dụng truy cập ghi mục đích chung Tổ chức ghi bank Register Bank Protect Register Bit Absolute- Register Numbers through 15 16 through 31 32 through 47 48 through 63 General-Purpose Registers Bank (unimplemented) Bank (unimplemented) Bank (unimplemented) Bank (unimplemented) 64 through 79 Bank 80 through 95 Bank 96 through 111 Bank 112 through 127 Bank 128 through 143 Bank 144 through 159 Bank 10 160 through 175 Bank 10 11 176 through 191 Bank 11 12 192 through 207 Bank 12 13 208 through 223 Bank 13 14 224 through 239 Bank 14 240 through 255 Bank 15 11 IV Cấu trúc lệnh tập lệnh AMD Am 29000 Các kiến trúc ba địa tập lệnh AM29000 cho phép trình biên dịch ngôn ngữ lập trình lắp ráp để ngăn chặn phá hủy hết toán hạng, hỗ trợ ghi phân bổ toán hạng tái sử dụng toán hạng dẫn chứa trong số 192 ghi mục đích chung, kết giảng dạy lưu trữ 192 ghi mục đích chung Trình biên dịch hợp ngữ lập trình viên có hoàn toàn tự để phân bổ, sử dụng ghi Không có đóng góp ghi đặc biệt nhóm ghi vào lớp đặc biệt hoạt động Các tập lệnh thiết kế để giảm thiểu số lượng tác dụng phụ hoạt động ngầm dẫn Hầu hết Am 29000 dẫn định bit không đổi toán hạng nguồn số lớn xây dựng sử dụng hai dẫn thêm định địa từ 16 bit Các tập lệnh Am 290000 chứa 117 dẫn dẫn chia thành chín lớp Số học- Thực nguyên cộng, trừ, nhân, chia phép toán khác Mnemonic D D Operation Description DEST [...]... Cấu trúc lệnh cùng tập lệnh của AMD Am 29000 Các kiến trúc ba địa chỉ của các tập lệnh AM29000 cho phép một trình biên dịch hoặc ngôn ngữ lập trình lắp ráp để ngăn chặn sự phá hủy hết các toán hạng, và hỗ trợ thanh ghi phân bổ và toán hạng tái sử dụng toán hạng chỉ dẫn có thể được chứa trong bất kỳ 2 trong số 192 thanh ghi mục đích chung, và kết quả giảng dạy có thể được lưu trữ trong bất kỳ của 192... trong hầu hết các chỉ dẫn, 8 bit không đổi có thể được sử dụng ở vị trí của một toán hạng dựa vào thanh ghi Một số chỉ dẫn sử dụng với sổ đặc dụng, thanh ghi TLB, các thiết bị bên ngoài, bộ nhớ và vi xử lý Phần này mô tả chỉ dẫn chín lớp trong Am29000, và cung cấp một bản tóm tắt ngắn gọn về hoạt động chỉ dẫn 16 1 SỐ TẬP LỆNH AMD Am29000 17 18 ... bất kỳ của 192 thanh ghi mục đích chung Trình biên dịch hoặc hợp ngữ lập trình vi n có hoàn toàn tự do để phân bổ, sử dụng thanh ghi Không có sự đóng góp của một thanh ghi đặc biệt hoặc nhóm thanh ghi vào một lớp đặc biệt của hoạt động Các tập lệnh được thiết kế để giảm thiểu số lượng các tác dụng phụ và các hoạt động ngầm của chỉ dẫn Hầu hết Am 29000 chỉ dẫn có thể chỉ định 8 bit không đổi là một trong... 1 -bit step of a multiply operation (unsigned) DIVIDE DEST

Ngày đăng: 14/11/2016, 23:18

Từ khóa liên quan

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

Tài liệu liên quan