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

 

Giáo trình Vi xử lý (Phần 1) trang 1

Trang 1

Giáo trình Vi xử lý (Phần 1) trang 2

Trang 2

Giáo trình Vi xử lý (Phần 1) trang 3

Trang 3

Giáo trình Vi xử lý (Phần 1) trang 4

Trang 4

Giáo trình Vi xử lý (Phần 1) trang 5

Trang 5

Giáo trình Vi xử lý (Phần 1) trang 6

Trang 6

Giáo trình Vi xử lý (Phần 1) trang 7

Trang 7

Giáo trình Vi xử lý (Phần 1) trang 8

Trang 8

Giáo trình Vi xử lý (Phần 1) trang 9

Trang 9

Giáo trình Vi xử lý (Phần 1) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 171 trang baonam 18000
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Vi xử lý (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Vi xử lý (Phần 1)

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:

  • pdfgiao_trinh_vi_xu_ly_phan_1.pdf