Giáo trình Vi xử lý (Phần 1)
Ứng dụng
Hàng ngàn mặt hàng truyền thống liên quan đến ứng dụng của bộ vi xử lý, chúng bao gồm các
thiết bị lớn, nhỏ trong hộ gia đình, xe ô tô (và các thiết bị phụ kiện ), chìa khóa xe, công cụ và
dụng cụ kiểm tra, đồ chơi, thiết bị chuyển mạch ánh sáng, điều chỉnh độ sáng và bộ phận ngắt
mạch điện, thiết bị báo khói, các thành phần âm thanh hi-fi , hình ảnh (từ đầu máy DVD). Các
sản phẩm như điện thoại di động, hệ thống video DVD và các hệ thống phát sóng truyền hình
HDTV. Tiêu chuẩn kiểm soát ô nhiễm ngày càng nghiêm ngặt đòi hỏi các nhà sản xuất ô tô sử
dụng hệ thống quản lý động cơ vi xử lý, cho phép kiểm soát tối ưu lượng khí thải hơn trong
điều kiện hoạt động của xe ô tô rất khác nhau.
Ví dụ, một hệ thống điều khiển động cơ trong một chiếc ô tô có thể điều chỉnh thời điểm đánh
lửa dựa trên tốc độ động cơ, tải trọng trên động cơ, nhiệt độ môi trường xung quanh, cho phép
xe ô tô hoạt động trên một phạm vi của lớp nhiên liệu.
ALU (Đơn vị logic số học): thực hiện các phép toán cho máy tính bao gồm: cộng, trừ , nhân,
chia, phép toán logic,
Control (điều khiển): điều khiển, kiểm soát các đuờng dữ liệu giữa các thành phần của máy
tính.
Memory (bộ nhớ): lưu trữ chương trình hay các kết quả trung gian.
Input / Output (nhập / xuất): xuất nhập dữ liệu (còn gọi là thiết bị ngoại vi).
Một vi xử lý về cơ bản kiến trúc gồm những phần cứng sau:
Ðơn vị xử lý trung tâm CPU (Central Processing Unit).
Các bộ nhớ (Memories).
Các cổng vào/ra (song song (Parallel I/O Ports), nối tiếp (Serial I/O Ports))
Các bộ đếm/bộ định thời (Timers).
Hệ thống BUS (Ðịa chỉ, dữ liệu, điều khiển)
Ngoài ra với mỗi loại vi điều khiển có thể có thêm một số phần cứng khác như bộ biến đổi
tương tự-số ADC, bộ biến đổi số-tương tự DAC, các mạch điều chế dạng sóng WG, điều chế
độ rộng xung PWM
Bộ não của mỗi vi xử lý chính là CPU, các phần cứng khác chỉ là các cơ quan chấp hành duới
quyền của CPU. Mỗi cơ quan này đều có một cơ chế hoạt động nhất định mà CPU phải tuân
theo khi giao tiếp với chúng
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Vi xử lý (Phần 1)
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG CAO ĐẲNG GIAO THÔNG VẬN TẢI KHOA KỸ THUẬT ĐIỆN – ĐIỆN TỬ ..o0o.. GIÁO TRÌNH BIÊN SOẠN: 1. NGUYỄN ĐỨC LỢI (chủ biên ) 2. TRẦN KHÁNH NINH 3. VÕ PHÚ CƢỜNG TP.HỒ CHÍ MINH, THÁNG 9 NĂM 2013 LỜI NÓI ĐẦU Sự ra đời của công nghệ bán dẫn vào những thập niên cuối thế kỉ XX, cho đến nay đã có nhiều phát triển vƣợt bậc. Công nghệ nano đã giúp các thiết bị điện tử tích hợp với mật độ rất cao và nhiều chức năng hơn, trong khi giá thành ngày càng rẻ. Một bƣớc tiến mới trong công nghệ điện tử khi công ty Intel cho ra đời bộ vi xử lý đầu tiên mà phần cứng chỉ đóng vai trò thứ yếu, phần mềm (chƣơng trình) đóng vai trò chủ đạo đối với các chức năng cần thực hiện. Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng của mình. Vi xử lý hoạt động cần có chƣơng trình kèm theo, các chƣơng trình này điều khiển các mạch logic xử lý các dữ liệu cần thiết theo yêu cầu. Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự trên màn hình .... đòi hỏi phải kết hợp vi xử lý với các mạch điện giao tiếp với bên ngoài đƣợc gọi là các thiết bị ngoại vi hay còn gọi là các thiết bị nhập/xuất (I/O). Hiệu quả ứng dụng của Vi xử lý là rất lớn, chẳng hạn nhƣ các hệ thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.v... Tuy nhiên đối với các ứng dụng nhỏ, không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp nhƣ nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chƣơng trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại điều này gây khó khăn cho ngƣời dùng trong việc thiết kế phần cứng nên các nhà chế tạo tích hợp một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất đƣợc gọi là Microcontroller-Vi điều khiển. Vi điều khiển về cơ bản cũng giống nhƣ vi xử lý, nhƣng cấu trúc phần cứng dành cho ngƣời dùng đơn giản hơn nhiều. Vi điều khiển thƣờng đƣợc dùng để xây dựng các hệ thống nhúng, nó xuất hiện khá nhiều trong các dụng cụ điện tử thiết bị điện, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phƣơng tiện, dây chuyền tự động. Vi xử lý / vi điều khiển là môn học hữu ích cho sinh viên khối kỹ thuật nhất là sinh viên ngành điện - điện tử. Mọi sinh viên ngành điện đều cần nắm vững cơ sở lý thuyết để từ đó có thể thiết kế các mạch ứng dụng nhƣ mạch đồng hồ hẹn giờ, mạch đếm sản phẩm, mạch đèn giao thông, mạch quang báo, chống trộm, chống cháy, mạch đo nhiệt độ, robot tự động ... Trên thị trƣờng hiện nay tài liệu về vi xử lý khá nhiều, tuy nhiên lại đề cập đến nhiều mảng nội dung khác nhau, mỗi sách viết một kiểu, điều này gây không ít khó khăn cho sinh viên trong việc tìm kiếm một tài liệu phù hợp. Nhằm giúp sinh viên Khoa Điện - Điện tử của Trƣờng Cao đẳng Giao thông vận tải TP. Hồ Chí Minh có một cuốn tài liệu tham khảo học tập theo sát chƣơng trình và mục tiêu đào tạo của Trƣờng. Đƣợc sự quan tâm của Ban Giám hiệu nhà trƣờng cùng với sự định hƣớng nội dung của Thầy Ths. Nguyễn Ngọc Trung - Trƣởng Khoa Kỹ thuật Điện – Điện tử , nhóm tác giả là các Thầy, Cô khoa KT Điện - Điện tử tiến hành biên soạn cuốn ―Giáo trình Vi xử lý‖ với mong muốn cuốn giáo trình này phần nào giúp các em góp nhặt đƣợc những kiến thức bổ ích trên bƣớc đƣờng học tập và làm việc mai sau Nội dung cuốn giáo trình vi xử lý gồm 8 chƣơng đƣợc giảng dạy trong thời lƣợng 60 tiết với bố cục nhƣ sau: Chƣơng 1 : Mô tả tổng quát một hệ vi xử lý. ( 6 tiết) Chƣơng 2 : Hệ vi điều khiển 8-bit 8051. ( 6 tiết) Chƣơng 3 : Lập trình hợp ngữ trên hệ vi điều khiển 8051. ( 9 tiết) Chƣơng 4 : Bộ vi xử lý 16 bit Intel 8088/8086. ( 9 tiết) Chƣơng 5 : Hệ vi điều khiển 32-bit MC68332. ( 9 tiết) Chƣơng 6 : Lập trình hợp ngữ trên họ vi điều khiển 32-bit MC68332. ( 9 tiết) Chƣơng 7 : Các vi mạch hỗ trợ việc thiết kế hệ thống dựa trên các họ trên. ( 6 tiết) Chƣơng 8 : Thiết kế các hệ thống. ( 6 tiết) Trong quá trình thực hiện cuốn giáo trình vi xử lý nhóm tác giả có sử dụng các tài liệu chuẩn nƣớc ngoài đồng thời tham khảo vài tài liệu từ các trƣờng đại học trong khu vực và cũng nhận đƣợc khá nhiều ý kiến đóng góp từ các đồng nghiệp nhằm giúp giáo trình hoàn thiện hơn. Do Trƣờng vừa chuyển từ hình thức học phần sang học chế tín chỉ, bắt đầu thực hiện từ khóa K2013 cho đối tƣợng sinh viên hệ cao đẳng đòi hỏi tính tự học rất cao, với cách trình bày chi tiết từ cơ bản đến nâng cao một cách có hệ thống, hy vọng cuốn giáo trình vi xử lý này thực sự hữu ích cho các em. Bên cạch đó cuốn giáo trình này cũng là tài liệu chính giúp giáo viên bộ môn giảng dạy theo sát chƣơng trình khung. Tuy nhiên, đây chỉ là lần biên soạn đầu tiên, điều này chắc không tránh khỏi thiếu xót, nhóm tác giả mong đón nhận sự góp ý từ Hội đồng và các Thầy Cô cũng nhƣ ... cho vi xử lý chạy ở chế độ từng lệnh: IF←0, TF←0. - Tạo địa chỉ mới của Stack, cất địa chỉ đoạn của địa chỉ trở về vào Stack: SP←SP-2, SP←CS. - Tạo địa chỉ mới của Stack, cất địa chỉ lệch của địa chỉ trở về vào Stack: SP←SP-2, SP←IP. - Vi xử lý lấy lệnh tại địa chỉ mới, địa chỉ con trỏ ngắt đƣợc tính toán nhƣ sau: {Nx4}→IP, {Nx4+2}→CS Ví dụ: Với N = 8 thì CS←{0022H} và IP←{0020H} IRET – Interrupt Return (trở về chƣơng trình chính từ chƣơng trình con phục vụ ngắt) Dạng lệnh: IRET Trở về chƣơng trình chính từ chƣơng trình con phục vụ ngắt. Trả lại quyền điều khiển cho chƣơng trình tại vị trí xảy ra ngắt bằng cách lấy lại các giá trị thanh ghi IP, CS và các cờ từ vùng Stack. - {SP}→IP, SP←SP+2 Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 164 - {SP}→CS, SP←SP+2 - {SP}→FR, SP←SP+2 Các cờ bị thay đổi: tất cả các cờ (đƣợc phục hồi nhƣ trƣớc khi diễn ra ngắt). NOP– No Operation (CPU không làm gì) Dạng lệnh: NOP Lệnh này không thực hiện một công việc gì ngoài việc làm tăng nội dung cũ IP và tiêu tốn 3 chu kỳ đồng hồ. Nó thƣờng đƣợc dùng để tính thời gian trễ trong các vòng trễ hoặc để chiếm chỗ các lệnh cần thêm vào chƣơng trình sau này mà không làm ảnh hƣởng đến độ dài chƣơng trình. Các cờ bị thay đổi: không. RET – Return from Procedure to Calling Program (trở về chƣơng trình chính từ chƣơng trình con). Dạng lệnh: RET hoặc RET N (N là sốnguyên dƣơng) Mô tả: RET đƣợc đặt cuối chƣơng trình con để vi xử lý lấy lại địa chỉ trở về, mà nó đã đƣợc tự động cất tại ngăn xếp khi có lệnh gọi chƣơng trình con. Đặc biệt nếu dùng lệnh RET n thì sau khi đã lấy lại đƣợc địa chỉ trở về (chỉ có IP hoặc cả IP và CS) thì SP←SP+n Dùng để nhảy qua mà không lấy lại các thông số khác của chƣơng trình còn lại trong ngăn xếp. Các cờ bị thay đổi: không. STC– Set the Carry Flag (lập cờnhớ) Dạng lệnh: STC Mô tả: CF←1 STC thiết lập cờ nhớ bằng 1 và không ảnh hƣởng đến các cờ khác. Các cờ bị thay đổi: CF=1. 4.6 Khả năng ngắt. Ngắt có thể hiểu là số của các hàm. Các hàm này làm cho việc lập trình đơn giản hơn, thay vì viết mã nguồn để in ra ký tự, có thể đơn giản là gọi ngắt và nó sẽ tự làm mọi việc. Cũng có các hàm ngắt (chƣơng trình con ngắt) làm việc với ổ đĩa và các phần cứng khác. Chúng ta gọi là ngắt mềm. Ngắt cũng có thể đƣợc gọi từ các phần cứng. Ở đây chúng ta chỉ đề cập đến ngắt mềm. Để tạo ngắt mềm, có cách là chúng ta gọi lệnh INT, cấu trúc rất đơn giản: Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 165 INT Trong đó có thể là các số từ 0 đến 255 (hoặc 0..0FFh). Chúng ta thƣờng dùng số hệ 16. Chỉ có 256 hàm ngắt, điều đó là không đúng. Mỗi hàm ngắt có thể có số hiệu ngắt. Với mỗi số hiệu ngắt, ta lại có một chƣơng trình con ngắt riêng. Để chỉ ra số hiệu ngắt, thanh ghi AH phải đƣợc thiết lập trƣớc khi gọi ngắt. Mỗi ngắt có thể có tối đa 256 số hiệu ngắt (nên chúng ta có 256*256=65536).Ngoài ra, chúng ta có thể dùng các thanh ghi khác để truyền tham số cho ngắt. Ví dụ sau in một ký tự ra màn hình: mov ah, 2 mov dl, 'a' int 21h Trong đó, chúng ta dùng hàm ngắt thứ 21h (INT 21h), số hiệu ngắt là 2(ah=2), và tham số cần in đƣợc truyền vào thanh ghi dl (dl=‘a‘). 4.7 Khả năng DMA. Đa số các loại thiết bị, đặc biệt là các thiết bị dạng khối, hỗ trợ cơ chế DMA (direct memory access). Để hiểu về cơ chế này, trƣớc hết phải xem xét quá trình đọc đĩa mà không có DMA. Trƣớc tiên, bộ điều khiển đọc tuần tự các khối trên đĩa, từng bit từng bit cho tới khi toàn bộ khối đƣợc đƣa vào buffer của bộ điều khiển. Sau đó vi xử lý thực hiện checksum để đảm bảo không có lỗi xảy ra. Tiếp theo bộ điều khiển tạo ra một ngắt để báo cho CPU biết. CPU đến lấy dữ liệu trong buffer chuyển về bộ nhớ chính bằng cách tạo một vòng lặp đọc lần lƣợt từng byte. Thao tác này làm lãng phí thời gian của CPU. Do đó để tối ƣu, ngƣời ta đƣa ra cơ chế DMA. Cơ chế DMA giúp cho CPU không bị lãng phí thời gian. Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số nhƣ địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lƣợng byte dữ liệu để chuyển. Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum. Bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ đƣợc mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 166 lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Nhƣ vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ. Chế độ DMA: thƣờng thì hoạt động chuyển thông tin giữa thiết bị I/O với bộ nhớ máy tính đƣợc thực hiện thông qua CPU theo cơ chế tuần tự: CPU ra lệnh ―import‖ để nhập 1 đơn vị thông tin (byte/word) từ thiết bị I/O vào thanh ghi CPU rồi ra lệnh ghi thông tin từ thanh ghi CPU vào ô nhớ RAM nào đó. Qui trình này rất chậm vì CPU phải tốn nhiều chu kỳ máy để thực hiện các lệnh di chuyển thông tin, hơn nữa thông tin còn phải đi vòng qua CPU trƣớc khi đến đƣợc vị trí cuối cùng. Để tăng tốc độ chuyển dữ liệu giữa I/O và RAM, ngƣời ta đã thiết kế mạch cứng DMA (Direct Memory Access) cho phép chuyển dữ liệu trực tiếp giữa I/O và RAM mà không cần đi ngang qua CPU nữa. Nhƣ vậy, nếu driver thiết bị I/O hỗ trợ tốt chế độ hoạt động DMA thì bạn nên cho phép chế độ này hoạt động 4.8 Xử lý tranh chấp bus. 4.8.1 Chức năng và thông số của BUS Một trong những hoạt động và chức năng cơ bản của máy tính là truyền số liệu (data transfer). Sự hoạt động của máy tính do các bộ vi xử lý điều khiển. Bộ vi xử lý và các chip hỗ trợ khác đến lƣợt mình cũng thƣờng xuyên phải truyền số liệu giữa các khối, bộ phận trong và ngoài chúng với nhau. Vì có rất nhiều các bộ phận , khối riêng rẽ trong bản thân các Chip và các đƣờng truyền số liệu rất đa dạng, nên một cách hợp lý ta không thể thực hiện các đƣờng nối giữa các bộ phận , khối từng đôi một với nhau mà ta nối chung tất cả các lối vào/ lối ra của các khối riêng rẽ với nhau lên một hệ thống các đƣờng dẫn chung; hệ thống này đƣợc gọi là bus. Các bộ phận, khối đƣợc nối lên bus phải thoả mãn một yêu cầu là có khả năng đƣợc cắt ra hoặc nối trở lại theo lệnh của điều khiển. Lúc một output đƣợc cắt ra khỏi bus, nó ở trạng thái trở kháng cao (High impedance, Hi-Z). Quy tắc nghiêm ngặt của truyền số liệu là trong mỗi thời điểm, tối đa chỉ có một output đƣợc cấp số liệu lên bus. Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 167 Do trong mỗi thời điểm một output thƣờng cần phải đồng thời cấp số liệu cho nhiều input, cho nên nó cần phải có khả năng phát ra (source) ở mức logic cao hoặc nuốt vào (sink) ở mức logic thấp, một dòng điện lớn tới vài chục mA cấp cho các input đó, đóng vai trò tải của output. Thông số đặc trƣng cho đƣờng bus là trở kháng vào của nó (gồm có điện trở thuần và dung kháng). Thƣờng điện trở thuần khoảng vài K là thoả mãn yêu cầu của output, chỉ có dung kháng của bus gây khó khăn cho các thiết bị output, (vì nó cản trở tăng tốc độ biến thiên của các mức điện áp trên bus), do đó dung kháng đƣợc xem là thông số đặc trƣng của bus. Xét trƣờng hợp một bus có điện dung vào 100 pF. Nếu muốn tốc độ biến thiên điện áp trên bus là du/dt =2V/10ns thì thiết bị output phải nuốt đƣợc dòng điện điện dung là i = dq/dt = C(du/dt) = 20 mA. Căn cứ theo cấu hình của các thiết bị nối vào bus, ngƣời ta phân chúng thành 3 nhóm nhƣ sau: - Output cấp số liệu cho bus. - Input nhận số liệu từ bus. - In/ Out khi là input, khi là output. Trong các bộ vi xử lý có một hệ thống các bus dùng để truyền số liệu, lệnh, các tín hiệu điều khiển ,... , giữa các khối bên trong của nó. Ngoài ra có một hệ thống các bus đƣa ra ngoài qua các chân của nó. Các đƣờng bus trong đƣợc điều khiển bởi khối điều khiển tuỳ thuộc hoặc vào nội dung lệnh đuợc giải mã hoặc theo các điều khiển ngắt của bên ngoài đƣa vào vi xử lý. Các đƣờng bus này hoạt động theo nhịp của một clock bên trong vi xử lý. Các bus trong vi xử lý truyền số liệu giữa các khối với nhau, có hai loại đƣờng truyền, một chiều và hai chiều. Hệ các đƣờng bus nối với các bộ phận, khối bên ngoài vi xử lý gồm 20 đƣờng địa chỉ (AD0 - AD 19), 8 đƣờng số liệu, và các đƣờng thuộc bus điều khiển. Chính khối điều khiển phát các tín hiệu điều khiển các bus. Bus bộ vi xử lý là đƣờng truyền dẫn giữa CPU và các chip hỗ trợ trung gian. Những chip hỗ trợ này đƣợc gọi là bộ chip (chip set). Bus này dùng để truyền dữ liệu giữa CPU và bus hệ thống chính hoặc giữa CPU và cache ngoài. Vì mục đích của bus bộ xử lý để gửi hoặc nhận thông tin từ CPU với tốc độ nhanh nhất có thể, nên bus này hoạt động nhanh hơn nhiều so với bất kỳ bus nào khác trong hệ thống và đảm bảo tránh hiện tƣợng tắc nghẽn ở đây. Bus bộ xử lý bao gồm bus dữ liệu, bus địa chỉ và bus điều khiển. Ngƣời ta thƣờng phân loại bus theo ba cách sau: Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 168 1. Theo tổ chức phần cứng (nhƣ các loại bus nêu trên) 2. Theo nghi thức truyền thông (bus đồng bộ và không đồng bộ). 3. Theo loại tín hiệu truyền trên bus (bus địa chỉ, bus dữ liệu ... 4.8.2 Trọng tài bus (bus arbitration) Trong hệ thống máy tính không phải chỉ có CPU làm bus master, thực tế các chip I/O cũng có lúc phải làm chủ bus để có thể đọc hoặc ghi vào bộ nhớ và để gọi ngắt; các bộ đồng xử lý cũng có thể làm chủ bus. Nhƣ vậy cần phải giải quyết vấn đề tranh chấp khi có từ hai thiết bị trở lên đồng thời muốn làm chủ bus. Để giải quyết vấn đề này cần có một cơ chế trọng tài để tránh sự xung đột. Cơ chế trọng tài có thể là tập trung hoặc không tập trung Trọng tài bus tập trung Theo cơ chế này, trọng tài chỉ có thể biết là có yêu cầu chiếm dụng bus hay không, chứ không biết có bao nhiêu đơn vị muốn chiếm bus. Khi trọng tài bus nhận đƣợc một yêu cầu, nó sẽ phát ra một tín hiệu cho phép trên đƣờng dây bus grant (cho dùng bus). Đƣờng dây này nối qua tất cả các thiết bị vào/ ra theo kiểu nối tiếp. Khi thiết bị nằm gần trọng tài nhất nhận đƣợc tín hiệu cho phép, nó sẽ kiểm tra xem có phải chính nó đã phát yêu cầu chiếm bus không? Nếu đúng thì nó sẽ chiếm lấy bus và không truyền tiếp tín hiệu cho phép trên đƣờng dây. Nếu nó kiểm tra thấy không phải là yêu cầu của mình thì tiếp tục truyền tín hiệu cho phép tới thiết bị kế tiếp trên đƣờng dây. Hình 4-5 Trọng tài Bus tập trung có 1 mức mắc nối tiếp Một số loại bus có nhiều mức độ ƣu tiên, với mỗi mức ƣu tiên có một đƣờng dây yêu cầu bus và một đƣờng dây cho chiếm bus. Mỗi thiết bị trong hệ thống máy tính nối với một trong các Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 169 mức yêu cầu bus, các thiết bị thƣờng đƣợc sử dụng hơn đƣợc gắn với đƣờng dây có mức ƣu tiên cao hơn. Nếu có một số thiết bị ở các mức ƣu tiên khác nhau cùng yêu cầu, trọng tài bus sẽ chỉ phát tín hiệu cho phép đối với yêu cầu có mức ƣu tiên cao nhất. Trong số các thiết bị có cùng mức ƣu tiên, thiết bị gần trọng tài bus hơn sẽ có quyền ƣu tiên cao hơn. Trọng tài bus không tập trung Trong cơ chế trọng tài bus không tập trung, không cần sử dụng một đơn vị riêng làm trọng tài bus, nhờ vậy giảm đƣợc giá thành phần cứng. Trong một số loại máy tính khác nhau, ngƣời ta đã sử dụng một vài kiểu trọng tài bus theo cơ chế này. Hình 4-6 Trọng tài bus không tập trung trong Multibus Ngƣời ta chỉ sử dụng 3 đƣờng dây, không phụ thuộc vào số lƣợng thiết bị nối với bus. Gồm: + Yêu cầu chiếm dụng bus (bus request) + Trạng thái bus (bus busy), đƣợc bus master đặt ở mức tích cực + Trọng tài bus, đƣợc mắc nối tiếp qua các thiết bị Khi không có thiết bị nào yêu cầu chiếm bus, đƣờng dây trọng tài bus truyền mức tích cực tới tất cả các thiết bị. Khi một đơn vị nào đó muốn chiếm dụng bus, đầu tiên nó kiểm tra bus có rỗi không và kiểm tra đầu vào của đƣờng trọng tài bus, nếu thấy có điện áp IN = 5V thì nó có thể xin bus bằng cách đƣa tín hiệu yêu cầu bus (Request) và xoá tín hiệu OUT, tức là đặt OUT = 0V. Do các thiết bị ƣu tiên thấp hơn sẽ không xin đƣợc bus, lúc này nó trở thành bus master. Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 170 4.9 Hoạt động ở chế độ min. Bộ vi xử lý 8088 có hai chế độ hoạt động là chế độ MIN và chế độ MAX nên một số chân sẽ có các chức năng khác nhau đối với từng chế độ hoạt động khác nhau của bộ vi xử lý MN / MX : minimum/maximum mode - Tín hiệu vào điều khiển chế độ, tín hiệu này đƣợc xác lập cố định MN/MX nối với +5V - chế độ min, nối với đất -chế độ max Các chân ở chế độ MIN -M/IO : Chỉ ra rằng CPU đang thâm nhập bộ nhớ hay cổng I/O -WR : Tín hiệu ra 3 trạng thái báo ghi dữ liệu bộ nhớ ,I/O - INTA (Interupt acknowledge ) : Tín hiệu ra chấp nhận ngắt . - ALE (Address latch enable):Tín hiệu thông báo rằng bus địa chỉ dữ liệu có chứa địa chỉ. - DT/R ( Data trasmit / Receiver ) : Tín hiệu ra 3 trạng thái chỉ chiều chuyển động của dữ liệu , DT/ R = 0 dữ liệu đi ra từ CPU , DT/ R = 1 dữ liệu đi vào CPU . - DEN (Data enable ) : Tín hiệu ra ba trạng thái để mở các bộ đệm dữ liệu, khi DEN =0 - có dữ liệu . - HOLD : Tín hiệu vào yêu cầu treo (thả nổi ) CPU . - HLDA (Hold acknowledge ) : báo ra bộ vi xử lý chấp nhận thả nổi . - SS0 : Tín hiệu trạng thái Trong chế độ này bộ vi xử lý 8088 trực tiếp gửi tín hiệu điều khiển cho hệ thống . Ðây là chế độ hoạt động đơn giản nhất của 8088 ,tín hiệu điều khiển đƣợc thực hiện ngay trong bộ vi xử lý. Cấu hình này cho phép các thiết bị ngoại vi của 8085A hoạt động một cách tƣơng thích với 8088 mà không cần các mạch phụ bên ngoài 4.10 Hoạt động ở chế độ max. Các chân ở chế độ MAX - S2 ,S1 ,S0 : Cho biết trạng thái của chu kỳ bus - RQ/ GT0 ,RQ/ GT1 (Request /Grant ) :Tín hiệu hai chiều RQ -yêu cầu treo bus ,GT - tín hiệu báo ra rằng CPU chấp nhận treo . - LOCK : Tín hiệu ra cấm các mạch điều khiển khác sử dụng bus . - QS1 ,QS0 (Queu status): Cho biết trạng thái của hàng đợi lệnh Chƣơng 4: Bộ vi xử lý 16 bit Intel 8088/8086 Khoa Kỹ thuật Điện – Điện tử Chủ biên: Nguyễn Đức Lợi Trang 171 Khác biệt so với chế độ Min, trong chế độ Max 8088 này cần các mạch phụ bên ngoài để chuyển đổi tín hiệu điều khiển. Các mạch phụ này chuyển đổi tín hiệu các bit trạng thái S0, S1, S2 thành tín hiệu trao đổi I/O và bộ nhớ để điều khiển sự truyền dữ liệu. Trong chế độ này 8088 cần có thêm bộ điều khiển bus 8288 bởi vì không có đủ các chân tín hiệu đầu ra do các chức năng mới đã thay thế các chức năng của một số chân. Chế độ MAX đƣợc sử dụng khi trong hệ thống có chứa một bộ đồng xử lý nhƣ bộ đồng xử lý toán học 8087
File đính kèm:
- giao_trinh_vi_xu_ly_phan_1.pdf