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

Tài liệu Cấu trúc máy tính P7 doc

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 (471.98 KB, 43 trang )

Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S39



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
CHƯƠNG 4
Tổ chức CPU


Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S40



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
ALU
Cộng
ACC ← ACC + toán hạng
Cộng có nhớ
ACC ← ACC + toán hạng + CF
Trừ có mượn
Trừ
ACC ← ACC - toán hạng
ACC ← ACC - toán hạng - CF
Tăng
Toán hạng ← Toán hạng + 1
Giảm
Toán hạng ← Toán hạng - 1
(không ảnh hưởng CF)
So sánh


Nhân
Chia
ACC ← ACC / toán hạng
R2 ← ACC mod toán hạng
R2,ACC ← ACC * toán hạng
1
2
3
4
5
ACC - toán hạng
6
7
8
9
Số
học
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S41



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
ALU
Luận

Not
And
Or
Xor

Dịch

quay
0
CF



CF



CF



CF



CF



CF



0
CF




Trái Phải
Trái Phải
Số học
Luận lý
Không qua CF
Qua CF
A
B
C
D
E
G
F









Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S42



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM

Biên soạn : Nguyễn Xuân Minh
5
Nhân+====
=
= dịch trái và cộng
3
×
××
×
15
0 1 0 1
0 0 1 1
×
××
×
0 1 0 1
0 1 0 1
0 0 0 0
0 0 0 0
+
0 0 0 1 1 1 1
. Kết quả = 00000000
. Xét các bit của số 0011 từ trái sang
. Dịch trái kết quả 1 bit
. Nếu bit = 1 thì kết quả = kết quả + 0101
ngược lại không làm gì cả
. Hết bit của số 0011 thì ngưng
. Kết
q
uả chính là tích số.

Giải thuật
bắt đầu : kết quả = 00000000

dịch trái 1 bit = 00000000
b3 = 0 : kết quả = 00000000

dịch trái 1 bit = 00000000
b2 = 0 : kết quả = 00000000

dịch trái 1 bit = 00000000
b1 = 1 : kết quả = 00000000+0101
= 00000101

dịch trái 1 bit = 00001010
b0 = 1 : kết quả = 00001010+0101
= 00001111

hết bit : kết quả = 00001111

Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S43



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Xây dựng tập lệnh
opcode
(địa chỉ)
toán hạng
1

địa chỉ
kết quả
địa chỉ
lệnh kế
(địa chỉ)
toán hạng
2
cần giải
mã lệnh
dùng thanh ghi PC
để bỏ vùng này
dùng thanh ghi PC
để bỏ vùng này
dùng toán hạng 1 chứa
kết quả để bỏ vùng này
một số lệnh dùng địa chỉ
hiểu ngầm để bỏ vùng này
quá dài
Các phương pháp định địa chỉ toán hạng
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S44



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Các phương pháp định địa chỉ toán hạng
- làm ngắn câu lệnh

- đơn giản hóa câu lệnh


- truy xuất toán hạng nhanh

- làm câu lệnh có tính linh động
Dựa vào một trong các đặc tính sau
8
phương
pháp
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S45



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
trực tiếp
nạp ACC,(7000)
13 7000
ACC
13
7000
bộ nhớ
lệnh
dấu ( ) cho biết dùng
phương pháp trực tiếp
ACC ← (7000)
giải thích
Địa chỉ trong lệnh là địa chỉ ô nhớ chứa toán hạng
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S46




Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
gián tiếp
cộng R1,@7000
7010 7000
R1
13
7000
bộ nhớ
lệnh
2 dấu ( ) cho biết dùng
phương pháp gián tiếp
R1 ← R1 + ((7000))
giải thích
Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ toán hạng
7010
13
+
27
27
40
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S47



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
tức thời
nạp R1,#23
7010

7000
R1
bộ nhớ
lệnh
R1 ← 23
giải thích
Toán hạng nằm trong lệnh
13
15
23
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S48



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
chỉ số
nạp ACC,X 10
7000
IX
13
bộ nhớ
lệnh
IX và dấu + cho biết dùng
phương pháp chỉ số
ACC ← (IX + 10)
giải thích
Địa chỉ toán hạng là tổng của nội dung thanh ghi chỉ số với độ dời trong lệnh
7010
13

+
7000
7000
10
ACC
7A
7010
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S49



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
tương đối
nạp ACC,$ + 6
7000
PC
13
bộ nhớ
lệnh
PC và dấu + cho biết dùng
phương pháp tương đối
ACC ← (PC + 6)
giải thích
Địa chỉ toán hạng là tổng của nội dung thanh ghi PC với độ dời trong lệnh
7006 13
+
7000
7000
6

ACC
7A
7006
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S50



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
thanh ghi
nạp ACC,R1

7000
ACC
bộ nhớ
lệnh
ACC ← R1
giải thích
Toán hạng nằm trong thanh ghi
7006 13
5B
R1
13
13
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S51



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh

gián tiếp qua thanh ghi
nạp ACC,@ R1

7000
ACC
bộ nhớ
lệnh
ACC ← (R1)
giải thích
Thanh ghi chứa địa chỉ ô nhớ chứa toán hạng
7008
13
5B
R1
7008
13
dấu () cho biết dùng
phương pháp gián tiếp
thanh ghi để truy xuất
toán hạng bộ nhớ
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S52



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
stack
pop ACC

7000

ACC
stack
lệnh
ACC ← (SP)
giải thích
Thanh ghi SP chứa địa chỉ ô nhớ chứa toán hạng
7004
13
6F
SP
7004
13
SP và dấu () cho biết
dùng phương pháp
stack để truy xuất toán
hạng bộ nhớ
hiểu ngầm
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S53



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Các nhóm lệnh của tập lệnh
Chuyển dữ liệu
Xử lý dữ liệu
Chuyển điều khiển
Quản lý trạng thái
Bên trong
Bộ nhớ

Xuất nhập
Số học
Luận lý
Dịch, quay
R R
M R
R P
R I
M I
Memory
mapped
IO
IO
mapped
IO
Nhảy
Gọi
Tuyệt đối (Địa chỉ)
Tương đối (PC+n)
Không điều kiện (Luôn luôn nhảy)
Có điều kiện (Lúc nhảy lúc không)
Trực tiếp (PC = địa chỉ)
Gián tiếp (PC = M/R)
Tác
động
cờ
Trở về
Ngắt quãng
Nhảy nhưng có
lưu địa chỉ trở

về vào stack
Lập xóa cờ
Đặc biệt

Nop
Halt
Wait
Sleep
Xử lý bit
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S54



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Memory
mapped
IO
IO
mapped
IO
+ Có không gian địa chỉ IO riêng.
+ Có tín hiệu chọn IO và bộ nhớ.
+ Mạch giải mã địa chỉ cho IO độc lập với mạch giải mã địa chỉ cho bộ nhớ.
+ Truy xuất cổng xuất nhập bằng lệnh In / Out.
+ Dùng không gian địa chỉ của bộ nhớ.
+ Không cần tín hiệu chọn IO và bộ nhớ.
+ Dùng chung mạch giải mã địa chỉ với bộ nhớ.
+ Truy xuất cổng xuất nhập bằng lệnh bộ nhớ.


mapped
mapped

mapped
mapped
mapped mapped
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S55



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Mã hóa lệnh
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode Địa chỉ 1 Địa chỉ 2 Địa chỉ 3
Chỉ được tối đa 16 lệnh 3 địa chỉ (0000 ÷ 1111)
Bớt 1 tổ hợp (1111) còn 15 lệnh 3 địa chỉ
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode Địa chỉ 1 Địa chỉ 2
1 1 1 1
(nhưng thêm được 16 lệnh 2 địa chỉ)
31 lệnh

Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S56



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Bớt tiếp 2 tổ hợp của lệnh 2 địa chỉ (1111 và 1110) còn 14 lệnh 2 địa chỉ

(thêm được 32 lệnh 1 địa chỉ)
61 lệnh
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode Địa chỉ 1
1 1 1 1 1 1 1
×
××
×
Bớt tiếp tổ hợp cuối của lệnh 1 địa chỉ (1111 1111 1111) còn 31 lệnh 1 địa chỉ
(thêm được 16 lệnh 0 địa chỉ)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode
1 1 1 1 1 1 1 1
76 lệnh
1 1 1 1
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S57



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
CPU 8086/88
:

. Vi xử lý 16 bit.
. Tuyến địa chỉ : A
19
÷
÷÷
÷ A

0

⇒⇒
⇒ Quản lý 1MB bộ nhớ (100 000H)
địa chỉ bộ nhớ 00000 ÷
÷÷
÷ FFFFF
. Tuyến dữ liệu : D
15
÷
÷÷
÷ D
0

(8086) / D
7
÷
÷÷
÷ D
0

(8088)
. Thực tế sử dụng tuyến địa chỉ dữ liệu chung : AD
7
÷
÷÷
÷ AD
0

⇒⇒

⇒ Cần mạch tách tuyến
DT/
R
DEN
Cài
Đệm
2 chiều

AD
15

÷

AD
0
LE
DIR
OE
A
15

÷

A
0

D
15

÷


D
0

ALE
LS245
2 x LS573
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S58



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Bộ thanh ghi
tổng quát
(8 từ 16 bit)

Khối điều khiển và định thì
(Execution Unit)
ALU
16 bit
Thanh ghi cờ

Bộ thanh ghi
đoạn và IP
(5 từ 16 bit)
Khối giao
tiếp
BUS
Tuyến địa chỉ

Tuyến dữ liệu
INTA, RD, WR
DT/R, DEN
ALE, M/IO
INTR, NMI, TEST
CLK, RESET, READ
Y
MN/M
X
HOLD
HLD
A
Đuôi lệnh (6 bytes)
LOCK
QS
1
,QS
0

S
2
,S
1
,S
0

EU
(BUS Interface Unit)
BIU
Sơ đồ khối

CPU 8086
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S59



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
AH AL
BH BL
CH CL
DH DL
SI
DI
BP
SP
AX
BX
CX
DX
DS
SS
ES
IP
CS
OF
×
××
×

×

××
×

×
××
×

×
××
×

DF IF TF SF ZF
×
××
×

×
××
×

×
××
×

AF PF CF
Thanh ghi trạng thái (cờ)
Bộ thanh ghi đa dụng
Bộ thanh ghi đoạn
Accumuator
Base

Counter
Data
Source index
Destination index
Base pointer
Stack pointer
Code segment
Data segment
Stack segment
Extra segment
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S60



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
Quản lý bộ nhð :

*Địa chỉ vật lý : dùng để thiết kế mạch
số 20 bit A
19
A
18
A
17
. . . A
1
A
0


(00000 ÷
÷÷
÷ FFFFF)
* Địa chỉ luận lý : dùng trong chương trình
2 thành phần segment : offset


* Dùng thanh ghi đoạn chứa segment
* Dùng thanh ghi đa dụng chứa offset




























Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S61



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
*Đổi địa chỉ luận lý ra địa chỉ vật lý :










+

segment

offset

0


địa chỉ vật lý
(dịch trái 4 bit)

⇒ 1 paragraph = 16 byte

⇒ Khi segment thay đổi 1 đơn
vị (paragraph) thì địa ch


vật lý thay đổi 16 byte. 

⇒ Một địa chỉ vật lý có thể
được biểu diễn bằng nhiều
địa chỉ luận lý khác nhau.

BYTE

PARAGRAPH
Địa chỉ vật lý = (Segment * 16) + Offset
segment 0000
(offset giữ nguyên)

(địa chỉ vật lý 20 bit)

segment 0001
segment 0002
Phần chồng
chập của 3
segment 0000,

0001, 0002
00000
00010
00020
Địa chỉ
vật lý
0FFFF
1000F
1001F
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S62



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
C¾c cặp thanh ghi mặc ½ịnh :
CS : IP địa chỉ lệnh kế.
SS : SP địa chỉ đỉnh stack.
DS : SI địa chỉ đầu chuỗi nguồn (chỉ trong lệnh xử lý chuỗi).
ES : DI địa chỉ đầu chuỗi đích (chỉ trong lệnh xử lý chuỗi).

Truy xuất biến bộ nhớ
: địa chỉ hiệu dụng (Effective Address)
Offset
: là tổ hợp của 3 thành phần trong ngoặc vuông [ ]


Segment :

Không có BP : DS

Có BP : SS



Qui tắc
: không dùng các thanh ghi trong cùng nhóm với nhau.
Nhóm nền
(BX, BP)

Nhóm chỉ số
(SI, DI)

Địa chỉ trực tiếp
(số 16 bit)
[BX]
[BP]
[SI]
[DI]
[1000]

[BX+SI]
[BX+DI]
[BP+SI]
[BP+DI]

[BX+1000]
[BP+1000]
[SI+1000]
[DI+1000]


[BX+SI+1000]
[BX+DI+1000]
[BP+SI+1000]
[BP+DI+1000]

Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S63



Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM
Biên soạn : Nguyễn Xuân Minh
CLK

M/IO

A
19
-A
16

ALE

AD
15
-AD
0

RD

DT/R


DEN

CS:IP

CS:IP

Mã lệnh

T
1

T
2

T
3

T
4

Chu kỳ máy lấy lệnh

×