Bài giảng Kiến trúc máy tính: Chương 4 - TS. Nguyễn Qúy Sỹ

60 12 0
Bài giảng Kiến trúc máy tính: Chương 4 - TS. Nguyễn Qúy Sỹ

Đ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ài giảng Kiến trúc máy tính - Chương 4: Kiến trúc tập lệnh (ISA) trình bày phân loại kiến trúc tập lệnh, chế độ định địa chỉ, các thanh ghi của tập lệnh, khuôn dạng lệnh, các kiểu lệnh, bộ biên dịch. Đây là tài liệu học tập và tham khảo dành cho sinh viên ngành Công nghệ thông tin.

Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Posts and Telecommunications Institute of Technology KIẾN TRÚC MÁY TÍNH Chương IV: Kiến trúc tập lệnh (ISA) Giảng viên: TS Nguyễn Quý Sỹ Email: synq@ptit.edu.vn Hà nội, 17 December 2009 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Nội dung Giới thiệu Phân loại kiến trúc tập lệnh Chế độ định địa Các ghi tập lệnh Khuôn dạng lệnh Các kiểu lệnh Bộ biên dịch Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu • Các máy đa mức đại Đây mức ngôn ngữ máy Hà nội, 17 December 2009 Học viện Công nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Kiến trúc tập lệnh cấu trúc máy tính mà người lập trình ngơn ngữ máy phải hiểu để viết chương trình chuẩn cho máy – • • Đây phát biểu IBM vào năm 1964 giới thiệu kiến trúc IBM 360, kiến trúc rút từ tập lệnh IBM khác Ngơn ngữ mà máy tính nhận dạng chạy ngơn ngữ máy kiến trúc tập lệnh Kiến trúc tập lệnh mô tả máy mà người thiết kế phần cứng cần phải hiểu để thiết kế sản phẩm máy tính chuẩn Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • • Kiến trúc tập lệnh dùng giao diện phần cứng phần mềm (Là ngôn ngữ hai phải hiểu) Kiến trúc tập lệnh cung cấp chế để phần mềm “nói” với phần cứng cần làm High level language code : C, C++, Java, Fortan, compiler Assembly language code: architecture specific statements assembler Machine language code: architecture specific bit patterns software instruction set level hardware Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Một kiến trúc sư máy tính phải bàn bạc với hai: – người viết chương trình biên dịch – người thiết kế phần cứng thiết kế máy kết hợp thuộc tính phần cứng phần mềm mức ISA: – Định nghĩa chức tác vụ, chế độ vị trí lưu trữ mà phần cứng hỗ trợ – Mơ tả xác gọi truy cập phần mềm • Thơng thường, nên tương thích ngược để chạy chương trình có Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Một ISA tốt? – Khả thực thi • • – Một ISA tốt nên định nghĩa tập lệnh cho các lệnh thực thi hiệu tương lai, có kết thiết kế mang lại lợi nhuận qua nhiều hệ Các hệ x86 (IA32): 8086, 286, 386, 486, Pentium, PentiumII, PentiumIII, Pentium4,… Khả lập trình target (toolkit) rõ ràng cho mã biên dịch Dễ dàng biểu diễn chương trình hiệu Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Các đơn vị đo ISA – Tính trực giao • – Tính đầy đủ • – Không tải ý nghĩa trường lệnh Tổ chức hợp lý • – – Hỗ trợ đa dạng tác vụ ứng dụng Tính cân đối • – Khơng có ghi đặc biệt, vài trường hợp đặc biệt, tất chế độ tốn hạng sử dụng với dạng liệu dạng lệnh Các yêu cầu tài nguyên dễ xác định Dễ biên dịch Dễ thực Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Các vấn đề thiết kế tập lệnh – Các toán hạng lưu trữ đâu? • – Có tốn hạng? • – Thanh ghi, trực tiếpgián tiếp, Kiểu kích cỡ tốn hạng hỗ trợ gì? • – 0, 1, Vị trí tốn hạng xác định nào? • – Các ghi, nhớ, ngăn xếp, tích luỹ Byte, Int, Float, Double, String, Vector Những tác vụ hỗ trợ? • Add, Sub, Mul, Move, Compare Hà nội, 17 December 2009 Học viện Công nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Giới thiệu (t) • Sự phát triển kiến trúc tập lệnh Single Accumulator (EDSAC 1950) Accumulator + Index Registers (Manchester Mark I, IBM 700 series 1953) Separation of Programming Model from Implementation High-level Language Based (B5000 1963) Concept of a Family (IBM 360 1964) General Purpose Register Machines Complex Instruction Sets (Vax, Intel 8086 1977-80) Hà nội, 17 December 2009 Load/Store Architecture (CDC 6600, Cray 1963-76) RISC (Mips,Sparc,88000,IBM RS6000, 1987+) Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn dạng lệnh (t) • Các tiêu chí thiết kế khuôn dạng lệnh – Tốc độ nhớ hiệu • – – – Sử dụng hệ thống nhớ phân cấp (các ghi, cache, ) Dễ mã hoá Tốc độ xử lý (tốc độ mà lệnh thi hành) Khơng gian địa • Kích thước truy cập (bao nhiêu byte lần) • Độ phân giải truy nhập (từng byte, từ) (Độ phân giải tinh, địa dài lệnh dài hơn) Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn dạng lệnh (t) • Một khn dạng lệnh điển hình: với bit tốn tử trường địa bit • • • Chỉ có 16 tốn tử Chỉ có 16 ghi Chỉ có 16 biến nội Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn dạng lệnh (t) • • Giả thuyết độ dài lệnh khơng đổi, số lượng tốn hạng khác tốn tử có kích thước khác (mở rộng toán tử) Lệnh toán hạng Toán tử 4-bit 0-E Toán hạng Toán hạng Toán hạng Toán hạng Toán hạng Lệnh toán hạng Example 1: OpCodes: 0,1, …, D, E, F0, F1, …, FD, FE, FF0, FF1, …, FFD, FFE, FFF0, FFF1, …, FFFD, FFFE, FFFF Hà nội, 17 December 2009 Khn dạng nửa byte Lệnh tốn hạng Lệnh toán hạng Toán tử 8-bit F0-FE Toán tử 12-bit FF0-FFE Tốn tử 16-bit FFF0-FFFF Học viện Cơng nghệ Bưu Viễn thơng Tốn hạng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn dạng lệnh (t) • Ví dụ khn dạng lệnh – Khuôn dạng 1: Mã lệnh bit Các tác vụ thị mã lệnh 0-E F mã mở rộng, thị khuôn dạng 2, 3, 4-bit opcode: 0-E – 4-bit operand 4-bit operand 4-bit operand Khuôn dạng: Mã lệnh 12 bit Opcode Các tác vụ thị mã lệnh FF0-FFE mã mở rộng thị khuôn dạng 12-bit opcode: FF0-FFE – 4-bit operand Khuôn dạng 2: Mã lệnh bit Các tác vụ thị mã lệnh F0-FE FF is mã mở rộng, thị khuôn dạng 8-bit opcode: F0-FE – 4-bit operand 4-bit operand Khuôn dạng: Mã lệnh 16 bit Opcode Các tác vụ thị mã lệnh FFF0-FFFF 16-bit opcode: FFF0-FFFF Hà nội, 17 December 2009 Học viện Công nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khuôn dạng lệnh (t) • 0ijk 1ijk 2ijk … Dijk Eijk F0ij F1ij F2ij … FDij FEij Ví dụ 1: Các mã lệnh mở rộng 3-address Lệnh 16-bit Bit 0-3 4-7 8-B C-F Field 2-address FF0i FF1i FF2i … FFDi FFEi FFF0 FFF1 FFF2 … FFFD FFFE FFFF 1-address 0-address Instruction Type OpCode Size Number Field Field Field Field Three Address bits 15 0-E Address Address Address Two Address bits 15 F 0-E Address Address One Address 12 bits 15 F F 0-E Address No Address 16 bits 16 F F F 0-F Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn dạng lệnh (t) • Ví dụ 2: Sử dụng mã lệnh có kích thước khác để sử dụng không gian lệnh hiệu Example Example Three address instructions 15 15 Two address instructions 15 14 One address instructions 15 31 Zero address instructions 16 16 Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Nội dung Giới thiệu Phân loại kiến trúc tập lệnh Định địa Các ghi tập lệnh Khuôn dạng lệnh Các kiểu lệnh Bộ biên dịch Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các kiểu lệnh • • • • • • • • Số học logic: Chuyển giao liệu: Điều khiển Hệ thống Dấu phẩy Thập phân Chuỗi Đồ hoạ Hà nội, 17 December 2009 AND, ADD MOVE, LOAD, STORE BRANCH, JUMP, CALL OS CALL, VM ADDF, MULF, DIVF ADDD, CONVERT MOVE, COMPARE (DE)COMPRESS Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các kiểu lệnh (t) Rank Instruction Frequency load 22% branch 20% compare 16% store 12% add 8% and 6% sub 5% register move call 1% 10 return 1% Total Hà nội, 17 December 2009 4% 96% Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các kiểu lệnh (t) • Tần suất tương đối lệnh điều khiển ⇒ Thiết kế phần cứng để xử lý nhánh nhanh, lệnh xử lý thường xuyên Hà nội, 17 December 2009 Tác vụ SPECint92 SPECfp92 Call/Return 13% 11% Jumps 6% 4% 81% 87% Branches Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các biên dịch • Các mục tiêu biên dịch – – – – • Bộ biên dịch đa nguồn – • Tất chương trình chuẩn biên dịch Hầu hết chương trình biên dịch thi hành nhanh Đạt kích thước mã nhỏ Cung cấp hỗ trợ gỡ rối Cùng biên dịch dùng nhiều ngôn ngữ khác Các biên dịch cho nhiều đối tượng – Cùng biên dịch tạo mã cho máy khác Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các biên dịch (t) • Các biên dịch sử dụng giai đoạn để quản lý – Pha đầu • – Tối ưu mức cao • – Tạo chuyển đổi nội tuyến mạch vịng Tối ưu tồn cầu • – Chuyển đổi ngơn ngữ thành dạng trung gian Tối ưu tồn cầu cục bộ, cộng với phân pbổ ghi Bộ tạo mã (và hợp mã) • Loại từ phụ thuộc, chọn lọc lệnh lịch đường ống Hà nội, 17 December 2009 Học viện Công nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các biên dịch (t) • Thiết kế ISA để nâng cao biên dịch – – – – – Cung cấp đủ ghi để cấp phát ghi dễ dàng (nhiều 16) Cung cấp tập lệnh thường xuyên nhờ giữ tác vụ, kiểu liệu chế độ địa trực giao Cung cấp xây dựng ban đầu cố gẳng ánh xạ tới ngôn ngữ bậc cao Cân đơn giản lựa chọn Cho phép biên dịch trợ giúp thực trường hợp chung nhanh Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Nội dung Giới thiệu Phân loại kiến trúc tập lệnh Chế độ định địa Các ghi tập lệnh Khuôn dạng lệnh Các kiểu lệnh Bộ biên dịch Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Kết thúc Hà nội, 17 December 2009 Học viện Cơng nghệ Bưu Viễn thơng ... @(R3)

Ngày đăng: 11/05/2021, 02:19

Từ khóa liên quan

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

Tài liệu liên quan