Tải bản đầy đủ (.pdf) (60 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.99 MB, 60 trang )

Generated by Foxit PDF Creator © Foxit Software
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:

Hà nội, 17 December 2009


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

Nội dung

1.
2.
3.
4.
5.
6.
7.

Giới thiệu
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

Hà nội, 17 December 2009

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu


Các máy đa mức hiện đại

Đây là mức
ngơn
ngữ
máy

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thông


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.


1. Giới thiệu (t)



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
trình chuẩn cho máy đó.





Đây là phát biểu của IBM vào năm 1964 khi giới thiệu kiến trúc
IBM 360, kiến trúc này được rút ra từ 7 tập lệnh IBM khác nhau

Ngôn ngữ duy nhất mà một máy tính nhận dạng được khi
chạy là ngơn ngữ máy của nó hoặc kiến trúc tập lệnh.
Kiến trúc tập lệnh cũng mô tả máy mà một người thiết kế
phần cứng cần phải hiểu để thiết kế ra được một 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 chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)





Kiến trúc tập lệnh dùng như là một giao diện giữa phần
cứng và phần mềm (Là một ngôn ngữ cả hai đều phải
hiểu)
Kiến trúc tập lệnh cung cấp cơ chế để phần mềm “nói”
với phần cứng cái 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 chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)


Một kiến trúc sư máy tính phải bàn bạc với cả hai:

– 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ó.

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)


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ả

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thông


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)


Các đơn vị đo ISA


Tính trực giao





Tính đầy đủ




Khơng q tải ý nghĩa các trường lệnh

Tổ chức hợp lý





Hỗ trợ đa dạng các tác vụ và các ứng dụng

Tính cân đối




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
lệnh bất kỳ

Các yêu cầu tài nguyên dễ xác định

Dễ biên dịch
Dễ thực hiện


Hà nội, 17 December 2009

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)


Các vấn đề khi thiết kế tập lệnh


Các tốn hạng được lưu trữ ở đâu?




Có bao nhiêu tốn hạng?




Thanh ghi, trực tiếpgián tiếp,...

Kiểu và kích cỡ tốn hạng được hỗ trợ là gì?





0, 1, 2 hay là 3

Vị trí tốn hạng được xác định như thế nào?




Các thanh ghi, bộ nhớ, ngăn xếp, tích luỹ

Byte, Int, Float, Double, String, Vector

Những tác vụ nào được hỗ trợ?


Add, Sub, Mul, Move, Compare ...

Hà nội, 17 December 2009

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)


Sự phát triển của 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 1 1963-76)
RISC
(Mips,Sparc,88000,IBM RS6000, . . .1987+)

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)




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

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

1. Giới thiệu (t)



Các chế độ ISA: Ở mức ISA level, hầu hết các máy hoạt
động trên 2 chế độ:


Chế độ Kernel chạy hệ điều hành cho phép các tất cả các lệnh
được thực hiện.







Lập trình các hệ thống
Thao tác cache trực tiếp
Các lệnh thiết bị ngoại vi trực tiếp
Kiến tạo thư viện hệ thống

Chế độ người sử dụng chạy chế độ ứng dụng và không cho phép
thi hành các lệnh nhạy cảm nào đó .






Lập trình ứng dụng
Thi hành các ứng dụng
Word, Excel
Applets



Hà nội, 17 December 2009

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

Nội dung

1.
2.
3.
4.
5.
6.
7.

Giới thiệu
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

Hà nội, 17 December 2009


Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh


Phân lớp các kiến trúc tập lệnh


Tích luỹ (trước 1960):
1 địa chỉ



tos ← tos + next

add A, B
add A, B, C

mem[A] ← mem[A] + mem[B]
mem[A] ← mem[B] + mem[C]

Thanh ghi-Bộ nhớ (1970s đến nay):
2 địa chỉ




add

Bộ nhớ-Bộ nhớ (1970s to 1980s):
2 địa chỉ
3 địa chỉ



acc ← acc + mem[A]

Stack (1960s to 1970s):
0 địa chỉ



add A

add R1, A
load R1, A

R1 ← R1 + mem[A]
R1 ← mem[A]

Thanh ghi/Thanh ghi (Nạp/lưu trữ) (1960s tới nay):
3 địa chỉ

Hà nội, 17 December 2009

add R1, R2, R3
load R1, R2

store R1, R2

R1 ← R2 + R3
R1 ← mem[R2]
mem[R1] ← R2

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


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

Hà nội, 17 December 2009

D
B

B*C

A+B*C

A+B*C

A

Học viện Cơng nghệ Bưu chính Viễn thơng

A*B

kết quả


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


Kiến trúc thanh ghi tích luỹ



Ưu điểm





u cầu phần cứng rất thấp
Dễ hiểu và dễ thiết kế

Nhược điểm




Thanh ghi tích luỹ trở thành nút cổ chai
Khả năng thấp đối với cơ chế sóng song và kỹ thuật đường ống
Lưu lượng bộ nhớ cao

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thông


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)



Kiến trúc ngăn xếp


Tập lệnh:





add, sub, mult, div, . . .
push A, pop A

Example: A*B - (A+C*B)
push A
push B
mul
push A
push C
push B
mul
add
sub

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software

For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


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


Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


Kiến trúc bộ nhớ-bộ nhớ


Tập lệnh





(3 tốn hạng)
(2 tồn hạng)

add A, B, C
add A, B

sub A, B, C
sub A, B


mul A, B, C
mul A, B

Ví dụ: A*B - (A+C*B)
3 tốn hạng
mul D, A, B
mul E, C, B
add E, A, E
sub E, D, E

Hà nội, 17 December 2009

2 toán hạng
mov D, A
mul D, B
mov E, C
mul E, B
add E, A
sub E, D

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


Kiến trúc bộ nhớ-bộ nhớ



Ưu điểm





u cầu ít lệnh (đặc biệt nếu 3 toán hạng)
Dễ viết các bộ biên dịch (đặc biệt nếu 3 tốn hạng)

Nhược điểm




Lưu lượng bộ nhớ rất cao (đặc biệt nếu 3 toán hạng)
Số lượng các xung CLK trên một lệnh thay đổi
Với 2 toán hạng, yêu cầu dịch chuyển dữ liệu nhiều hơn

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)



Kiến trúc thanh ghi-bộ nhớ


Tập lệnh:





add R1, A
load R1, A

sub R1, A
store R1, A

mul R1, B

Ví dụ: A*B - (A+C*B)
load R1, A
mul R1, B
store R1, D
load R2, C
mul R2, B
add R2, A
sub R2, D

Hà nội, 17 December 2009

/*


A*B

/*
/*
/*

C*B
*/
A + CB
*/
AB - (A + C*B) */

Học viện Cơng nghệ Bưu chính Viễn thơng

*/


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


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
Khn dạng lệnh dễ mã hố
Mật độ mã tốt

Nhược điểm




Các tố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

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


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
add R8, R7, R1
mul R9, R1, R2
sub R10, R9, R8

Hà nội, 17 December 2009


/* C*B */
/* A + C*B */
/* A*B */
/*A*B - (A+C*B) */

Học viện Công nghệ Bưu chính Viễn thơng


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


Kiến trúc nạp-lưu trữ


Ưu điểm






Mã hố lệnh đơn giản, có độ dài cố định
Các lệnh thực hiện trong số lượng chu kỳ CLK giống nhau
Tương đối dễ dàng thực hiện kỹ thuật đường ống

Nhược điểm





Tổng số lệnh cao hơn
Khơng phải tất cả các lệnh cần 3 toán hạng
Phụ thuộc vào bộ biên dịch tốt

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thông


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

2. Phân loại kiến trúc tập lệnh (t)


Kiến trúc các thanh ghi


Thuận lợi









Nhanh hơn bộ nhớ cache hoặc bộ nhớ chính (khơng có chế độ địa
chỉ hoặc nhãn)
Xác định (khơng miss)
Có thể tái tạo (nhiều cổng đọc)
Bộ nhận dạng ngắn (thơng thường 3-8 bit)
Lưu lượng bộ nhớ giảm

Bất lợi






Cần lưu lại và khôi phục các gọi thủ tục và chuyển đổi ngữ cảnh
Không thể lấy địa chỉ của một thanh ghi (đối với con trỏ)
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

Hà nội, 17 December 2009

Học viện Cơng nghệ Bưu chính Viễn thơng


×