KIẾN TRÚC CPU VÀ TẬP LỆNH
Bùi Minh Thành
Hi u đính t bài gi ng c a
th y H Trung M (BMDT- DHBK)
KIẾN TRÚC CPU VÀ TẬP LỆNH
1
N i dung
2.1 Sơ đồ khối CPU 8 bit cơ bản
2.2 Tổ chức các thanh ghi
2.3 Tổ chức bộ nhớ
2.4 Ghép nối bus hệ thống
2.5 Chu kỳ bus, chu kỳ máy
2.6 Các phương pháp định địa chỉ
2.7 Tập lệnh
2
Vi xử lý
Có nhiều loại vi xử lý (VXL) từ rất đơn giản đến rất
phức tạp
Phụ thuộc vào độ rộng bus dữ liệu, thanh ghi và
ALU, có các VXL 4 bit , 8 bit , 16bit, 32 bit , 64 bit …
Thí dụ
Z80 là VXL 8 bit
8086/88 là VXL 16 bit
Tất cả các VXL có
Bus địa chỉ
Bus dữ liệu
Các tín hiệu điều khiển: RD, WR, CLK , RST, INT, . . .
3
Bus n i và ngo i
Bus nội (Internal bus) là đường dẫn để truyền dữ
liệu giữa các thanh ghi và ALU trong VXL
Bus ngoại (External bus) dùng cho bên ngoài nối
đến RAM, ROM và I/O
Độ rộng của bus nội và ngoại có thể khác nhau.
Thí dụ
8088: bus nội là 16 bit, bus ngoại là 8 bit
8086: bus nội là 16 bit, bus ngoại là 16 bit
4
2.1 SƠ ĐỒ KHỐI
CPU 8 BIT CƠ BẢN
5
6
Sơ ñ ch c năng và gán chân
chip Z80
7
Có 6 nhóm tín hiệu:
Bus địa chỉ 16 đường (A0 đến A15)
Bus dữ liệu 8 đường (D0 đến D7)
6 đường điều khiển hệ thống
5 đường điều khiển CPU
2 đường điều khiển bus CPU (
)
3 đường dành cho nguồn cấp điện và xung nhịp (+5V,
GND, và CLK)
8
Mô tả chân Z80
1) Bus ñ a ch : A15-A0
Bus ñ a ch (xu t, tích c c cao, 3-state).
Dùng ñ truy c p b nh và các c ng I/O
2) Bus d li u: D7-D0
Bus d li u (nh p/xu t, tích c c cao, 3-state). Dùng ñ trao ñ i d li u v i b nh ,
I/O và ng t.
9
Mô tả chân Z80
3) 6 ñư ng ñi u khi n h th ng
Báo cho b nh và các thi t b ngo i vi bi t khi nào chúng có th s d ng các
tín hi u trên bus ñ a ch và bus d li u
-/M1:
+ M t chu kỳ máy (xu t, tích c c th p).
+ Báo cho thi t b ngoài bi t Z80 ñang
nh n l nh
+ Cùng v i MREQ ch ra chu kỳ n p mã
l nh (Opcode)
+ Cùng v i IORQ ch ra chu kỳ xác
nh n INT
10
Mô tả chân Z80
3) 6 ñư ng ñi u khi n h th ng
Báo cho b nh và các thi t b ngo i vi bi t khi nào chúng có th s d ng các
tín hi u trên bus ñ a ch và bus d li u
- /MREQ, /IORQ:
Báo cho thi t b ngoài bi t r ng Z80 có d
li u ñ a ch h p l trên bus ñ a ch dành
cho b nh ho c cho thi t b I/O.
- /RD, /WR:
Báo cho thi t b ngoài bi t r ng :
+ D li u trên bus d li u là h p l (/WR)
+ Z80 s n sàng ñ c d li u trên bus d
li u (/RD)
- /RFSH: Tín hi u làm tươi các DRAM
11
Mô tả chân Z80
4) 5 ñư ng ñi u khi n CPU
Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng
(halt)
ch ñ nào ho c khi nó b treo
- /HALT
Z80 ñang b treo
- /WAIT
Dùng trong trư ng h p b nh ch m ho c
thi t b I/O ch m, Z80 c n “ñ i” các thi t
b này.
12
Mô tả chân Z80
4) 5 ñư ng ñi u khi n CPU
Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng
treo (halt)
ch ñ nào ho c khi nó b
- /INT
+ Yêu c u ng t (vào, tích c c th p)
+ ðư c phát b i thi t b ngo i vi.
+ ðư c ki m tra t i th i ñi m cu i c a l nh hi n
hành.
- /NMI
+ Ng t không che ñư c (Non-Maskable
Interrupt), Input, negative edge-triggered
+ Có ñ ưu tiên cao hơn INT.
+ Nh n d ng t i th i ñi m cu i c a l nh hi n
hành. PC ñư c thi t l p t i ñ a ch 0066H
13
Mô tả chân Z80
4) 5 ñư ng ñi u khi n CPU
Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng
treo (halt)
ch ñ nào ho c khi nó b
- /RESET
+ Reset (input, active Low).
+ RESET initializes the CPU as follows:
• Resets the IFF
• Clears the PC and registers I and R
• Sets the interrupt status to Mode 0. During
reset time, the address and data bus go to a
high-impedance state and all control output
signals go to the inactive state.
• must be active for a minimum of three full
clock cycles before the reset operation is
complete.
14
Mô tả chân Z80
5) 2 ñư ng ñi u khi n bus CPU
Cho phép thi t b ngoài yêu s d ng các bus ñ a ch và bus d li u
- /BUSREQ
Cho phép các thi t b ngoài yêu c u s d ng các bus ñ a
ch và bus d li u. Cho phép các thi t b ngoài làm vi c
tr c ti p v i b nh không c n thông qua CPU.
o Bus Request (input, active Low).
o Ưu tiên cao hơn NMI
o Recognized at the end of the current machine cycle.
Forces the CPU address bus, data bus, and MREQ,
IORQ, RD, and WR to high-Z.
- /BUSACK
o Bus Acknowledge (output, active,Low)
o Thông báo cho thi t b yêu c u bi t là bus ñ a ch , d
li u và các tín hi u ñi u khi n MREQ, IORQ, RD, WR
vào tr ng thái t ng tr cao.
Các bus ñưa v cho CPU ñi u khi n khi BUSREQ không tích c c
15
Ki n trúc h th ng
16
2.2 T
CH C CÁC THANH GHI
17
Z80 CPU
B
U
F
F
E
R
8
INTERNAL DATA BUS (8 BIT)
MUX
A
INSTRUCTION
REGISTER
W'
W
Z
B'
C'
B
E'
D
H
A'
F'
E
L'
F
TMP
C
H'
R
Z'
D'
I
DATA BUS
MUX
L
DECODER
ACT
IX
IY
SP
CONTROLLER
SEQUENCER
CONTROL
SECTION
ALU
PC
±k
±k
ADDRESS BUS
INTERNAL ADDRESS BUS (16 BIT)
B
U
F
F
E
R
CONTROL BUS
INTERNAL CONTROL BUS
B
U
F
F
E
R
16
13
Nhóm thứ nhất: Gồm 8 thanh ghi 8-bit chính: Thanh ghi tích lũy A, thanh
ghi cờ F và 6 thanh ghi đa dụng B, C, D, E, H, L
18
Mô hình l p trình Z80
Bô thanh ghi thay phiên cho phép người lập trình nhanh chóng chuyển từ
việc thực thi một chương trình này sang thực thi chương trình thứ 2.
Chỉ cần thực thi một lệnh hoán đổi.
19
T p thanh ghi
A : Accumulator Register
F : Flag register
Two sets of six general-purpose registers
may be used individually as 8-bit A F B C D E H L (A’ F’ B’ C’ D’ E’
H’ L’)
or in pairs as 16-bit registers AF BC DE HL (AF’ BC’ DE’ HL’)
The Alternative registers (A’ F’ B’ C’ D’ E’ H’ L’) not
visible to the programmer but can access via:
EXX
(BC)<->(BC') , (DE)<->(DE') , (HL)<->(HL')
EX AF, AF ’ (AF)<->(AF')
what is this instruction useful for?
20
- Xem thêm -