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

Chương 5: VI MẠCH ĐIỀU KHIỂN TRONG MÁY VI TÍNH PC docx

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 (897.51 KB, 36 trang )

5/14/2013
1
Chương 5: VI MẠCH ĐIỀU KHIỂN
TRONG MÁY VI TÍNH PC
Phạm Văn Thành
Nội dung
I. Vi mạch điều khiển trong máy tính
XT/AT
II. Vi mạch điều khiển trong máy tính
PC hiện đại.
2
5/14/2013
2
Nội dung
I. Vi mạch điều khiển trong máy tính
XT/AT
II. Vi mạch điều khiển trong máy tính
PC hiện đại.
3
máy tính XT/AT
I
.
Vi mạch điều khiển trong
máy tính XT/AT
1. Vi mạch định thời lập trình được
PIT/8253, PIT/8254
2. Vi mạch giao diện ngoại vi lập trình được
8255
3. Vi mạch điều khiển ngắt lập trình được
8259A
4. Vi mạch điều khiển truy nhập bộ nhớ trực


tiếp DMAC 8237
4
5/14/2013
3
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
Vi mạch định thời lập trình được (Programmable
Interval Timer) PIT/8253, PIT/8254:
• Là một vi mạch phụ rất quan trong trong các thế
hệ vi xử lý của Intel.
• Có thể đáp ứng được các yêu cầu ứng dụng khác
nhau trong hệ vi xử lý: đếm thời gian, đếm sự
kiện, đếm tần số, tạo ra dãy xung, .v.v.
• Có ba bộ đếm 16 bit và một thanh ghi điều khiển
(8254).
• Các đường A0 và A1 định địa chỉ 3 bộ đếm và
thanh ghi điều khiển.
5
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
• Các địa chỉ cổng cứng của vi mạch này trong máy vi
tính cá nhân:
040h: bộ đếm 0
041h: bộ đếm 1
042h: bộ đếm 2

043h: Thanh ghi điều khiển: xác định chế độ làm việc cho hệ
thống
• Nội dung ban đầu của ba bộ đếm đều có thể lập trình
từ CPU để thay đổi.
• Có thể điều khiển được hoạt động của các bộ đếm
bằng tín hiệu từ bên ngoài thông qua chân cổng (gate)
để cho phép bắt đầu đếm (gate =1) hay để buộc kết
thúc quá trình đếm (gate =0).
6
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
5/14/2013
4
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
Sơ đồ khối của 8253/8254:
7
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
Sơ đồ khối của 8253/8254:
8
Vi mạch định thời lập trình được
PIT/8253, PIT/8254

A
1
A
0
Chức năng
0 0 Chọn bộ đếm 0
0 1 Chọn bộ đếm 1
1 0 Chọn bộ đếm 2
1 1 Chọn thanh ghi điều khiển
5/14/2013
5
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
Sơ đồ khối của 8253/8254:
9
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Bảng chức năng theo các cửa vào điều khiển như sau :
A1 A0 R W CS
0 0 0 1 0 Đọc ra từ bộ đếm 0
0 1 0 1 0 Đọc ra từ bộ đếm 1
1 0 0 1 0 Đọc ra từ bộ đếm 2
0 0 1 0 0 Nạp vào bộ đếm 0 bằng từ xuất phát
0 1 1 0 0 Nạp vào bộ đếm 1 bằng từ xuất phát
1 0 1 0 0 Nạp vào bộ đếm 2 bằng từ xuất phát
1 1 1 0 0 Ghi vào từ điều khiển
x x x x 1 Bus data ở trạng thái ngắt ( R cao )
x x 1 1 0 Bus data ở trạng thái điện trở cao

trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
a. Khởi động PIT8253/8254
– Vi mạch 8254 dùng thanh ghi điều khiển để định
nghĩa chế độ làm việc của ba bộ đếm.
– Để khởi động PIT ta phải ghi từ điều khiển CW
(control word) vào thanh ghi từ điều khiển.
– Dạng thức của thanh ghi từ điều khiển
10
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
5/14/2013
6
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Khởi động PIT8253/8254
– Ý nghĩa từng bit:
SC1, SC0 (Select counter) chọn bộ đệm,
00: bộ đếm 0
01: bộ đếm 1
10: bộ đếm 2
RW1, RW0 (Read/Write): chế độ đọc/ ghi.
00 lệnh khóa bộ đếm.
01 là chỉ đọc/ghi byte thấp.
10 là chỉ đọc ghi byte cao.

11 là đọc ghi byte thấp, tiếp theo byte cao.
11
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Khởi động PIT8253/8254
– Ý nghĩa từng bit:
M2, M1, M0 (mode): Chế độ làm việc của bộ đếm.
000 là chế độ 0 (tạo yêu cầu ngắt khi đếm hết).
001 là chế độ 1 (đa hài lập trình được).
010 là chế độ 2 (bộ chia tần số cho N).
011 là chế độ 3 (tạo xung vuông).
100 là chế độ 4(tạo xung cho phép mềm).
101 là chế độ 5 (tạo xung cho phép cứng).
12
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
5/14/2013
7
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Khởi động PIT8253/8254
– Ý nghĩa từng bit:

BCD =D0:
o D0 = 0: chế độ đếm nhị phân 16 bít, còn
o D0 = 1 : chế độ đếm thập phân 4 chữ số.
13
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 0: Tạo yêu cầu ngắt khi đếm hết (Interrupt
on terminal count):
• Phát ra một sường xung lên (thường làm tín
hiệu yêu cầu ngắt trong các hệ thống) khi kết
thúc đếm:.
14
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
• Ví dụ: Chế độ đếm
với giá trị ban đầu
là 4, bộ đếm sẽ lùi
xuống giá trị 0
Chế độ đếm 0 với số đếm là 4
5/14/2013
8
trong máy tính XT/AT
I
.
Vi mạch điều khiển

trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 0: Tạo yêu cầu ngắt khi đếm hết (Interrupt
on terminal count):
• Ví dụ:
– Việc nạp thanh ghi bộ đếm sẽ là: nạp byte đầu tiên
(byte thấp) sẽ làm ngừng việc đếm hiện tại, nạp
byte thứ 2 sẽ khởi phát quá trình đếm mới.
15
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Chế độ đếm 0 với số đếm là 4
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 1 (progammable monoflop): phát ra một
xung đơn với thời gian tồn tại xung biến đổi được
• Lối ra out chuyển xuống mức thấp khi bắt đầu
đém và duy trì trạng thái này cho đến khi kết
thúc đếm sẽ nhảy lên mức cao
16
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Chế độ đếm 1 với số đếm là 4
5/14/2013
9
trong máy tính XT/AT
I.

Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 1 (progammable monoflop):
• Cho phép tạo ra xung đơn với độ rộng biến đổi
tùy theo giá trị nạp ban đầu
• Tín hiệu Gate có tác dụng kích hoạt bộ đếm
hoạt động, và vì vậy bộ đếm có thể làm việc
nhiều lần tùy theo số xung Gate.
17
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 2 (Rate generator): phát ra các sóng tỉ lệ
• Các xung nhịp đưa vào bộ đếm được chia bởi giá trị
nạp trong thanh ghi bộ đếm.
• Lối ra sẽ xuống mức tháp trong một chu kỳ khi số
đếm đạt giá trị 0 và sau đó nâng lên mức cao trong
một chu kỳ xung nhịp.
18
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Chế độ đếm 2 với số đếm là 4
Ví dụ:
 Giá trị được nạp vào

bộ đếm là 4
 Lối ra cao trong 3
chu kỳ và thấp trong
1 chu kỳ
5/14/2013
10
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 3 (Square-Wave Generator): phát ra các
sóng hình vuông
• Tương tự như chế độ 2 nhưng xung ngõ ra là sóng
vuông khi giá trị đếm chẵn và sẽ thêm một chu kỳ ở
mức cao khi giá trị đếm lẻ.
19
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Chế độ đếm 3 với số đếm là 4
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 4 (Software-triggered Pulse): tạo các xung
bằng phần mềm
• Giống như chế độ 2 nhưng xung Gate không khởi

động quá trình đếm mà sẽ đếm ngay khi số đếm ban
đầu được nạp.
• Ngõ ra ở mức cao để đếm và xuống mức thấp trong
chu kỳ xung đếm. Sau đó, ngõ ra sẽ trở lại mức cao.
20
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
5/14/2013
11
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Năm chế độ làm việc của các bộ đếm
Chế độ 5 (Hardware-triggered Pulse): tạo các xung
bằng xung cửa gate
• Giống như chế độ 2, sườn lên xung cửa gate bắt đầu
quá trình đếm sau đó xuống thấp trong một chu kì khi
việc đếm kết thúc.
• Khi quá trình đếm chưa kết thúc, nếu xung cửa xuất
hiện những sườn lên thì cứ mỗi lần như vậy bộ đếm
lại được đếm lại từ giá trị ban đầu.
21
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
máy tính XT/AT
I
.
Vi mạch điều khiển trong

máy tính XT/AT
1. Vi mạch định thời lập trình được
PIT/8253, PIT/8254
2. Vi mạch giao diện ngoại vi lập trình được
8255
3. Vi mạch điều khiển ngắt lập trình được
8259A
4. Vi mạch điều khiển truy nhập bộ nhớ trực
tiếp DMAC 8237
22
5/14/2013
12
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Cấu tạo
• Vi mạch 8255 có 3 cổng lập trình được.
• Các tín hiệu điạ chỉ A0, A1 của 8255 được nối trực
tiếp với tín hiệu địa chỉ tương ứng của bộ vi xử lý.
• Các đường dây địa chỉ được kết mạch về địa chỉ 60H
và cùng với tín hiệu IO/M được dùng để điều khiển
tín hiệu /CS (chip select) của vi mạch 8255.
23
Vi mạch giao diện ngoại vi lập trình
được 8255
trong máy tính XT/AT
I
.

Vi mạch điều khiển
trong máy tính XT/AT
a. Cấu tạo
• Sơ đồ khối của 8255:
24
Vi mạch giao diện ngoại vi lập trình
được 8255
5/14/2013
13
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
a. Cấu tạo
• Địa chỉ các cổng 8 bít của 8255 trong một máy tính cá nhân tương
thích IBM như sau:
Cổng A: 60H
Cổng B: 61H
Cổng C: 62H
Thanh ghi điều khiển: 63H.
• Ba cổng A, B, C mỗi cổng 8 bit, cổng C được chia đôi (mỗi
cổng con 4 bit) vì vậy có thể xem 8255 có 4 cổng lập trình
được.
• Được thiết kế để lựa chọn thiết bị ngoại vi, được phép giao
tiếp với vi xử lý.
• Các cổng chia làm hai nhóm:
Nhóm A: gồm cổng A và 4 bit cao cổng C.
Nhóm B: gồm cổng B và 4 bit thấp cổng C.
25
Vi mạch giao diện ngoại vi lập trình

được 8255
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Cấu tạo
26
Vi mạch giao diện ngoại vi lập trình
được 8255
Lựa chọn các cổng được chọn bởi A0, A1 như sau :
Địa chỉ A
1
A
0
Cổng
$300 $cơ sở 0 0 A
$301 $cơ sở + 1 0 1 B
$302 $cơ sở + 2 1 0 C
$303 $cơ sở + 3 1 1
Kiểm soát thanh
ghi điều khiển
5/14/2013
14
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Chế độ làm việc:

• Vi mạch 8255 có bốn chế độ làm việc:
a. Chế độ 0, vào/ra đơn giản: cho phép định nghĩa 4 cổng A,
B, C thấp, C cao thành cổng vào hoặc ra. Phối hợp 4 cổng
sẽ có 16 cấu hình vào ra đơn giản của vi mạch 8255.
b. Chế độ 1 vào/ra có xung cho phép: phần lớn các bit của
cổng C được sử dụng làm tín hiệu điều khiển. Cổng A và
cổng B được dùng để nhập dữ liệu (vào) hoặc phát dữ liệu
(ra) tùy theo tín hiệu /RD, /WR đến từ bộ vi xử lý.
c. Chế độ 2, bus hai chiều: chỉ được dùng cho cổng A. Cổng
B có thể chọn để làm việc tại chế độ 0 (vào) hoặc chế độ 1
(ra). Tùy từng chế độ của cổng B mà các chân cổng C
được dùng làm tín hiệu điều khiển cho cổng A và cổng B.
d. Chế độ : chế độ đặt/xoá các bit cổng C.
27
Vi mạch giao diện ngoại vi lập trình
được 8255
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
28
Vi mạch giao diện ngoại vi lập trình
được 8255
D0 : Cổng C (nửa thấp ) - 0: ra ; 1 : vào
D1 : Cổng B - 0 : ra ; 1 : vào
D2 : chọn chế độ 1: mode 1
0: mode 0 (mode của nhóm B)
D3 : cổng C (nửa cao) 1: vào
0: ra

D4 : Cổng A : 1 vào
0 ra
D5 , D6 : Chọn chế độ :
0 0 : mode 0
0 1 : mode 1
1 1 : mode 2
1 0 : mode 2
D7: Xác lập cổng
1: xác lập cổng
0: xóa các bit
port[A] := data out
port[B] := data in
5/14/2013
15
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Chế độ làm việc:
29
Vi mạch giao diện ngoại vi lập trình
được 8255
Ví dụ :
D7 - mức 1 : chỉ ra rằng thanh ghi điều khiển đang được sử dụng (
được phép ghi lại )
D2 ,D5, D6 - mức 0 : cho biết tất cả các cổng được sử dụng mode 0
D4 - mức 1 : cổng A là cổng vào
D3, D1, D0 - mức 0 : cổng B và C (cao và thấp ) đựơc dùng làm cổng
ra → biểu diễn trong hệ nhị phân (hexa) 90(h)

1 0 0 1 0 0 0 0
máy tính XT/AT
I
.
Vi mạch điều khiển trong
máy tính XT/AT
1. Vi mạch định thời lập trình được
PIT/8253, PIT/8254
2. Vi mạch giao diện ngoại vi lập trình được
8255
3. Vi mạch điều khiển ngắt lập trình được
8259A
4. Vi mạch điều khiển truy nhập bộ nhớ trực
tiếp DMAC 8237
30
5/14/2013
16
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Nguyên tắc hoạt động ngắt trong máy tính
• Ngắt là một phương tiện để thay đổi chế độ hoạt động
của CPU và các thiết bị khác.
• Người sử dụng lợi dụng nguyên tắc này để thay đổi
các nhu cầu công việc của mình thông qua các thiết bị
phần cứng (ngắt cứng) hoặc qua các phần mềm (ngắt
mềm).
• Một vi mạch bên trong máy tính chiệu trách nhiệm

tiếp nhận, điều khiển tín hiệu ngắt này được gọi là vi
mạch điều khiển ngắt lập trình được 8259A.
31
Vi mạch điều khiển ngắt lập trình
được 8259A
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Nguyên tắc hoạt động ngắt trong máy tính
• Nguyên tắc hoạt động ngắt:
– Kiểm tra yêu cầu ngắt bằng một vòng (loop) thăm dò trong
chương trình khi gặp yêu cầu thì đáp ứng.
– Dùng ngắt (interrupt) để tạm dừng chương trình, chạy chương
trình con đáp ứng ngay yêu cầu ngắt (interrupt request).
• Yêu cầu ngắt được chia thành hai loại chính:
– Ngắt phần cứng (hardware interrupt): yêu cầu ngắt từ
một bộ phận ngoại vi được đưa đến những chân tín
hiệu ngắt của bộ ví xử lý.
– Ngắt phần mềm (software interrupt): yêu cầu ngắt của
bộ vi xử lý khi thực hiện lệnh hợp ngữ INT. Hệ điều
hành sử dụng ngắt này để xử lý các hàm (điều khiển
chuột, ổ đĩa…vv). Những ngoại lệ nảy sinh trong quá
trình hoạt động của bộ vi xử lý (chia cho 0, tràn) cũng
thuộc về loại ngắt này.
32
Vi mạch điều khiển ngắt lập trình
được 8259A
5/14/2013

17
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
a. Nguyên tắc hoạt động ngắt trong máy tính
• Khi bộ vi xử lý nhận được một yêu cầu ngắt phần cứng và đọc số hiệu ngắt
từ bus dữ liệu:
i. Nhớ thanh ghi cờ (FR) về ngăn xếp (stack) trong bộ nhớ.
ii. Cấm các ngắt khác (IF=0), cho bộ vi xử lý chạy tại cơ chế thường
(TF=0).
iii. Cất địa chỉ đoạn (segmen address) của chương trình đang chạy (nằm
trong thanh ghi đoạn mã CS -code segment) vào ngăn xếp.
iv. Cất địa chỉ lệch (offset address) của mã lệnh đang chạy (nằm trong
thanh ghi trỏ lệnh IP - instruction pointer) vào ngăn xếp.
v. Lấy địa chỉ chương trình phục vụ ngắt từ bảng địa chỉ ngắt (interrupt
vector table) vào thanh ghi đoạn mã CS và thanh ghi con trỏ lệnh
căn cứ theo số hiệu ngắt. Sau đó chương trình phục vụ ngắt bắt đầu
chạy.
vi. Khi gặp lệnh IRET (interrupt return), bộ vi xử lý lấy lại trạng thái
ban đầu của thanh ghi cờ (FR), thanh ghi đoạn mã (CS) và thanh ghi
con trỏ lệnh (IP) từ ngăn xếp (được lưu trữ trong các bước 1,3,4).
33
Vi mạch điều khiển ngắt lập trình
được 8259A
trong máy tính XT/AT
I
.
Vi mạch điều khiển

trong máy tính XT/AT
a. Nguyên tắc hoạt động ngắt trong máy tính
• Nếu nhiều yêu cầu ngắt xuất hiện cùng một lúc, bộ vi
xử lý sẽ có những thứ tự ưu tiên từ cao đến thấp như
sau:
i. Ngắt nội bộ (chia cho 0 INT 0, tràn INT 4, ngắt
phần mềm INT N).
ii. Ngắt phần cứng không che được NMI.
iii. Ngắt phần cứng che được INTR.
iv. Ngắt chạy từng lệnh INT 1.
34
Vi mạch điều khiển ngắt lập trình
được 8259A
5/14/2013
18
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
b. Cấu tạo và nguyên tắc hoạt động của 8259
• Vi mạch điều khiển ngắt lập trình được
(Programmable Interrupt Controler) PIC/8259A phân
định mức ưu tiên khi có nhiều ngắt phần cứng che
được INTR xuất hiện.
• Có khả năng xử lý tối đa 8 yêu cầu ngắt IR (interrupt
request) và chỉ đưa ra một yêu cầu ngắt đến chân tín
hiệu INTR của bộ vi xử lý.
• Với hệ thống có nhiều thiết bị: có thể ghép nhiều vi
mạch 8259 theo kiểu chủ/tớ (master/slave)→ dùng 1
vi mạch PIC chủ và 8 vi mạch PIC tớ bộ vi xử lý tiếp

nhận 64 yêu cầu ngắt phần cứng che được khác nhau.
35
Vi mạch điều khiển ngắt lập trình
được 8259A
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Cấu tạo và nguyên tắc hoạt động của 8259
• Sơ đồ khối của vi mạch PIC 8259A
36
Vi mạch điều khiển ngắt lập trình
được 8259A
5/14/2013
19
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Cấu tạo và nguyên tắc hoạt động của 8259
• Trong đó:
– IR0 IR7 (interrupt request): các chân yêu cầu ngắt.
– IRR (interrupt request register): thanh ghi yêu cầu ngắt từ đầu
vào IR0 IR7 .
– ISR (interrupt service register): thanh ghi đang được phục vụ.
– IMR ( interrut mask register): thanh ghi khuôn che ngắt cho IR0
IR7.
– PR (priority register): thanh ghi xử lý ưu tiên.

– /SP, /EN (slave program, enable buffer): tín hiệu lập trình chủ/tớ
hoặc mở đệm bus dữ liệu:
• Nếu không làm việc ở chế độ đệm bus dữ liệu thì tín hiệu này định
nghĩa vi mạch này là tớ (/SP=0) hay chủ (/SP=1).
• Trong chế độ đệm bus, tín hiệu (/EN=0) mở thông bus hệ thống với
8259A. Lúc này, việc định nghĩa vi mạch chủ được thực hiện qua
ICW4 (interrupt contrrol Word).
– CAS0 CAS2: Tín hiệu nối tầng các vi mạch PIC, là mạch đầu ra
đối với mạch chủ và là đầu vào đối với mạch tớ.
37
Vi mạch điều khiển ngắt lập trình
được 8259A
trong máy tính XT/AT
I.
Vi mạch điều khiển
trong máy tính XT/AT
b. Cấu tạo và nguyên tắc hoạt động của 8259
• Khi xuất hiện một yêu cầu ngắt từ một bộ phận ngoại vi, quy trình
hoạt động của vi mạch 8259 và bộ vi xử lý như sau:
i. Khi có yêu cầu ngắt từ một bộ phận ngoại vi (IRQ0IRQ15),
8259A sẽ đưa ra thông báo ngắt bằng tín hiệu INT=1, tín hiệu
này được nối với bộ vi xử lý qua chân yêu cầu ngắt INTR
(interrupt request).
ii. Bộ vi xử lý sau khi nhận được thông báo ngắt sẽ báo lại 8259A
bằng tín hiệu chấp nhận ngắt /INTA=0 (interrupt acknowledge).
iii. 8259A nhận được tín hiệu /INTA từ bộ vi xử lý sẽ hoàn tất các xử
lý nội bộ theo thứ tự mức ưu tiên.
iv. Bộ vi xử lý đưa ra tín hiệu /INTA lần thứ hai và 8259A sẽ trả lời
bằng cách đưa ra bus dữ liệu thông tin về số hiệu ngắt (1byte)
(INT N, N là số hiệu ngắt).

v. Bộ vi xử lý dùng số hiệu ngắt để tính vị trí địa chỉ chương trình
phục vụ ngắt trong bảng vector ngắt (interrupt vector table).
vi. Qui trình xủ lý yêu cầu trong bộ vi xử lý được thực hiện theo 6
bước đã nêu ở trên .
38
Vi mạch điều khiển ngắt lập trình
được 8259A
5/14/2013
20
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
b. Cấu tạo và nguyên tắc hoạt động của
8259
• Từ thế hệ IBM/AT (advanced
technology) trở đi: máy vi tính cá nhân
có tất cả 16 yêu cầu ngắt cứng→ Cần
thêm một vi mạch 8259A trong chế độ
tớ để tăng thêm số yêu cầu ngắt.
• Đầu ra INTR của vi mạch tớ được nối
với đầu yêu cầu ngắt 2 của vi mạch chủ.
• Địa chỉ cổng phần cứng của từng vi
mạch như sau:
Vi mạch 8259A chủ: 20H, 21H.
Vi mạch 8259A tớ: A0H, A1H.
39
Vi mạch điều khiển ngắt lập trình
được 8259A

máy tính XT/AT
I
.
Vi mạch điều khiển trong
máy tính XT/AT
1. Vi mạch định thời lập trình được
PIT/8253, PIT/8254
2. Vi mạch giao diện ngoại vi lập trình được
8255
3. Vi mạch điều khiển ngắt lập trình được
8259A
4. Vi mạch điều khiển truy nhập bộ nhớ trực
tiếp DMAC 8237
40
5/14/2013
21
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
• Để truy nhập một số thiết bị ngoại vi như đĩa
mềm, đĩa cứng, hay bản mạch ghép nối màn
hình, .v.v. cần phải truy nhập bằng phần cứng
thông qua chip truy nhập bộ nhớ trực tiếp
DMAC
• Cho phép vào/ra dữ liệu rất nhanh
• Được gọi là phương pháp truy nhập trực tiếp
giữa bộ nhớ và các thiết bị ngoại vi không cần
qua bộ vi xử lý.

41
Vi mạch điều khiển truy nhập bộ nhớ
trực tiếp DMAC 8237
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
→Vi mạch truy nhập bộ nhớ trực tiếp DMAC (direct memory
access controller) đảm nhiệm việc điều khiển quá trình trao đổi
thông tin.
• Quy trình truy nhập trực tiếp bộ nhớ thực hiện theo những
bước sau:
i. Thiết bị ngoại vi có nhu cầu trao đổi sẽ phát tín hiệu yêu cầu
dữ liệu DRQ (data request) sang DMAC.
ii. DMAC phát tín hiệu yêu cầu treo HRQ=1 (hold request) đến
chân HOLD của bộ vi xử lý.
iii. Bộ vi xử lý trả lời qua tín hiệu HLDA=1 (hold acknowledge)
sang chân HACK của DMAC và tự treo ra khỏi hệ thống bus.
iv. DMAC phát tín hiệu cho phép truy nhập bộ nhớ DACK=1
(data acknowledge) sang chân DACK của thiết bị ngoại vi.
v. Khi quá trình truy nhập trực tiếp kết thúc thì tín hiệu HRQ
được đưa về 0.
42
Vi mạch điều khiển truy nhập bộ nhớ
trực tiếp DMAC 8237
5/14/2013
22
trong máy tính XT/AT
I

.
Vi mạch điều khiển
trong máy tính XT/AT
• Cấu tạo của vi mạch DMAC 8237A-5 của Intel
43
Vi mạch điều khiển truy nhập bộ nhớ
trực tiếp DMAC 8237
trong máy tính XT/AT
I
.
Vi mạch điều khiển
trong máy tính XT/AT
• Chức năng:
i. EOP (end of process): là tín hiệu hai chiều,
• Khi là đầu vào được dùng để buộc vi mạch DMAC chấm dứt
quá trình truy nhập bộ nhớ trực tiếp.
• Khi là đầu ra được dùng làm tín hiệu báo kết thúc truyền số
byte TC (terminal count) mà một kênh DMAC đảm nhiệm.
ii. RESET: Khởi động, nối với tín hiệu khởi động của toàn
máy vi tính cá nhân.
iii. CS (chip select): Chọn vi mạch, tương tự như các vi mạch
ngoại vi khác tín hiệu này được điều khiển bởi bộ giải mã
địa chỉ và tín hiệu IO/M.
iv. READY: Tín hiệu sẵn sàng, dùng để đợi các thiết bị ngoại
vi khác chậm hơn.
44
Vi mạch điều khiển truy nhập bộ nhớ
trực tiếp DMAC 8237
5/14/2013
23

Nội dung
I. Vi mạch điều khiển trong máy tính
XT/AT
II. Vi mạch điều khiển trong máy tính
PC hiện đại.
45
máy tính PC hiện đại.
II.
Vi mạch điều khiển trong
máy tính PC hiện đại.
1. Vi mạch tổng hợp cho Pentium
2. Vi mạch tổng hợp cho Pentium II và
Pentium III
3. Vi mạch tổng hợp Intel 810
4. Vi mạch tổng hợp Super I/O.
46
5/14/2013
24
trong máy tính PC hiện đại.
II.
Vi mạch điều khiển
trong máy tính PC hiện đại.
• Intel cho ra đời nhiều thế hệ vi mạch tổng hợp
(chipset) cùng với vi xử lý của họ.
• Những vi mạch tổng hợp này chứa đựng toàn
bộ các thiết bị logic và điều khiển của máy vi
tính cá nhân và tận dụng tối đa các khả năng
của vi xử lý cũng như giao diện PCI.
47
Vi mạch tổng hợp cho Pentium

trong máy tính PC hiện đại.
II.
Vi mạch điều khiển
trong máy tính PC hiện đại.
a. Intel 430LX:
• Là vi mạch tổng hợp đầu tiên của Intel. Vi mạch này
dành cho Pentium thế hệ đầu tiên chạy với tần số 60 và
66HZ.
• Có nhiệm vụ điều khiển bus PCI và tối đa 128 MB
RAM
b. Intel 430NX: được dùng cho thế hệ Pentium thứ hai,
làm việc với tần số 90 đến 133MHZ
• Có ưu điểm hơn so với 430 LX:
– Có khả năng điều khiển hệ đa xử lý (hai vi xử lý).
– Quản lý được tối đa 512MB RAM.
– Quản lý được tối đa 512KB bộ nhớ cache thứ cấp(L2).
48
Vi mạch tổng hợp cho Pentium
5/14/2013
25
trong máy tính PC hiện đại.
II.
Vi mạch điều khiển
trong máy tính PC hiện đại.
c. Intel 430FX:
• Ưu điểm
– Quản lý được EDO RAM
– Điều khiển cache xen kẽ (pipeclined burst cache)
và cache đồng bộ (synchronous cache).
– Tương thích với chuẩn PCI 2.0.

– Tốc độ và công suất cao.
• Nhược điểm so với 430NX la:
– Chỉ quản lý được 128 MB RAM.
– Không có khả năng điều khiển hệ đa xử lý.
49
Vi mạch tổng hợp cho Pentium
trong máy tính PC hiện đại.
II.
Vi mạch điều khiển
trong máy tính PC hiện đại.
d. Intel 430HX:
• Được thiết kế để khắc phục những nhược điểm kể trên của
430FX.
– Có khả năng điều khiển bộ nhớ trang bị bộ chữa lỗi chẵn lẻ và
ECC.
– Có khả năng điều khiển hệ đa xử lý.
– Quản lý tối đa 512 MB RAM.
– Có khả năng đệm cache toàn bộ 512 MB (thay vì 64MB trong thế
hệ trước).
– Tốc độ nhanh vì định thời bộ nhớ nhanh hơn, bộ đệm vào/ra lớn
hơn.
– Tương thích với chuẩn PCI 2.1
– Điều khiển được giao diện bus tuần tự đa năng USB.
– Định thời độc lập cho các thiết bị IDE/ATA.
50
Vi mạch tổng hợp cho Pentium

×