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

Tài liệu đồ án vi mạch hệ vi xử lý 8085A, chương 4 pdf

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 (128.7 KB, 12 trang )

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 Vi xử 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ó Vi xử 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 Vi xử
lý và ALU, tất cả dữ liệu di chuyển bên trong Vi xử 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 Vi xử 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, Vi xử 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 Vi xử 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ì Vi xử 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 Vi xử lý:


Mỗi loại Vi xử 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 Vi xử lý. Tập lệnh của Vi xử 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 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 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 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 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 Vi xử 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, Vi xử 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 Vi xử 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 Vi xử 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, Vi xử
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 Vi xử 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 Vi xử 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) Vi xử 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.
RESET OUT (output)
Báo cho biết CPU đang ở trạng thái RESET, dùng để đặt
lại toàn bộ hệ thống, ngõ ra tương thích TTL.
X
1
, X
2
(input)
Ngõ đặt thạch anh, RC hoặc LC để tạo xung đồng hồ, X
1
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 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:
HOLD
INTERRUPT CONTROL

SERIAL I/O CONTROL
ACCUMULATOR (8)
TEMP REG(8)
FLAG (8)
FLIP FLOP
ALU
INSTRUCTION
DECODER AND
MACHINE CYCLE
ENCODING
ADDRESS
BUFFER
DATA/ADDRESS
BUFFER
B
REG (8)
C
REG (8)
D
REG (8)
E
REG (8)
H
REG (8)
L
REG (8)
STACK POINTER
PROGRAM COUNTER
INCREMENTER/
DECREMENTER

TIMING AND CONTROL
CONTROL STATUS
DMA RESET
8 BIT INTERNAL DATA BU S
X
1
X
2
CLOCK OUT
READY
RD
\
WR
\
ALE
S
0
S
1
IO/M
\
A
15
A
8
ADDRESS BUS
AD
7
AD
0

DATA/ADDRESS BUS
INTR INTA
\
RST 7.5 RST 6.5 RST 5.5 TRAP
SID SOD
HLDA
RESET IN
RESET OUT
INSTRUCTION
REGISTER (8)

×