- ALE (address latch enable)
4.5 Tổ chức nối ghép Bus trong máy tính IBM PC
Trong IBM PC có 3 bus là: địa chỉ, dữ liệu và điều khiển.
IBM PC có 2 thiết bị chủ có thể truy nhập các bus đó là: bộ xử lý 8088 và bộ điều khiển truy nhập bộ nhớ trực tiếp DMAC. Bộ xử lý 8088 đ−ợc thiết kế chủ yếu để nhận và thực hiện các lệnh, còn để truyền một l−ợng dữ liệu lớn nh−
với đĩa cứng, đĩa mềm...thì nó quá chậm không chấp nhận đ−ợc. Việc truyền l−ợng dữ liệu lớn chính là chức năng của chip 8237. Do không có bus nào có thể phục vụ đ−ợc 2 thiết bị chủ đồng thời, nên phải có giải pháp để hoặc bộ xử lý 8088 hoặc DMA 8237 điều khiển bus. Giải pháp đó đ−ợc gọi là phân chia bus (bus arbitration) và thực hiện đ−ợc nhờ mạch tạo AEN, cụ thể nh− sau:
Bus địa chỉ (address bus)
Sử dụng 3 chip 74LS373 với 2 chức năng sau:
1. Chốt địa chỉ do 8088 cung cấp duy trì địa chỉ ổn định cho toàn bộ máy tính. Bus địa chỉ là bus một chiều. 74LS373 đ−ợc kích hoạt bằng các tín hiệu điều khiển AEN và ALE. Khi AEN (nối đến chân OE ) ở mức thấp, 8088 cung cấp các bus địa chỉ cho hệ thống. 8288 cung cấp tín hiệu ALE (nối đến G) để cho phép 74LS373 chốt các địa chỉ từ CPU, tạo ra một địa chỉ ổn định 20 đ−ờng cho tất cả bộ nhớ, ngoại vi và các khe cắm mở rộng. Việc tách các địa chỉ A0-A7 đ−ợc thực hiện bằng cách nối 74LS373 đến chân AD0-AD7 của
CPU. Các chân A8-A15 của CPU đ−ợc nối đến chip 74LS373 thứ 2 và A16- A19 đ−ợc nối đến 74LS373 thứ 3. Một nửa của 74LS373 thứ 3 không sử dụng.
2. Cách ly các bus địa chỉ hệ thống khỏi bus địa chỉ cục bộ. Cần nhấn mạnh rằng DMA hoặc bất kỳ bảng mạch nào trên khe cắm mở rộng đều đ−ợc phép sử dụng bus hệ thống nh−ng không đ−ợc ảnh h−ởng đến CPU. Giải quyết vấn đề này chính là nhờ 3 chip 74LS373 thông qua chân AEN.
Bus dữ liệu
Bus dữ liệu 2 chiều đi qua mạch thu-phát 74LS245. Chip 74LS245 đ−ợc kích hoạt bằng 2 tín hiệu là DT/ R và DEN. Tín hiệu DT/ R đ−ợc đ−a vào chân DIR của 74LS245 và xác định cho chip này chuyển dữ liệu từ phía A sang phía B khi có mức logic cao. Ng−ợc lại, khi DT/ R chuyển DIR xuống mức thấp, chip thu-phát sẽ truyền dữ liệu từ phía B sang phía A, lúc đó là nhận thông tin từ bus dữ liệu hệ thống và đ−a vào bộ xử
lý. Tín hiệu DEN cùng với tín hiệu cao SP / EN đi từ bộ điều khiển ngắt 8259 (khi bộ điều khiển ngắt ch−a đ−ợc kích hoạt, chân SP / EN sẽ có mức cao) qua cổng NAND và mở 74LS245 bằng cách
đặt mức thấp vào chân G . DEN cùng SP / EN cách ly bus dữ liệu để chúng trở thành hoặc là bus nội bộ, hoặc là bus hệ thống. Khi chân G của 74LS245 ch−a ở mức tích cực, bus dữ liệu hệ thống bị cách ly khỏi bus dữ liệu nội bộ.
Bảng 4.2 Phân chia bus
AEN Điều khiển bus
0 Các bus đ−ợc điều khiển bởi CPU 1 Các bus đ−ợc điều khiển bởi DMA
Bus điều khiển
Một số đ−ờng của bus điều khiển là do 8288 cung cấp, còn một số đ−ờng khác thì do các mạch logic cung cấp. Các đ−ờng điều khiển IOR (I/O read),
IOW (I/O write), MEMR (memory read), và MEMW (memory write) rất hay đ−ợc sử dụng trong các máy tính PC.
Tạo tín hiệu AEN
AEN là tín hiệu ra của flip-flop D. Tuỳ thuộc vào trạng thái của tín hiệu này mà hoặc CPU hoặc DMA có thể truy nhập các bus.
Bộ vi xử lý 8088/86 điều khiển bus hệ thống khi AEN về mức thấp. Quá trình này xảy ra ở các tr−ờng hợp sau:
1. Khi RESET máy tính (khởi động nguội). RESET là tín hiệu tích cực cao, sau khi qua mạch đảo, tín hiệu này đ−ợc đ−a tới chân vào CLEAR của 74LS175.
2. Nếu tín hiệu trạng thái nào đó có mức thấp. Chu kỳ nhớ của 8088/86, gồm 4 chu kỳ đồng hồ: T1, T2, T3 và T4. Các tín hiệu trạng thái sẽ có mức cao (thụ động) ở chu kỳ T4 để DMA có thể yêu cầu sử dụng các bus.
3. Khi LOCK ở mức tích cực. Nếu 8088 thực hiện lệnh với tiền tố LOCK, thì mức áp thấp đ−ợc đặt vào chân LOCK để xác nhận CPU sẽ không giải phóng bus hệ thống cho đến khi kết thúc lệnh hiện hành. Nói cách khác, đối với lệnh không có tiền tố LOCK, chân LOCK của 8088 sẽ ở mức cao trong quá trình thực hiện lệnh đó.
4. Khi HRQDMA (hold request from DMA) ở mức cao. Hay cụ thể hơn, nếu ch−a có yêu cầu của DMA, thì 8088/86 điều khiển bus hệ thống.
DMA điều khiển bus
Quá trình chuyển quyền điều khiển bus hệ thống sang cho DMA khi AEN lên mức cao xẩy ra nh− thế nào?. Khi DMA đ−ợc yêu cầu phục vụ, DMA sẽ báo cho CPU biết là nó cần sử dụng bus hệ thống bằng cách đặt mức thấp vào chân HRQDMA (cũng giống nh− tín hiệu HOLD trong chế độ tối thiểu của 8088/86). Nh− vậy sẽ tạo mức áp cao trên chân ra D3 của 74LS175, nếu nh−
HRQDMAtừ 8237 từ 8237 74LS175 clock D3clrQ3 74LS175 clk Q0 clr D Q clr clk Q Q0 pre HLDA to 8237 74LS74 reset S0 S1 S2 LOCK from 808 Vcc Vcc buffere CLK from clk88 of 8284A AEN 0 8088 Buses 1 8237 DMA Buses AEN
ép CPU với các chip hỗ trợ. Trong sơ đồ này có chu kỳ nhớ hiện hành đã kết thúc và chân vào LOCK ch−a đ−ợc kích hoạt. Trong chu kỳ đồng hồ tiếp theo, HLDA (hold acknowledge) sẽ đặt DMA và AEN lên mức cao và trao quyền điều khiển bus cho DMA.
Bus cục bộ và bus hệ thống
Hình 4.7 giới thiệu nối gh
đề cập tới bus cục bộ và bus hệ thống. Các bus nằm bên trái của chip 8288 (74LS373 và 74LS245) là bus cục bộ, còn bên phải 8288 là bus hệ thống. Bus hệ thống không chỉ cung cấp các tín hiệu cần thiết đến toàn bộ các chip (RAM, ROM và các chip ngoại vi) trên bảng mạch chủ mà còn đến khe cắm mở rộng cho các thẻ cắm ở đó.