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
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
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.
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
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
độ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
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
• 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
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
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
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.
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
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
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
– 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