Khi thiết bị ngoại vi bộ nhớ có tốc độ hoạt động chậm, chúng đưa tín hiệu READY=0 .Lúc này CPU tự kéo dài thời gian thực hiện lệnh ghi/đọc bằng cách chèn thêm các chu kỳ đợi... Từ các
Trang 1KỸ THUẬT VI XỬ LÝ Microprocessors
Dư Thanh Bình
Bộ môn KTMT - Khoa CNTT
Trường ĐH Bách Khoa Hà Nội
Trang 2Lưu ý của tác giả
Không được tự ý sao chép hay quảng bá bài giảng này
nếu chưa được sự đồng ý của tác giả.
Địa chỉ liên hệ của tác giả:
Dư Thanh Bình
Bộ môn Kỹ thuật Máy tính Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội Tel: 8696125 – Mobile: 0979859568 Email: du_thanh_binh@yahoo.com
binhdt@it-hut.edu.vn
Trang 3Copyright (c) 1/2007 by DTB 3
Mục đích và yêu cầu
Giúp sinh viên nắm được cấu trúc phần cứng và cách
lập trình điều khiển hoạt động của hệ vi xử lý Intel 8088.
Làm tiền đề để hiểu được hoạt động của các hệ vi xử lý
khác.
Yêu cầu sinh viên đã có các kiến thức cơ bản về Kỹ
thuật điện tử, Điện tử số và Kiến trúc máy tính.
Thời lượng: 45 tiết lý thuyết + 15 tiết thực hành.
Trang 4Tài liệu tham khảo
Văn Thế Minh, "Kỹ thuật Vi xử lý", NXB Giáo Dục, 1997.
Quách Tuấn Ngọc, Đỗ Tiến Dũng, Nguyễn Quang Khải,
"Lập trình hợp ngữ (Assembly) và máy vi tính IBM-PC"
(sách dịch), NXB Giáo Dục, 1998.
Trang 5 Chương 5: Nối ghép 8088 với bộ nhớ
Chương 6: Nối ghép 8088 với hệ thống vào-ra
Trang 6Bộ môn Kỹ thuật Máy tính, Khoa Công nghệ Thông tin
Trường Đại học Bách Khoa Hà Nội
Trang 9Copyright (c) 1/2007 by DTB 9
5.1 Các vi mạch phụ trợ cho 8088
Các tín hiệu của 8088
Trang 10Bit S6 = 0 liên tục, bit S5 phản ảnh giá trị bit IF của thanh ghi cờ Hai
bit S3 và S4 phối hợp với nhau như bảng trạng thái trên.
+RD [O]: Xung cho phép đọc Khi RD= 0 thì bus dữ liệu sẵn sàng nhận
số liệu từ bộ nhớ hoặc thiết bị ngoại vi Chân ở trạng thái trở kháng
cao khi µP chấp nhận treo
+READY [I]: Tín hiệu báo cho CPU biết tình trạng sẵn sàng của thiết bị
ngoại vi ( bộ nhớ) Khi READY=1 thì CPU thực ghi/đọc mà không cần
chèn thêm các chu kỳ đợi Khi thiết bị ngoại vi (bộ nhớ) có tốc độ hoạt
động chậm, chúng đưa tín hiệu READY=0 Lúc này CPU tự kéo dài thời
gian thực hiện lệnh ghi/đọc bằng cách chèn thêm các chu kỳ đợi.
Trang 11Copyright (c) 1/2007 by DTB 11
5.1 Các vi mạch phụ trợ cho 8088
Trang 125.1 Các vi mạch phụ trợ cho 8088
Trang 13Copyright (c) 1/2007 by DTB 13
5.1 Các vi mạch phụ trợ cho 8088
Trang 145.1 Các vi mạch phụ trợ cho 8088
1.2 Phân kênh để tách thông tin và việc đệm cho các
bus.
Trang 15Copyright (c) 1/2007 by DTB 15
Trang 165.1 Các vi mạch phụ trợ cho 8088
2 Mạch tạo xung nhịp 8284
Trang 17Copyright (c) 1/2007 by DTB 17
5.1 Các vi mạch phụ trợ cho 8088
Trang 185.1 Các vi mạch phụ trợ cho 8088
3 Mạch điều khiển bus 8288
Trang 19Copyright (c) 1/2007 by DTB 19
5.1 Các vi mạch phụ trợ cho 8088
Các tín hiệu chính của 8288 bao gồm:
+ S2, S1, S0 [I, I, I] : là các tín hiệu trạng thái lấy thẳng từ CPU
Từ các tín hiệu này, 8288 sẽ tạo ra các tín hiệu điều khiển khác nhau tại các chân ra của nó để điều khiển hoạt động của các thiết bị nối với
CPU + CLK [I]: đây là đầu vào nối với xung đồng hồ hệ thống (từ mạch 8284) và dùng để đồng bộ toàn bộ các xung điều khiển đi ra từ mạch
8288
+ AEN [I]: là tín hiệu đầu vào để sau một khoảng thời gian trễ cỡ 150
ns sẽ kích hoạt các tín hiệu điều khiển ở đầu ra của 8288.
+ CEN [I]: là tín hiệu đầu vào để cho phép đưa ra tín hiệu DEN và các
tín hiệu điều khiển khác của 8288.
+ IOB [I]: tín hiệu để điều khiển mạch 8288 làm việc ở các chế độ bus khác nhau
Khi IOB =1 mạch 8288 làm việc ở chế độ bus vào/ra, khi IOB = 0 mạch
8288 làm việc ở chế độ bus hệ thống (như trong các máy IBM PC).
cho các bộ nhớ chậm có được thêm thời gian ghi.
+ IORC [O]: tín hiệu điều khiển đọc thiết bị ngoại vi Nó kích hoạt các
thiết bị được chọn để các thiết bị này đưa dữ liệu ra bus.
Trang 20bộ nhớ chậm có được thêm thời gian ghi.
+ IORC [O]: tín hiệu điều khiển đọc thiết bị ngoại vi Nó kích hoạt các thiết
bị được chọn để các thiết bị này đưa dữ liệu ra bus
+ IOWC [O], AIOWC [O]: là các tín hiệu điều khiển đọc thiết bị ngoại vi hoặc đọc thiết bị ngoại vi kéo dài
Đó thực chất là các tín hiệu giống như IOW, nhưng AIOWC (advanced I/O write command) thì hoạt động sớm lên một chút để cho các thiết bị ngoại vi
chậm được kéo dài thêm thời gian ghi
+ INTA [O]: là đẩu ra để thông báo là CPU chấp nhận yêu cầu ngắt của thiết bị ngoại vi và lúc này các thiết bị ngoại vi sẽ phải đưa số hiệu ngắt ra bus để CPU đọc
+ DT/R [O]: là tín hiệu để điều khiển hướng đi của dữ liệu trong hệ vào hay ra so với CPU (DT/R =0: CPU đọc dữ liệu, DT/R =1 CPU ghi dữ liệu)
Trang 21Copyright (c) 1/2007 by DTB 21
5.1 Các vi mạch phụ trợ cho 8088
Trong các máy IBM PC thì tín hiệu này được nối đến các chân DIR
của mạch đệm 2 chiều 74LS245 để điều khiển dữ liệu đi từ CPU
đến bus hệ thống khi ghi hoặc ngược lại, từ bus hệ thống đến CPU khi đọc.
+ DEN [O]: đây là tín hiệu để điều khiển bus dữ liệu trở thành
bus cục bộ hay bus hệ thống
Trong các máy IBM PC thì tín hiệu này được sử dụng cùng với
tín hiệu của mạch điều khiển ngắt PIC 8259 để tạo ra tín hiệu điều khiển cực G của mạch đệm 2 chiều 74LS245.
+ MCE/PDEN [O]: đây là tín hiệu dùng định chế độ làm việc
cho mạch điều khiển ngắt PIC 8259 để nó làm việc ở chế độ chủ.
+ ALE [O]: đây là tín hiệu cho phép chốt địa chỉ có tại các
chân dồn kênh địa chỉ - dữ liệu AD0-AD7, tín hiệu này thường
được nối với chân G của mạch 74LS373 để điều khiển mạch này
chốt lấy địa chỉ
Trang 23Copyright (c) 1/2007 by DTB 23
5.1 Các vi mạch phụ trợ cho 8088
Trang 245.1 Các vi mạch phụ trợ cho 8088
Mạch tạo 0-7 trạng thái chờ (đang để là 1)
Trang 25Copyright (c) 1/2007 by DTB 25
5.1 Các vi mạch phụ trợ cho 8088
và biểu đồ thời gian
Trang 265.2 Phối ghép 8088 với bộ nhớ
5.2 Phối ghép 8088 với bộ nhớ
5.2.1 Bộ nhớ bán dẫn
+ bộ nhớ cố định ROM (read only memory, bộ nhớ có nội dung ghi
sẵn chỉ để đọc ra), thông tin ghi trong mạch không bị mất khi mất
nguồn điện nuôi cho mạch.
+ bộ nhớ bán cố định EPROM (erasable programmable ROM, là
bộ nhớ ROM có thể lập trình được bằng xung điện và xoá được
bằng tia cực tím)
+ bộ nhớ không cố định RAM (random access memory, bộ nhớ
ghi/đọc), thông tin ghi trong mạch bị mất khi mất nguồn điện nuôi
cho mạch Trong các bộ nhớ RAM ta còn phân biệt ra loại RAM tĩnh (static RAM hay SRAM, trong đó mỗi phần tử nhớ là một mạch lật 2 trạng thái ổn định) và loại RAM động (dynamic RAM hay DRAM,
trong đó mỗi phần tử nhớ là một tụ điện rất nhỏ được chế tạo bằng công nghệ MOS ).
Trang 27Copyright (c) 1/2007 by DTB 27
5.2 Phối ghép 8088 với bộ nhớ
Trang 285.2 Phối ghép 8088 với bộ nhớ
Trang 29Copyright (c) 1/2007 by DTB 29
5.2 Phối ghép 8088 với bộ nhớ
Trang 305.2 Phối ghép 8088 với bộ nhớ
Trang 31Copyright (c) 1/2007 by DTB 31
5.2 Phối ghép 8088 với bộ nhớ
Trang 325.2 Phối ghép 8088 với bộ nhớ
5.2.2 Giải mã địa chỉ cho bộ nhớ
Trang 33Copyright (c) 1/2007 by DTB 33
5.2 Phối ghép 8088 với bộ nhớ
Trang 345.2 Phối ghép 8088 với bộ nhớ
Trang 35Copyright (c) 1/2007 by DTB 35
5.2 Phối ghép 8088 với bộ nhớ
Trang 365.2 Phối ghép 8088 với bộ nhớ
Trang 37Copyright (c) 1/2007 by DTB 37
5.2 Phối ghép 8088 với bộ nhớ
Trang 385.2 Phối ghép 8088 với bộ nhớ
5.2.3 PHỐI GHÉP BỘ NHỚ VỚI 8088
Trang 39Copyright (c) 1/2007 by DTB 39
5.2 Phối ghép 8088 với bộ nhớ
Trang 405.3 Phối ghép 8088 với cổng vào ra
5.3.1 Không gian địa chỉ vào ra riêng biệt
Trang 41Copyright (c) 1/2007 by DTB 41
5.3 Phối ghép 8088 với cổng vào ra
5.3.2 Không gian vào ra chung với không gian nhớ
Trang 425.3 Phối ghép 8088 với cổng vào ra
5.3.3 Giải mã địa chỉ cho cổng ra vào
Trang 43Copyright (c) 1/2007 by DTB 43
5.3 Phối ghép 8088 với cổng vào ra
Trang 445.3 Phối ghép 8088 với cổng vào ra
5.3.4 Các cổng ra vào đơn giản
Trang 45Copyright (c) 1/2007 by DTB 45
5.3 Phối ghép 8088 với cổng vào ra
Trang 465.3 Phối ghép 8088 với cổng vào ra
5.2.5 Mạch phối ghép vào ra lập trình được 8255A
Trang 47Copyright (c) 1/2007 by DTB 47
5.3 Phối ghép 8088 với cổng vào ra
Trang 485.3 Phối ghép 8088 với cổng vào ra
Trang 49Copyright (c) 1/2007 by DTB 49
5.3 Phối ghép 8088 với cổng vào ra
Trang 505.3 Phối ghép 8088 với cổng vào ra
Trang 51Copyright (c) 1/2007 by DTB 51
5.3 Phối ghép 8088 với cổng vào ra
Trang 525.3 Phối ghép 8088 với cổng vào ra
Trang 53Copyright (c) 1/2007 by DTB 53
Trang 542 Kiến trúc phần mềm
Trang 55Copyright (c) 1/2007 by DTB 55
Trang 565.3 Phối ghép 8088 với cổng vào ra
Trang 57Copyright (c) 1/2007 by DTB 57
Trang 59Copyright (c) 1/2007 by DTB 59