Tải bản đầy đủ (.ppt) (155 trang)

BÀI GIẢNG Tổ chức vào ra dữ liệu

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 (2.61 MB, 155 trang )

© DHBK 2005

Nội dung môn học
1.
2.
3.
4.
5.
6.
7.

Giới thiệu chung về hệ vi xử lý
Bộ vi xử lý Intel 8088/8086
Lập trình hợp ngữ cho 8086
Tổ chức vào ra dữ liệu
Ngắt và xử lý ngắt
Truy cập bộ nhớ trực tiếp DMA
Các bộ vi xử lý trên thực tế

1
/Chapter4


© DHBK 2005

2
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu






Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288
Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

3
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu


Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288










Các tín hiệu của 8086
Phân kênh và việc đệm cho các bus

Mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288
Biểu đồ thời gian của các lệnh ghi/đọc

Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

4
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu


Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288










Các tín hiệu của 8086
Phân kênh và việc đệm cho các bus
Mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288

Biểu đồ thời gian của các lệnh ghi/đọc

Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

Các chân tín hiệu của 8086
M/IO (S2)
AD0-AD15

DT/R(S1)
Tín hiệu điều
khiển hệ thống

RD
WR (LOCK)
DEN (S0)
SS0
READY
BHE/S7

Tín hiệu điều
khiển CPU

đồng hồ
và nguồn


NMI
INTR
RESET
MN/MX
TEST
CLK
Vcc
GND
GND

5
/Chapter4

16 đường
địa chỉ thấp/dữ liệu

A16/S3
A17/S4
A18/S5
A19/S6

4 đường
bus C/ địa chỉ cao

8086
HOLD(RQ/GT0)
HLDA(RQ/GT1)
INTA(QS1)
ALE(QS0)


Tín hiệu điều
khiển bus


© DHBK 2005

Các chân tín hiệu của 8086


AD0-AD15:

 ALE =1: 16 chân địa chỉ cho bộ nhớ hoặc I/O
 ALE=0: 16 đường dữ liệu



A19/S6-A16/S3

 4 bit địa chỉ cao
 4 bit trạng thái:
 S6 luôn bằng 1
 S5: trạng thái của IF
 S4, S3: bit trạng thái về thanh ghi đoạn
đang truy cập



READY: input pin,

S4 S3

0

0

ES

0

1

SS

1

0

CS or No

1

1

DS

 0 => vi xử lý vào trạng thái đợi
 1: has no effect



INTR: interrupt request


 IF=1 và INTR=1=> cho phép ngắt



TEST

 nếu =0, CPU ở trạng thái đợi và thực hiện lệnh NOP
 =1, lệnh WAIT đợi đến khi TEST=0

6
/Chapter4


© DHBK 2005

Các chân tín hiệu của 8086







7
/Chapter4

NMI (Non-maskable interrupt)

 NMI=1 => thực hiện INT 2

RESET

 1: khởi động lại hệ thống và thực hiện lệnh tại ô nhớ FFFF0H
MN/MX

 1: chế độ min
 0: chế độ max
BHE/S7:

 0: cho phép truy cập byte cao dữ liệu
 Trạng thái S7 luôn bằng 1
RD

 0: CPU đọc dữ liệu từ bộ nhớ hoặc thiết bị ngoại vi
Các chân ở chế độ min

 M/IO
 1: truy cập bộ nhớ
 0: truy cập thiết bị ngoại vi I/O

 WR
 0: dữ liệu hợp lệ tại bus dữ liệu để đưa ra bộ nhớ hoặc thiết bị ngoại vi


© DHBK 2005

Các chân tín hiệu của 8086


8

/Chapter4

Các chân ở chế độ min

 INTA: interrupt acknowledge
 0: khi INTR=1 và IF=1

 ALE: address latch enable
 DT/R: data transmit/receive
 1: bus dữ liệu đang truyền dữ liệu đi
 0: bus dữ liệu đang nhận dữ liệu

 DEN: Data enable
 0: kích hoạt đệm dữ liệu ngoài

 HOLD
 1: CPU tạm dừng hoạt động để nhường quyền điều khiển cho DMA, các bus
được đặt ở trạng thái trở kháng cao

 HLDA (Hold Acknowledge)
 khi HOLD=1, HLDA=1


© DHBK 2005

Các chân tín hiệu của 8086


Các chân ở chế độ Max


 S2, S1, S0
 ghép nối với điều khiển bus 8288
S2

S1

S0

0

0

0

chấp nhận yêu cầu ngắt

0

0

1

đọc thiết bị ngoại vi

0

1

0


Ghi thiết bị ngoại vi

0

1

1

Dừng

1

0

0

đọc mã lệnh

1

0

1

đọc bộ nhớ

1

1


0

ghi bộ nhớ

1

1

1

bus rỗi

chu kỳ điều khiển của bus

9
/Chapter4


© DHBK 2005

Các chân tín hiệu của 8086


10
/Chapter4

Các chân ở chế độ Max

 RQ/GT0 và RQ/GT1: Request/Grant
 Tín hiệu yêu cầu dùng bus của các bộ vi xử lý khác/chấp nhận treo bus của

CPU
 GT0 có mức ưu tiên cao hơn GT1

 LOCK
 0: cấm các bộ vi xử lý khác dùng bus

 QS0 và QS1:
 trạng thái của hàng đợi lệnh

QS1 QS0

Trạng thái hàng đợi lệnh

0

0

không hoạt động

0

1

đọc byte mã lệnh đầu tiên

1

0

hàng đợi rỗng


1

1

đọc byte tiếp theo


© DHBK 2005

11
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu


Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288










Các tín hiệu của 8086
Phân kênh và việc đệm cho các bus
Mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288

Biểu đồ thời gian của các lệnh ghi/đọc

Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

Phân kênh và đệm cho các bus


Vì sao phải phân kênh và khuyếch đại đệm:

 Các bus địa chỉ và dữ liệu dùng chung chân
 Nâng cao khả năng tải của bus



Các vi mạch phân kênh và đệm:

 74LS373: phân kênh
 74LS245: đệm dữ liệu 2 chiều
 74LS244: đệm 3 trạng thái theo 1 chiều

12
/Chapter4


© DHBK 2005


Phân kênh và đệm cho các bus
M/IO
RD
WR
BHE/S7
A19/S6
A16/S3

13
/Chapter4

M/IO
RD
WR
BH
A19

‘244
74LS373

A16
A15

G

A8
A7

8086


A0
ALE

G

74LS373

G

74LS373

D15

AD15

‘245
AD8
AD7

G DIR

D8
D7

‘245
AD0

DEN
DT/R


G DIR

D0


© DHBK 2005

14
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu


Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288










Các tín hiệu của 8086
Phân kênh và việc đệm cho các bus
Mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288
Biểu đồ thời gian của các lệnh ghi/đọc


Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

15
/Chapter4

Mạch tạo xung nhịp 8284 và mạch điều
khiển bus 8288


© DHBK 2005

16
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu


Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288











Các tín hiệu của 8086
Phân kênh và việc đệm cho các bus
Mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288
Biểu đồ thời gian của các lệnh ghi/đọc

Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

Biểu đồ thời gian

17
/Chapter4


© DHBK 2005

18
/Chapter4

Biểu đồ thời gian


Các ký hiệu trong biểu đồ thời gian:


Min

CS

1

CS hold time

2

CS to data
valid

3

Data hold time

max

60

Units

ns

1

Data
2


3

5

30

ns

10

ns


© DHBK 2005

Biểu đồ thời gian


19
/Chapter4

Một chu kỳ ghi/đọc của CPU (chu kỳ bus): 4 chu kỳ xung nhịp T

 5 MHz: 4*200 ns=800 ns
 T1:
 CPU đưa ra địa chỉ của bộ nhớ hoặc I/O, DT/R, M/IO, ALE

 T2:
 CPU đưa ra RD hoặc WR, DEN và dữ liệu trên D0-D15 nếu là lệnh ghi

 CPU đọc tín hiệu READY tại cuối chu kỳ của T2 để xử lý trong chu kỳ tiếp
theo khi nó làm việc với bộ nhớ hay I/O chậm

 T3:
 Nếu READY=0 => T3 trở thành chu kỳ đợi: Tw=n*T
 Tại cuối T3, CPU sẽ đọc dữ liệu nếu là lệnh đọc dữ liệu

 T4:
 Các tín hiệu trên bus được giải phóng
 WR chuyển từ 0 lên 1 kích hoạt quá trình ghi của bộ nhớ


© DHBK 2005

Biểu đồ thời gian

20
/Chapter4


© DHBK 2005

Biểu đồ thời gian

21
/Chapter4


© DHBK 2005


22
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu



Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288
Ghép nối 8088 với bộ nhớ

 Các loại bộ nhớ bán dẫn
 Giải mã địa chỉ cho bộ nhớ
 Ghép nối 8088 với bộ nhớ




Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

23
/Chapter4

Chương 4: Tổ chức vào ra dữ liệu




Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288
Ghép nối 8088 với bộ nhớ

 Các loại bộ nhớ bán dẫn
 Giải mã địa chỉ cho bộ nhớ
 Ghép nối 8088 với bộ nhớ




Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi


© DHBK 2005

Các loại bộ nhớ bán dẫn


Bộ nhớ không bị mất dữ liệu (non-volatile)












ROM (Read Only Memory)
PROM (Programmable ROM)
EPROM (Electrically programmable ROM)
Flash
EEPROM (Electrically Erasable Programmable ROM)
FeRAM (Ferroelectric Random Access Memory)
MRAM (Magnetoelectronic Random Access Memory)

Bộ nhớ bị mất dữ liệu (volatile)










SRAM (Static RAM)
SBSRAM (Synchronous Burst RAM)
DRAM (Dynamic RAM)
FPDRAM (Fast Page mode Dynamic RAM)
EDO DRAM (Extended Data Out Dynamic RAM)
SDRAM (Synchronous Dynamic RAM)
DDR-SDRAM (Double Data Rate SDRAM)
RDRAM (Rambus Dynamic RAM)

24

/Chapter4


© DHBK 2005

Các loại bộ nhớ bán dẫn

A0
Tín hiệu
địa chỉ

WR

A1
A2

D0
D1
D2

Am

Dn

Dữ liệu

WE
CS

OE

WR: write
WE: Write enable

chọn chip

RD

OE: Output enable
CS: Chip Select
RD: read

25
/Chapter4


×