Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
128,7 KB
Nội dung
Chương 4:
Khối giải mã lệnh và khối điều
khiển logic
Chức năng của khối giải mã lệnh là nhận lệnh từ thanh ghi
lệnh sau đó tiến hành giải mã lệnh rồi đưa tín hiệu điều khiển
đến khối điều khiển logic.
d. Các đường bus:
Các khối bên trong Vixửlý liên hệ với nhau thông qua tập
hợp các đường dây để truyền dữ liệu gọi là bus hệ thống. Chúng
được chia ra làm ba loại:
- Bus đòa chỉ
: có nhiệm vụ đònh ra đòa chỉ của thiết bò cần
truy xuất nên mang tính một chiều, chỉ có Vixửlý mới đưa dữ
liệu lên bus đòa chỉ.
- Bus dữ liệu
: dùng để kết nối các thanh ghi bên trong Vixử
lý và ALU, tất cả dữ liệu di chuyển bên trong Vixửlý từ khối
này đến khối khác đều thông qua bus dữ liệu, dođó bus dữ liệu
mang tính hai chiều. Khi Vixửlý cần truy xuất dữ liệu từ bộ
nhớ hay các thiết bò I/O bên ngoài thì bus dữ liệu bên trong phải
được nối với bus dữ liệu bên ngoài.
- Bus điều khiển
: gồm các tín hiệu điều khiển để đảm bảo
sự hoạt động đồng bộ giữa các khối, mỗi tín hiệu điều khiển có
một chiều nhất đònh. Khi hoạt động, Vixửlý đưa các tín hiệu
điều khiển tới các khối khác trong hệ thống, đồng thời Vixửlý
cũng nhận tín hiệu từ các khối khác gởi về. Điều này không có
nghóa bus điều khiển là hai chiều vìVixửlý gởi tín hiệu đi hay
nhận tín hiệu về trên các đường tín hiệu khác nhau bên trong
bus điều khiển.
4. Tập lệnh (Instructions) của Vixử lý:
Mỗi loại Vixửlý có tập lệnh riêng, số lượng lệnh cũng tùy
thuộc vào từng loại Vixử lý. Tập lệnh của Vixửlý có thể được
chia làm các nhóm cơ bản sau:
- Nhóm lệnh truyền dữ liệu.
- Nhóm lệnh số học và logic
- Nhóm lệnh trao đổi, truyền khối dữ liệu và tìm kiếm.
- Nhóm lệnh xoay và dòch.
- Nhóm lệnh điều khiển
- Nhóm lệnh về bit.
- Nhóm lệnh nhảy.
- Nhóm lệnh gọi, trở về.
- Nhóm lệnh xuất, nhập.
Mỗi lệnh của Vixửlý là dữ liệu ở dạng số nhò phân. Khi Vi
xử lý nhận được một lệnh thì từ dữ liệu nhò phân này yêu cầu Vi
xử lý thực hiện công việc mà lệnh yêu cầu. Chiều dài của một
lệnh bằng với chiều dài từ dữ liệu của Vixử lý. Mỗi lệnh mà Vi
xử lý thực hiện gồm hai yếu tố:
- Mã công tác: cho biết thao tác mà Vixửlý phải thực
hiện.
- Toán hạng: được viết theo sau mã công tác, cho biết vò
trí dữ liệu cần phải xử lý.
Có nhiều cách để chỉ vò trí của số liệu:
- Đònh đòa chỉ trực tiếp bằng thanh ghi: toán hạng là ký
hiệu của các thanh ghi và dữ liệu cần xửlý chính là nội
dung chứa trong thanh ghi đó.
- Đònh đòa chỉ gián tiếp bằng thanh ghi: toán hạng không
phải là đòa chỉ của số liệu mà chỉ là dấu hiệu cho biết nơi
chứa dữ liệu.
- Đònh đòa chỉ trực tiếp: toán hạng là đòa chỉ của dữ liệu
cần được xử lý.
- Đònh đòa chỉ tức thời: toán hạng chính là dữ liệu cần
được xử lý.
- Đònh đòa chỉ ngầm đònh: vò trí hoặc giá trò của dữ liệu
cần được xửlý được hiểu ngầm nhờ mã công tác.
Vi xửlý 8085A
I. Giới thiệu:
Vi xửlý 8085A được hãng Intel chế tạo vào năm 1974.
Đây là một Vixửlý 8 bit, có chiều dài từ dữ liệu là 8 bit, chiều
dài từ đòa chỉ là 16 bit.
1. Đặc tính:
- Nguồn cung cấp : 5V 10%.
- Dòng điện cực đại: I
max
= 170mA.
- Tần số xung clock chuẩn 6MHz.
- Mạch tạo xung clock được tích hợp, có thể dùng thạch
anh, RC hay RC bên ngoài.
- Có 5 yêu cầu ngắt: Trong đó có một yêu cầu ngắt không
che được (NMI -
Non Maskable Interrupt) và một tương
thích với 8080A.
- Có cổng Input/Output nối tiếp.
- Phần mềm tương thích 100% với 8080A.
2. Sơ đồ chân và sơ đồ logic:
8085A
Ready
Hold
Intr
RST 7.5
RST 6.5
RST 5.5
Trap
Reset In
X
1
X
2
SID
Vcc
Vss
A
15
- A
8
AD
7
- AD
0
ALE
S
0
S
1
RD\
WR\
HLDA
INTA
Reset Out
SOD
8085A
X
1
X
2
Reset Out
SOD
SID
Trap
RST 7.5
RST 6.5
RST 5.5
INTR
INTA\
AD
0
AD
1
AD
2
AD
3
AD
4
AD
5
AD
6
AD
7
Vss
Vcc
HOLD
HLDA
CLK Out
Reset In
Ready
IO/M\
S
1
RD\
WR\
ALE
S
0
A
15
A
14
A
13
A
12
A
11
A
10
A
9
A
Sơ đồ chân
A
8
A
15
- Address bus (output)
Byte cao của đòa chỉ ô nhớ 16 bit hoặc đòa chỉ cổng 8 bit,
có cấu tạo ngõ ra 3 trạng thái. Trạng thái Hi-Z ở chế độ HOLD,
HALT và trong lúc RESET.
AD
0
AD
7
- Address/Data bus (input/output)
Bus đòa chỉ/dữ liệu, làm việc theo phương pháp đa lộ thời
gian: Ở chu kỳ đồng hồ đầu tiên là byte thấp của đòa chỉ ô nhớ
hoặc khối xuất nhập, ở hai chu kỳ tiếp theo là dữ liệu, cấu tạo
ngõ ra 3 trạng thái. Trạng thái Hi-Z ở chế độ HOLD, HALT và
trong lúc RESET.
ALE - Address Latch Enable (output)
Ở chu kỳ đầu tiên của xung đồng hồ, ALE = [1] cho biết
AD
0
AD
7
là bus đòa chỉ.
Address A
15
-
A
8
Address A
15
-
A
8
A
7
-
A
0
A
7
-
A
0
Data D
7
-
D
0
Data D
7
-
D
0
T
1
T
2
T
3
T
1
T
2
T
3
xung clock
A
15
-
A
8
A
D
7
-
AD
0
ALE
RD
\
WR
\
T
T
T
T
T
T
Phương pháp đa lộ thời gian
Vi xửlý và chốt đòa chỉ
RD\ - Read control (output)
Tác động mức thấp cho biết dữ liệu đang được đọc từ bộ
nhớ hoặc cổng. Cấu tạo ngõ ra 3 trạng thái. Trạng thái Hi-Z ở
chế độ HOLD, HALT và trong lúc RESET.
Bus đòa chỉ
Chốt
S
0
S
1
HLDA HOLD
8085A
RESET
RDY CLK INTA ALE RD WR IO/M\ OUT AD
7
- AD
0
A
15
- A
8
RESET IN
Bus điều khiển
Bus dữ
liệu
Tín hiệu ngắt
Chu kỳ viết
Chu kỳ đọc
WR\ - Write control (output)
Tác động mức thấp cho biết dữ liệu đang được viết vào bộ
nhớ hoặc cổng. Cấu tạo ngõ ra 3 trạng thái. Trạng thái Hi-Z ở
chế độ HOLD, HALT và trong lúc RESET.
READY (input)
Mức cao trong chu kỳ đọc hoặc viết cho biết bộ nhớ hoặc
thiết bò ngoại vi đã sẵn sàng gởi hoặc nhận dữ liệu, Vixửlý sẽ
đợi nếu ngõ này ở mức thấp.
S
0
, S
1
, IO/M\ - status (output)
Ba ngõ ra cho biết trạng thái hoạt động của Vixử lý.
IO/
M\
S
1
S
0
Trạng thái
0 0 1 Viết vào bộ
nhớ
0 1 0 Đọc vào bộ
nhớ
1 0 1 Viết ra cổng
1 1 0 Đọc từ cổng
0 1 1 Nhận lệnh
1 1 1 Nhận lệnh
1 1 1 Nhận yêu cầu
ngắt
* 0 0 HALT
* x x HOLD
* trạng thái Hi-Z
x không xác đònh
* x x RESET
HLDA - Hold Acknowledge (output)
Tín hiệu ra cho biết Vixửlý chấp nhận quyền sử dụng bus
đòa chỉ và bus dữ liệu ở chu kỳ kế tiếp, ngõ này trở về mức thấp
khi không còn yêu cầu HOLD.
INTR - Interrupt Request (input)
Được dùng cho các yêu cầu ngắt công dụng chung, Vixử
lý sẽ nhận ra sau khi thực hiện xong một chỉ thò, ngắt này có thể
được che bằng phần mềm và không có hiệu lực trong lúc
RESET hoặc trong khi Vixửlý đang thi hành một chương trình
phục vụ ngắt.
INTA - Interrupt Acknowledge (output)
Ngõ ra mức thấp cho biết Vixửlý chấp thuận yêu cầu
ngắt.
RST 5.5, RST 6.5, RST 7.5 - Restart Interrupt (input)
Ba yêu cầu ngắt có mức độ ưu tiên cao hơn INTR, được
điều khiển bởi lệnh SIM.
TRAP (input)
Yêu cầu ngắt có mức độ ưu tiên cao nhất và không che
được bằng phần mềm.
Tên Mức ưu
tiên
Đòa chỉ ngắt
(1)
Tín hiệu tác
động
TRAP 1 24h Cạnh lên và
mức cao
RST
7.5
2 3Ch Cạnh lên
RST
6.5
3 34h Mức cao
RST
5.5
4 2Ch Mức cao
INTR 5 (2) Mức cao
(1) Vixửlý cất PC vào ngăn xếp trước khi nhảy đến đòa
chỉ ngắt.
(2) Phụ thuộc vào đòa chỉ gọi ngắt.
INT0
INT1
INT2
INT3
INT4
INT5
INT6
INT7
Đệm
ba
trạng
thái
1 1 1
INTR\ INTA
Vi xử lý
1 1
D0
D1
D2
D3
D4
D5
D6
D7
A
8
A
15
AD
0
AD
7
74148
Các ngắt được gọi bằng lệnh RST
INTERR
UPT
INT
RESTART
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
Đòa chỉ bộ
nhớ
(Hex)
0 1 1 0 0
0
1 1
1
0 0 0 0
1 1 1 0 0
1
1 1
1
0 0 0 8
2 1 1 0 1
0
1 1
1
0 0 1 0
3 1 1 0 1
1
1 1
1
0 0 1 8
4 1 1 1 0
0
1 1
1
0 0 2 0
5 1 1 1 0
1
1 1
1
0 0 2 8
6 1 1 1 1
0
1 1
1
0 0 3 0
7 1 1 1 1
1
1 1
1
0 0 3 8
RESET IN\ (input)
Mức thấp đặt lại bộ đếm chương trình về 0000
H
, xóa FF
cho phép ngắt và HLDA. Bus đòa chỉ, bus dữ liệu và bus điều
khiển ở trạng thái Hi-Z trong lúc RESET.
[...]... bộ hệ thống, ngõ ra tương thích TTL X1, X2 (input) Ngõ đặt thạch anh, RC hoặc LC để tạo xung đồng hồ, X1 còn là ngõ vào của tín hiệu đồng hồ từ mạch bên ngoài CLK - Clock (output) Ngõ ra xung đồng hồ có tần số bằng phân nửa tín hiệu tại X 1 SID - Serial Input Data line (input) Ngõ vào dữ liệu nối tiếp nạp vào bit 7 của bộ tích lũy khi có lệnh RIM SOD - Serial Output Data line (output) Ngõ ra dữ liệu. .. Data line (output) Ngõ ra dữ liệu nối tiếp được xác đònh bởi lệnh SIM Vcc Nguồn nuôi +5V Vss Mass Cấu tạo 8085A: Cấu tạo bên trong của Vi xửlý 8085A có đầy đủ tất cả các khối của một Vi xửlý 8 bit đã được giới thiệu, nhưng có một số điểm khác biệt được thể hiện qua sơ đồ khối sau: INTR INTA\ RST 7.5 RST 6.5 RST 5.5 TRAP SID INTERRUPT CONTROL SOD SERIAL I/O CONTROL 8 BIT INTERNAL DATA BU S ACCUMULATOR . lệnh của Vi xử lý là dữ liệu ở dạng số nhò phân. Khi Vi
xử lý nhận được một lệnh thì từ dữ liệu nhò phân này yêu cầu Vi
xử lý thực hiện công vi c mà lệnh. dữ liệu của Vi xử lý. Mỗi lệnh mà Vi
xử lý thực hiện gồm hai yếu tố:
- Mã công tác: cho biết thao tác mà Vi xử lý phải thực
hiện.
- Toán hạng: được vi t