Giáo trình Kiến trúc máy tính và thiết bị ngoại vi
MỤC LỤC
Chương I: GIỚI THIỆU CHUNG .
• LỊCH SỬ PHÁT TRIỂN VÀ PHÂN LOẠI .
1. Lịch sử phát triển .
2. Phân loại máy tính .
II. BIỂU DIỄN THÔNG TIN TRÊN MÁY TÍNH .
Hệ đếm .
3. Các loại mã .
4. Biểu diễn số nguyên theo mã nhị phân .
5. Biểu diễn số thực theo mã nhị phân. .
6. Biểu diễn các dạng thông tin khác .
III. CÁC LOẠI HÌNH MÁY TÍNH CÁ NHÂN. .
Chương II: BỘ XỬ LÝ TRUNG TÂM .
1. Tổ chức bộ xử lý .
2. Tổ chức thanh ghi .
3. Đơn vị số học và logic ALU (Arithmetic and logic unit) .
4. Đơn vị điều khiển CU(Control Unit) .
5. Một số mở rộng của vi xử lý máy tính cho đến ngày nay .
6. BUS .
Chương III: HỆ THỐNG NHỚ.
I. KHÁI QUÁT VỀ HỆ THỐNG NHỚ CỦA MÁY TÍNH .
II. PHÂN CẤP BỘ NHỚ.
III. BỘ NHỚ BÁN DẪN .
1. Các loại bộ nhớ bán dẫn.
2. Tổ chức bộ nhớ .
IV. CACHE MEMORY .
1. Nguyên tắc (principle) .
2. Kỹ thuật ánh xạ bộ nhớ cache .
IV. QUẢN LÝ BỘ NHỚ .
1. Các kỹ thuật quản lý bộ nhớ .
2. Bộ nhớ ảo .
3. Sự phân đoạn .
V. KỸ THUẬT GIẢI MÃ ĐỊA CHỈ.
1. Cấu tạo một vi mạch nhớ.
2. Giải mã địa chỉ cho bộ nhớ.
3. Giải mã địa chỉ bằng các mạch NAND .
4. Giải mã dùng mạch giải mã kiểu 74LS138 .
Chương IV: TẬP LỆNH VÀ CÁC MODE ĐỊA CHỈ .
1. Tập lệnh của CPU .
2. Các nhóm lệnh của CPU .
3. Hợp ngữ(Assembly) .
4. Các Mode địa chỉ .
Chương V: HỆ THỐNG VÀO RA .
I. GIỚI THIỆU CHUNG .
1. Các thiết bị ngoại vi .
2. Modul vào ra .
II. GHÉP NỐI MÁY TÍNH VỚI THIẾT BỊ NGOẠI VI .
1. Ghép nối nối tiếp.
2. Ghép nối song song .- 3 -
III. CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN VÀO RA .
1. Vào ra điều khiển bằng cách thăm dò .
2. Vào ra điều khiển bằng Ngắt .
3. Vào ra điều khiển bằng DMA .
4. Khối điều khiển DMAC .
Chương VI: MÀN HÌNH .
I. Những khái niệm cơ bản .
1. Nguyên lý của phương pháp hiển thị hình ảnh video. .
2. Những đặc điểm chung của màn hình .
II. Màn hình màu CRT (Cathod Ray Tube) .
1. Cấu tạo .
2. Phương pháp quét dòng .
Chương VII: BÀN PHÍM .
1. Khái niệm .
2. Kĩ thuật dò phím .
Chương VIII: Ổ ĐĨA .
1. Đĩa từ (Magetic) .
2. Đĩa Quang (Optical Disk) .
Chương IX: THIẾT BỊ GHÉP NỐI VÀ TRUYỀN THÔNG .
1. Bộ chuyển đổi tín hiệu .
2. Modem (Modulation - Demodulation) .
3. Các chuẩn giao tiếp .
TÀI LIỆU THAM KHẢO .
cất giữ vào bit 6. Nhờ có bit này mà máy tính có thể báo hiệu cho thiết bị đầu cuối biết là đã được nối như một phần của hệ thống truyền thông. • Bit 7. Phải được đặt một giá trị logic 1 để truy nhập các chốt số chia (divisor latches). Các chốt này là những thanh ghi cất giữ số chia đối với tín hiệu giữ nhịp (đồng hồ), số này quy định tốc độ baud của hệ thống truyền thông nối tiếp. Mỗi lần tốc độ baud được đặt lại thì bit này (bit 7) lại được đặt về giá trị logic 0. Các bit trên thanh ghi điều khiển đường truyền (LCR). THANH GHI TỐC ĐỘ BAUD Tốc độ baud được đặt bằng cách nạp một số chia chiếm 16 bit, trong đó 8 bit thấp hơn của số chia được đặt trên địa chỉ bộ đệm TX/ RX và 8 bit phía trên đặt địa chỉ kế tiếp sau bộ đệm TX/ RX. Sự tăng gấp đôi số các thanh ghi là cần thiết vì khi bit 7 hoặc thanh ghi LCR (thường viết tắt là DLAB) được lại về giá trị logic 0 hai địa chỉ này gắn liền với bộ đệm nhận và bộ đệm truyền. Khi bit DLAB được đặt vào một giá trị logic 1 thì hai địa chỉ này gắn liền với hai chốt số chia. Các chốt số chia bao gồm 16 bit hay hai byte, được sắp xếp thành các bit có giá trị thấp LSB (Least Significant byte) và bit có giá trị cao hơn MSB (Most Significant bit), được sử dụng trong việc đặt tốc độ baud của hệ thống truyền thông. Bởi vì các chốt số chia có độ rộng là hai byte, giá trị 060 Hex cần được chia ra để cất giữ trên hai thanh ghi LSB và MSB. Với giá trị tốc độ baud bằng 1200 trong thí dụ này, 60 Hex được cất giữ trong LSB (bit có giá trị thấp) và giá trị 0 được cất trong MSB (bit có giá trị cao hơn). Tốc độ baud muốn có Số chia được dùng để tạo ra: 16 x Đồng hồ Sai số theo phần trăm (sai khác giữa mong muốn và thực tế) Thập phân Hex 50 2304 900 75 1536 600 110 1047 417 0,026 - 81 - 134,5 857 359 0,058 150 768 300 - 300 384 180 - 600 192 0C0 - 1200 96 060 - 1800 64 040 - 2000 58 03A 0,69 2400 48 030 - 3600 32 020 - 4800 24 018 - 7200 16 010 - 9600 12 00C - Bảng tốc độ baud ứng với xung nhịp 1,8432 MHz. Một số tốc độ baud và các giá trị số chia tương ứng dưới cả hai dạng thập phân và thập lục phân (Hex). Giá trị này của số chia được nạp vào bộ đệm TX/ RX khi bit DLAB được một giá trị logic 1 đặt vào. Thanh ghi trạng thái đường truyền Thanh ghi trạng thái đường truyền (LSR: Line Status Register) thanh ghi 8 bit, chứa thông tin về quá trình dữ liệu qua cổng nối tiếp cần cung cấp cho bộ vi xử lý. Thanh ghi trạng thái đường truyền. • Bit 0, được dùng để thông báo cho biết dữ liệu đã nhận được (DR: Data Received). Khi bit 0 có giá trị logic 1 có nghĩa là dữ liệu đã được nhận và sẵn sàng để bộ xử lý đọc. • Bit 1: Một giá trị logic 1 ở bit này có nghĩa là ký tự nhận trước đó đã bị mất vì nó không được đọc trước khi một ký tự mới được nhận nên ký tự mới đã ghi đè lên ký tự trước. - 82 - • Bit 2: Một giá trị logic 1 ở bit lỗi chẵn lẻ có nghĩa là ký tự đã được nhân có tính chẵn lẻ sai. Khi thanh ghi trạng thái đường truyền (LSR) được đọc thì bit này lại được đặt về giá trị logic 0. • Bit 3: Đây là bit lỗi khung truyền. Nếu ký tự đã nhận không có một bit dừng hợp lệ, nghĩa là có lỗi khung truyền, thì bit 3 trong thanh ghi LSR được đặt vào một giá trị logic 1. • Bit 4: được quy định là bit gián đoạn ngắt (break interrupt bit). Bit này được tự động đặt vào một giá trị logic 1 khi dữ liệu nhận được đã được giữ ở một mức trống trên toàn bộ chiều dài của một từ dữ liệu. • Bit 5: được quy định là bit báo hiệu trạng thái rỗng của bộ đệm truyền (THRE: Transmit Holding Register Empty). Bit này báo hiệu là cổng nối tiếp sẵn sàng tiếp nhận ký tự khác được truyền tới. • Bit 6: Bit này là một bit chỉ để đọc. Khi bit này có giá trị logic 1 thì bộ đệm truyền đang còn trống. • Bit 7: không được sử dụng và luôn được đặt giá trị logic 0. Khi viết phần mềm truy nhập thanh ghi lên thanh ghi trạng thái đường truyền ta cần lưu ý tới một số chức năng của thanh ghi này. Thanh ghi trạng thái đường truyền (LSR: Line Status Resgister) xác định trạng thái của bộ đệm truyền và bộ đệm nhận. Thanh ghi này chỉ dùng để đọc ra, nội dung tất cả các bit được tự động đặt bằng phần cứng. Một điều rủi ro có thể xảy ra khi truyền dữ liệu một ký tự mới có thể được viết vào bộ đệm truyền trước khi ký tự trước đấy đã được gửi. Khi đó ký tự mới này sẽ viết đè lên nội dung của ký tự đang được truyền. Để tránh tình trạng rủi ro này S5 được giao nhiệm vụ thông báo kết quả kiểm tra xác định liệu vẫn còn một ký tự ở trong bộ nhớ. Nếu có thì nó được đặt thành '1', còn nếu như bit này có giá trị bằng 0 thì có nghĩa là bộ đệm truyền đang trong trạng thái trống rỗng. Để truyền một ký tự: • Kiểm tra bit 6 cho đến khi được đặt;(Test Bit 6 until set;) • Truyền ký tự; (Send character;) Để nhận ký tự: • Kiểm tra bit 0 cho đến khi được đặt; (Test Bit 0 until set;) • Đọc ký tự; (Read character;) - 83 - Kiểm tra thanh ghi LSR để truyền và nhân các ký tự. Thanh ghi cho phép ngắt Vi mạch 8250 có một nhiều khả năng ngắt. Có hai thanh ghi được sử dụng để điều khiển và xác định các nguồn ngắt. Thanh ghi đầu tiên trong hai thanh ghi đó là thanh ghi cho phép ngắt IER (Interrupt Enable Register) còn thanh ghi thứ hai là thanh ghi nhận dạng ngắt IIR (Interrupt Identification Register). Nếu như khả năng ngắt của vi mạch đã cho phép và một ngắt xuất hiện thì bit xuất ra ngắt từ 8250 chiếm lấy mức logic 1. Tín hiệu này được nối với bus ngắt cứng của máy tính. Logic 1 trên bus này báo hiệu cho bộ xử lý biết là cần phải chú ý tới cổng nối tiếp. Hình 15 minh hoạ sự phân bố của các bit trên thanh ghi IER. • Bit 0: Mỗi lần nhận một ký tự thì một ngắt lại được tạo ra. Bit này được đặt lại (Reset) sau khi ký tự đã được bộ xử lý đọc. • Bit 1: Nếu bit này được đặt một giá trị logic 1 thì bộ đệm truyền (thanh ghi giữ truyền) trống và một ngắt xuất hiện. • Bit 2: cho phép có sự thay đổi trong trạng thái đường truyền bộ nhận theo cách gây ra một ngắt • Bit 3: cho phép có sự thay đổi trong trạng thái modem để ngắt bộ xử lý. - Bit 4- 7: Các bit này luôn được đặt giá trị logic 0. Thanh ghi cho phép ngắt. Thanh ghi nhận dạng ngắt - 84 - Thanh ghi nhận dạng ngắt. Nếu như một ngắt xuất hiện thì phần mềm chương trình phải thực hiện được chức năng kiểm tra thanh ghi để xác định xem sự kiện nào đang gây ra ngắt. Thanh ghi nhận dạng ngắt IIR chứa đựng mã, nhận dạng điều kiện (ngắt) nào đang yêu cầu chú ý. Một điểm cần chú ý là: giữa các ngắt cũng có mức độ ưu tiên khác nhau, nói khác đi là có một vài ngắt tỏ ra là "quan trọng" hơn so với các ngắt khác. Về nguyên tắc, ngắt nào quan trọng hơn sẽ được ưu tiên xử lý trước. Thanh ghi nhận dạng ngắt Các ngắt và đặt lại chức năng Bit 2 Bit 1 Bit 0 Mức ưu tiên Kiểu ngắt Nguồn ngắt Điều khiển đặt lại ngắt 0 0 1 - Không dừng Không dừng - 1 1 0 Cao nhất Trạng thái đường nhận Lỗi tràn hoặc lỗi chẵn lẻ hoặc lỗi khung truyền hoặc break interrupt Đọc thanh ghi trạng thái đường truyền 1 0 0 Thứ hai Có dữ liệu đã nhận Có dữ liệu đã nhận Đọc thanh ghi đệm bộ nhận 0 1 0 Thứ ba Bộ đệm truyền trống Bộ đệm truyền trống Đọc thanh ghi IR (nếu là nguồn ngắt) hoặc ghi vào bộ đệm truyền 0 0 0 Thứ tư Trạng thái modem Xoá để gửi hoặc dữ liệu sẵn sàng hoặc báo chuông hoặc phát hiện tín hiệu đường nhận Đọc thanh ghi trạng thái modem Các mức ưu tiên của từng ngắt. Bảng trên liệt kê các mức ưu tiên của từng ngắt. Cột đặt lại ngắt liệt kê tác động nào là cần đến để đặt lại ngắt đã được chốt. Mạch điều khiển truyền thông đồng bộ - dị bộ vạn năng USART (VXL 8251A) Vi mạch 8251A là một USART được dùng rộng rãi trong các máy IBM PC tại vỉ phối ghép nối tiếp có đầu nối ra cổng thông tin nối tiếp theo chuẩn RS 232C Sơ đồ: - 85 - Các thanh ghi có thể chia làm 3 loại: • Thanh ghi điều khiển (Control Register): dùng để nhận và thực hiện các lệnh từ CPU. • Thanh ghi trạng thái (Status Register): dùng để thông báo cho CPU biết về trạng thái của UART hay UART đang làm gì. • Thanh ghi đệm (Buffer Register): dùng để giữ ký tự trong lúc truyền hoặc nhận Thanh ghi từ chế độ D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 • Bit 0,1 được dùng để đồng bộ và hệ số nhân tốc độ 00 đồng bộ 01 nhân 1 10 nhân 16 11 nhân 64 • Bit 2,3: số bit mã kí tự 00 5 01 6 10 7 11 8 • Bit 4: cho phép dùng Parity hay không • Bit 5: Parity bit • Bit 6,7: số bit STOP 00 không hợp lệ 01 1 10 11/2 11 2 Thanh ghi từ lệnh Đệm dữ liệu Đệm phát //→nt Điều khiển phát Đệm thu nt→// Logic điều khiển ghi đọc Reset Clk C/D RD WR RxD RS232 Điều khiển thu TxD Điều khiển modem DSR DTR CTR - 86 - D7 D6 D5 D4 D3 D2 D1 D0 EH IR RTS ER SBRK RxE DTR TxEN • Bit 0: cho phép phát tín hiệu • Bit 1: DTE sẵn sàng • Bit 2: Cho phép thu • Bit 3: Gửi kí tự gián đoạn (kí tự với tất cả các bit la 0) • Bit 4: Xoá cờ lỗi • Bit 5: Yêu cầu truyền • Bit 6: Reset nội bộ • Bit 7: tìm kiếm kí tự đồng bộ Thanh ghi trạng thái D7 D6 D5 D4 D3 D2 D1 D0 DSR SYNDET FE OE PE TxEMPTY RxRDY TxRDY • Bit 0: bên phát sẵn sàng • Bit 1: bên thu sẵn sàng • Bit 2: đệm phát rỗng • Bit 3: lỗi Parity • Bit 4: lỗi thu đè • Bit 5: lỗi Frame • Bit 6: kí tự đồng bộ • Bit 7: modem sãn sàng - 87 - TÀI LIỆU THAM KHẢO 1. William Stalling - Computer Organization and Architecture, 1997 2. Mc. Graw - Computer Architecture, 1997 3. Văn thế Minh - Kỹ thuật vi xử lý - NXB giáo dục 1997 4. Nguyễn Kim Khánh - Giáo trình kiến trúc máy tính - ĐHBK Hà nội 5. Nguyễn Đình Việt - Giáo trình kiến trúc máy tính - ĐHQG Hà nội 6. Trần Thái Bá - Điều khiển và ghép nối thiết bị ngoại vi - NXB thống kê 2000 7. Trần Quang Vinh - Cấu trúc máy tính - NXB giáo dục 1997 8. Võ Văn Thành - Máy vi tính sự cố chẩn đoán và cách giải quyết - NXB thống kê 1996. 9. William Stalling- Computer Architecture Advanced, 1997
File đính kèm:
- KT máy tính & thiết bị ngoại vi.pdf