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
Trang 3trong 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
• Các địa chỉ cổng cứng của vi mạch này trong máy vi
• 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
Trang 4trong 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:
Sơ đồ khối của 8253/8254:
Trang 5trong 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:
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
Trang 6trong máy tính XT/AT
I Vi mạch điều khiển trong máy tính XT/AT
10 là chỉ đọc ghi byte cao.
11 là đọc ghi byte thấp, tiếp theo byte cao.
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).
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Trang 7trong 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
Trang 8trong 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.
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
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Trang 9trong 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
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
Trang 10trong 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ẻ.
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.
Vi mạch định thời lập trình được
PIT/8253, PIT/8254
Trang 11trong 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.
Trang 12trong 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
a Cấu tạo
• Sơ đồ khối của 8255:
Vi mạch giao diện ngoại vi lập trình
được 8255
Trang 13trong 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
Trang 14trong 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
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
Trang 15trong máy tính XT/AT
I Vi mạch điều khiển trong máy tính XT/AT
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
Trang 16trong 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
a Nguyên tắc hoạt động ngắt trong máy tính
– 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:
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ý.
Vi mạch điều khiển ngắt lập trình
được 8259A
Trang 17trong 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).
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
Trang 18trong 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.
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
Vi mạch điều khiển ngắt lập trình
được 8259A
Trang 19trong 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ớ.
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
Trang 20trong 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ủ
Trang 21trong 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
→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
Trang 22trong 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
• 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 mạch điều khiển truy nhập bộ nhớ
trực tiếp DMAC 8237
Trang 23máy tính PC hiện đại.
II Vi mạch điều khiển trong máy tính PC hiện đại
Trang 24trong 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à
• 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.
Vi mạch tổng hợp cho Pentium
Trang 25trong 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
– 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