Bài giảng Kiến trúc máy tính chương 4 Kiến trúc tập lệnh (ISA) - Pdf 30

Hà nội, 17 December 2009
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: [email protected]
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
1. Giới thiệu
2. Phân loại kiến trúc tập lệnh
3. Chế độ định địa chỉ
4. Các thanh ghi của tập lệnh
5. Khuôn dạng lệnh
6. Các kiểu lệnh
7. Bộ biên dịch
Nội dung
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Các máy đa mức hiện đại
1. Giới thiệu
Đây là mức
ngôn ngữ
máy
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc tập lệnh là cấu trúc của một máy tính mà người
lập trình ngôn ngữ máy phải hiểu để viết một chương

– người viết chương trình biên dịch
– và người thiết kế phần cứng
khi thiết kế một máy kết hợp các thuộc tính của cả phần cứng và
phần mềm ở mức ISA:
– Định nghĩa về chức năng các tác vụ, các chế độ và các vị trí lưu
trữ mà phần cứng hỗ trợ
– Mô tả chính xác gọi và truy cập bằng phần mềm như thế nào
• Thông thường, nên tương thích ngược để có thể chạy các
chương trình đang có.
1. Giới thiệu (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Một ISA tốt?
– Khả năng thực thi
• Một ISA tốt nên định nghĩa một tập các lệnh sao cho các các lệnh
có thể thực thi được hiệu quả hiện tại và tương lai, có kết quả
bằng các thiết kế mang lại lợi nhuận qua nhiều thế hệ
• Các thế hệ x86 (IA32): 8086, 286, 386, 486, Pentium, PentiumII,
PentiumIII, Pentium4,…
– Khả năng lập trình một target (toolkit) rõ ràng cho mã được
biên dịch. Dễ dàng biểu diễn các chương trình hiệu quả
1. Giới thiệu (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Các đơn vị đo ISA
– Tính trực giao
• Không có các thanh ghi đặc biệt, vài trường hợp đặc biệt, tất cả
các chế độ toán hạng có thể sử dụng với dạng dữ liệu hoặc dạng

Single Accumulator (EDSAC 1950)
Accumulator + Index Registers
(Manchester Mark I, IBM 700 series 1953)
Separation of Programming Model
from Implementation
High-level Language Based Concept of a Family
(B5000 1963) (IBM 360 1964)
General Purpose Register Machines
Complex Instruction Sets Load/Store Architecture
RISC
(Vax, Intel 8086 1977-80)
(CDC 6600, Cray 1 1963-76)
(Mips,Sparc,88000,IBM RS6000, . . .1987+)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Mã mức ISA là sản phẩm của một bộ biên dịch.
• Người viết bộ biên dịch phải biết mô hình bộ nhớ là gì, có
các thanh ghi nào, các dạng dữ liệu và các lệnh nào có thể
sử dụng được.
– Các mô hình bộ nhớ
– Các thanh ghi
– Các kiểu dữ liệu
– Các khuôn dạng lệnh
– Các kiểu lệnh
– Luồng điều khiển
1. Giới thiệu (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông

• Phân lớp các kiến trúc tập lệnh
– Tích luỹ (trước 1960):
1 địa chỉ add A acc ← acc + mem[A]
– Stack (1960s to 1970s):
0 địa chỉ add tos ← tos + next
– Bộ nhớ-Bộ nhớ (1970s to 1980s):
2 địa chỉ add A, B mem[A] ← mem[A] + mem[B]
3 địa chỉ add A, B, C mem[A] ← mem[B] + mem[C]
– Thanh ghi-Bộ nhớ (1970s đến nay):
2 địa chỉ add R1, A R1 ← R1 + mem[A]
load R1, A R1 ← mem[A]
– Thanh ghi/Thanh ghi (Nạp/lưu trữ) (1960s tới nay):
3 địa chỉ add R1, R2, R3 R1 ← R2 + R3
load R1, R2 R1 ← mem[R2]
store R1, R2 mem[R1] ← R2
2. Phân loại kiến trúc tập lệnh
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc thanh ghi tích luỹ
– add A, sub A, mult A, div A, . . .
– load A, store A
• Ví dụ: A*B - (A+C*B)
load B
mul C
add A
store D
load A
mul B
sub D

push C
push B
mul
add
sub
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc ngăn xếp
– Ưu điểm
• Mật độ nguồn tốt (đỉnh của ngăn xếp)
• Yêu cầu phần cứng thấp
• Dễ viết bộ biên dịch đơn giản hơn cho các kiến trúc ngăn xếp
– Nhược điểm
• Ngăn xếp trở thành nút cổ chai
• Ít khả năng cho cơ chế song song và đường ống
• Dữ liệu không luôn luôn ở đỉnh của ngăn xếp khi cần, vì vậy các
lệnh bổ sung như TOP và SWAP được cần tới
• Khó viết một bộ biên dịch tối ưu cho các kiến trúc ngăn xếp
2. Phân loại kiến trúc tập lệnh (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc bộ nhớ-bộ nhớ
– Tập lệnh
• (3 toán hạng) add A, B, C sub A, B, C mul A, B, C
• (2 toàn hạng) add A, B sub A, B mul A, B
• Ví dụ: A*B - (A+C*B)
3 toán hạng 2 toán hạng
mul D, A, B mov D, A

mul R2, B /* C*B */
add R2, A /* A + CB */
sub R2, D /* AB - (A + C*B) */
2. Phân loại kiến trúc tập lệnh (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc thanh ghi-bộ nhớ
– Ưu điểm
• Một số dữ liệu có thể truy cập mà không cần nạp trước
• Khuôn dạng lệnh dễ mã hoá
• Mật độ mã tốt
– Nhược điểm
• Các toán hạng không tương đương (trực giao yếu)
• Số lượng các CLK/1 lệnh thay đổi
• Có thể giới hạn số lượng các thanh ghi
2. Phân loại kiến trúc tập lệnh (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Kiến trúc nạp-lưu trữ
– Tập lệnh:
• add R1, R2, R3 sub R1, R2, R3 mul R1, R2, R3
• load R1, &A store R1, &A move R1, R2
– Ví dụ: A*B - (A+C*B)
• load R1, &A
• load R2, &B
• load R3, &C
• mul R7, R3, R2 /* C*B */
• add R8, R7, R1 /* A + C*B */

• Kích thước cố định (không thể lưu trữ các chuỗi hoặc các cấu
trúc hiệu quả)
• Bộ biên dịch phải quản lý
• Số lượng thanh ghi hữu hạn
2. Phân loại kiến trúc tập lệnh (t)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status