You are on page 1of 4

Câu 26: Mô tả các lệnh vào/ra cổng của bộ vi xử lý: tên lệnh, cú pháp, chức năng?

Dung lượng của không gian vào /ra khi sử dụng chế độ địa chỉ trực tiếp? Tín hiệu
điều khiển nào được sử dụng khi dùng lệnh đọc cổng vào và ghi cổng ra?
Trả lời:
Máy tính IBM PC sử dụng BVXL của hãng Intel thực hiện truy cập các cổng
vào ra bằng các lệnh vào ra trực tiếp là lệnh IN và lệnh OUT. Các lệnh này có thể
gửi dữ liệu từ thanh ghi tích lũy (AX, AL, hoặc AH) tới các cổng hoặc nhận dữ
liệu từ các cổng vào thanh ghi tích lũy. Như vậy, nếu cần đưa thông tin vào hoặc
lấy thông tin ra thì trước tiên phải chuyển các thông tin này vào thanh ghi tích lũy
Lệnh IN và OUT có hai mode địa chỉ:
- Mode địa chỉ trực tiếp: không gian vào ra được địa chỉ hóa bởi 8 bít địa
chỉ từ A0-A7, ở mode này địa chỉ cổng được nằm trực tiếp trong lệnh.
D÷ liÖu vµo D÷ liÖu ra

IN ®Ých, nguån OUT ®Ých, nguån

IN AL, cæng# OUT cæng#, AL

Ví dụ:
IN AL,30H ;đọc cổng có địa chỉ 30H vào thanh ghi Al
OUT 28H,AL ;Ghi số liệu từ thanh ghi AL ra cổng có địa chỉ
28H
Không gian vào ra sử dụng mode địa chỉ trực tiếp với 8 bít địa chỉ ta
có thể địa chỉ hóa được 28= 256 cổng vào và 28=256 cổng ra
- Mode địa chỉ gián tiếp: không gian vào ra được địa chỉ hóa bởi 16 bít địa
chỉ từ A0-A15, ở mode này địa chỉ của cổng vào ra được ghi vào thanh
ghi DX
D÷ liÖu vµo D÷ liÖu ra

MOV DX, cæng# MOV DX, cæng#

IN AL, DX OUT DX, AL


Ví dụ:
MOV DX,03F8H ;Nạp địa chỉ cổng vào thanh ghi DX
IN AL,DX ;Đọc số liệu từ cổng 3F8H vào thanh ghi AL
Không gian vào ra sử dung mode địa chỉ gián tiếp với 16 bít địa chỉ ta
có thể địa chỉ hóa được 216=65536 cổng vào và 216=65536 ra

Tín hiệu trạng thái M / IO được phát ra từ CPU thông báo khi nào thì CPU truy
cập bộ nhớ và khi nào thì truy cập vào/ra. Tín hiệu này được kết hợp với các tín
hiệu RD và WR để tạo ra các tín hiệu điều khiển các quá trình ghi đọc bộ nhớ và
vào/ra
M / IO RD WR
1 0 1 MEMR Tín hiệu đọc bộ nhớ
1 1 0 MEMW Tín hiệu ghi bộ nhớ
0 0 1 IOR Tín hiệu đọc cổng vào ra
0 1 0 IOW Tín hiệu ghi cổng vào ra

Câu 27: Trình bày chức năng, các thanh ghi bên trong và các chế độ lập trình của
vi mạch vào/ra song song 8255A? Trong máy tính PC, vi mạch 8255A nằm trên
Mainboard có địa chỉ chọn chip là bao nhiêu, được lập trình ở chế độ nào? Chiều
của các cổng được thiết lập như thế nào? Viết lại đoạn chương trình khởi tạo
8255A trong BIOS của máy tính?
Trả lời:
Chức năng:Chíp này có thể được dùng cho cả vào/ra ngoại vi và vào/ra theo
bản đồ nhớ. Chíp có 3 cổng truy nhập riêng rẽ là A,B,C và có thể lập trình riêng
cho từng cổng của 8255 thành cổng vào hoặc cổng ra hoặc chuyển đổi chúng 1
cách linh hoạt. Ngoài ra 8255 còn có thể được sử dụng để CPU giao tiếp với thiết
bị thông qua tín hiệu bắt tay.
Thanh ghi :Chíp 8255 có một thanh ghi điều khiển có thể lập trình để chọn
chế độ làm việc của 3 cổng .
Các chế độ lập trình:
Chế độ 0: hay chế độ vào ra đơn giản. Trong chế độ này bất cứ cổng nào
A,C,CL và CU đều có thể được lập trình thành cổng vào hoăc cổng ra. Khi đó tất
cả các bit đều hoặc là vào hoặc là ra. Nói cách khác, không thể điều khiển riêng
cho từng bit
Chế độ 1: Trong chế độ này các cổng A và B có thể được dùng làm cổng vào
hoặc ra với khả năng bắt tay. Các tín hiệu bắt tay. Các tín hiệu bắt tay được truyền
qua các bit của cổng C.
Chế độ 2: Trong chế độ này, cổng A có thể được dùng làm cổng vào/ra hai
chiều với khả năng bắt tay nhờ các tín hiệu của công C. Cổng B có thể được dùng
ở chế độ 0 hoặc 1.
Chế độ BSR (lập/ xóa bit): Trong chế độ này có thể lập trình chỉ cho từng bit
trên cổng C.
Ở máy tính PC/XT và tương thích người ta sử dụng chip 74LS138 để giải mã
địa chỉ cổng

Tính địa chỉ cổng của 8255


Đia chỉ nhị phân
Cổng
§Þa chØ
AEN A9 A8 A7 A6 A5 A4 A3 A2 A1
A0
1 0 0 0 1 1 x x x 0 0 60 Cổng A

1 0 0 0 1 1 x x x 0 1 61 Cổng B

1 0 0 0 1 1 x x x 1 0 62 Cổng C

1 0 0 0 1 1 x x x 1 1 63 Thanh ghi điều khiển

Trong máy tính IBM PC/XT, 3 cổng của 8255 có vai trò: cổng A làm cổng
vào, cổng B – cổng ra, cổng CL – cổng vào và cổng CU – cổng vào. Với cấu hình
này, D0=1, D1=0 và D2 = 0 vì cổng CL và cổng B được dùng trong chế độ vào ra
đơn giản (chế độ 0). D3=1,D4=1 và D5D6 = 00 như vậy chế độ 0 được chọn do D5
và D6 vì các cổng A và C cao được dùng cho chế độ 0. Kết quả từ điều khiển có
giá tri sau 1001 1001 = 99H. Đoạn chương trình khởi tạo 8255
của BIOS IBM PC/XT như sau:
MOV AL,99H
OUT 63,AL

You might also like