1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tiểu luận kiến trúc máy tính và hệ điều hành đề tài nghiên cứu tìm hiểu về vi mạch điều khiển ưu tiên ngắt pic 8259a( priority interrupt controller

27 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu tìm hiểu về vi mạch điều khiển ưu tiên ngắt PIC 8259A (Priority Interrupt Controller)
Tác giả Nguyễn Phương Tuấn Anh, Trần Thị Kim Anh, Nguyễn Thành Đạt, Phạm Đức Duy
Người hướng dẫn Th.S Nguyễn Bá Nghiễn
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Kiến trúc máy tính và hệ điều hành
Thể loại Bài tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 615,1 KB

Nội dung

Khái niệm về mạch PIC 8259AMỗi khi một thiết bị phần cứng hay một chương trình cần đến sự giúp đỡ của CPU nógửi đi một tín hiệu hoặc lệnh gọi là ngắt đến bộ vi xử lí chỉ định công việc c

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐAI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

- -BÀI TIỂU LUẬN KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH

Đề tài: Nghiên cứu tìm hiểu về vi mạch điều khiển ưu tiên ngắt PIC 8259A

( Priority Interrupt Controller)

Giáo viên hướng dẫn : Th.S Nguyễn Bá Nghiễn

Sinh viên thực hiện : Nguyễn Phương Tuấn Anh

Trang 2

LỜI MỞ ĐẦU

V i m c đích tìm hi u v vi m ch đi u khi n u tiên ng t PIC 8259A (Priority ớ ụ ể ề ạ ề ể ư ắ

interrupt controller) Nhóm sinh viên chúng em đã tìm hi u v khái ni m và phân lo i m ch ể ề ệ ạ ạ

ng t, s đ chân và các ch c năng tín hi u, ch c năng c a các thanh ghi, nguyên t c ghép ắ ơ ồ ứ ệ ứ ủ ắ

n i và s đ ph i ghép c a vi m ch và h th ng ng t c ng PIC 8259Aố ơ ồ ố ủ ạ ệ ố ắ ứ , s đ ghép n i và l pơ ồ ố ậtrình vi m ch 8259A.ạ

Để hoàn thành được bài nghiên cứu này, chúng em xin chân thành cảm ơn thầy giáo

Nguyễn Bá Nghiễn người đã tận tình giúp đỡ, hỗ trợ và tạo điều kiện cho chúng em trong quá trình học tập, và là người trực tiếp giảng dạy bằng tất cả lòng nhiệt tình và sự quan tâm sâu sắc

M c dù đã c g ng h t s c nh ng bài ti u lu n c a chúng em không th tránh kh iặ ố ắ ế ứ ư ể ậ ủ ể ỏ

nh ng sai sót, r t mong s đóng góp ý ki n c a các b n và th y cô Nhóm tác gi xinữ ấ ự ế ủ ạ ầ ả chân thành c m n m i ngả ơ ọ ười đã đ c cu n bài ti u lu n này, cũng nh đóng góp ý ki n ọ ố ể ậ ư ế để bài

ti uể lu nậ c aủ chúng em được hoàn thi nệ h n.ơ

Chúng em xin chân thành cảm ơn

Downloaded by MON HOANG (monmon3@gmail.com)

Trang 3

Nhóm 16

KẾ HOẠCH THỰC HIỆN BÀI TẬP LỚN

Tên l p:ớ 20231IT6067003 - Khóa: K17

Tên nhóm: Nhóm 16

Họ tên thành viên c aủ nhóm: Nguy nễ Phương Tu n Anh ấ

Tr n Th Kim Anh ầ ị Nguy n Thành Đ t ễ ạ

Ph m Đ c Duy ạ ứ

Tên chủ đ :ề Nghiên c u ứ tìm hiểu về vi mạch điều khiển ưu tiên ngắt PIC

8259A ( Priority Interrupt Controller)

vi cệ

Phương pháp

thi t l p n i quy ế ậ ộcho c nhóm, phânảchia công vi c.ệ

H p qua meet.ọ

2 Tr n Th Kim Anhầ ị Tìm hiểu khái niệm

về mạch PIC 8259A

H p qua meet.ọ

3 Nguy n Thành Đ tễ ạ Tìm hiểu về sơ đồ

chân và chức nắng các chân tín hiệu

H p qua meet.ọ

khối, chức năng cáckhối và các thanh ghi

H p qua meet.ọ

5

Nguy nễ Phương Tu n Anhấ Tìm Hiểu Sơ đồ

ghép nối, cơ chế hoạt động của vi

H p qua meetọ

Trang 4

trình cho vi mạch 8259A

8 Tr n Th Kim Anhầ ị Ki m tra và hoàn ể

thi n báo cáoệ

Trang 5

MỤC LỤC

I – Khái niệm và phân loại mạch ngắt 6

1 Khái niệm về mạch PIC 8259A… 6

2 Phân loại mach ngắt…7 1.1 Ngắt cứng 6

1.2 Ngắt mềm 7

1.3 Các ngắt địa chỉ 7

II- Sơ đồ chân và chức nắng các chân tín hiệu…7 1 Sơ đồ chân 7

2 Chức năng các chân tín hiệu 8

III- Sơ đồ khối, chức năng các khối và các thanh ghi…9 1 Sơ đồ khối 9

2 Chức năng các khối 10

2.1 Khối xử lý mức ưu tiên của ngắt 10

2.2 Khối đệm bus dữ liệu ( Data bus Buffer) 10

2.3 Khối logic điều khiển đọc/ghi (Read/Write control Logic) 10

2.4 Khối so sánh và xử lý song song (Cascade Buffer/Comparator)

………10

3 Chức năng các thanh ghi 11

IV- S ơ đồ ghép nối, cơ chế hoạt động của vi mạch hệ thống ngắt cứng PIC8259A 11 1 Sơ đồ ghép nối 11

2 Nguyên tắc ghép nối 12

3 Cơ chế hoạt động ……… 13

3.1 Hoạt động cơ bản của vi mạch 8259A 13

3.2 Các chế độ hoạt động khác 14

3.2.1 Chế độ hoạt động đầy đủ(Fully Nested Mode) 15

3.2.2 Chế độ hoán đổi thứ tự(Rotating Priority Mode) 15

3.2.3 Chế độ che đặc biệt(Special Mask Mode – SMM) 16

Trang 6

3.2.4 Chế độ xoay vòng(Polled Mode) 16

V- Lập trình cho vi mạch 8259A…17 1 Các từ điều khiển khởi tạo ICW 18

2 Các từ điều khiển hoạt động OCW 21

Phần kết luận 23

Tài liệu tham khảo 24

Downloaded by MON HOANG (monmon3@gmail.com)

Trang 7

Khái niệm và phân loại mạch ngắt.

1 Khái niệm về mạch PIC 8259A

Mỗi khi một thiết bị phần cứng hay một chương trình cần đến sự giúp đỡ của CPU nó

gửi đi một tín hiệu hoặc lệnh gọi là ngắt đến bộ vi xử lí chỉ định công việc cụ thể nào

đó mà nó cần CPU thực hiện Khi bộ vi xử lí nhận được tín hiệu ngắt nó thường tạm

ngưng tất cả các hoạt động khác và kích hoạt một chương trình con đang có trong bộ

nhớ gọi là chương trình xử lí ngắt tương úng với từng số liệu ngắt cụ thể Sau khi

chương trình xử lí ngắt làm xong nhiệm vụ, các hoạt động của máy tính sẽ tiếp tục lại

từ nơi đã bị tạm dừng lúc xảy ra ngắt

2.Phân loại mạch ngắt

Có 3 loại ngắt chính

- Các ngắt được tạo ra bởi mạch điện của máy tính nhằm đáp lại một sự kiện

nào đó như nhấn phím trên bàn phím các ngắt này được bộ điều khiển ngắt

8259A quản lí, 8259A sẽ ấn định mức độ ưu tiên cho từng ngắt rồi gửi đến

CPU

- Các ngắt do CPU tạo ra khi gặp phải một kết quả bất thường sau khi thực

hiện chương trình như chia cho 0

- Các ngắt do chính chương trình tạo ra nhằm gọi các chương trình con ở xa

đang nằm trong ROM hoặc RAM, các ngắt này gọi là ngắt mềm chúng

thường là bộ phận của các chương trình con phục vụ của ROM –BIOS hoặc

của DOS

- Ngoài 3 loại ngắt trên còn có loại ngắt đặc biệt là ngắt không bị che NMI

đòi hỏi CPU phục vụ ngay khi có yêu cầu Loại ngắt này thường được dùng

để báo hiệu sự cố như: sụt điện áp hay lỗi bộ nhớ Như vậy, NMI là mức

ngắt có độ ưu tiên cao nhất

2.1 Ngắt cứng.

- Ngắt cứng là sự kiện CPU phải tạm dừng chương trình đang thực hiện để

chuyển sang thực hiện tiến trình phục vụ ngắt khi có yêu cầu ngắt từ phần

mạch bên ngoài gửi tới CPU và CPU chấp nhận ngắt được mô tả như sau:

Trang 8

2.2 Các ngắt mềm.

- Những ngắt này là một phần của các chương trình ROM -BIOS ,các số hiệu

dành cho các ngắt của ROM- BIOS là 5 ,từ 10h đến 1C hex và 48h -Ngoài ra còn

có các ngắt DOS và ngắt BASIC phục vụ hệ điều hành DOS và chương trình

BASIC

2.3 Các ngắt địa chỉ.

- Ba trong số các ngắt này trỏ đến ba bảng rất quan trọngđó là bảng khởi tạo

màn hình ,bảng cơ sở đĩa và bảng các ký tự đồ thị Các bảng này chứa các tham số

được ROM BIOS dùng khi khởi động hệ thống và tạo các ký tự đồ thị Các số

hiệu dành cho các ngắt này là từ 1Dhex đến 1Fhex

Trang 9

Giải thích các chân tín hiệu: PIC 8259A gồm có 27 chân (như hình vẽ).

2 Chức năng các chân tín hiệu.

-D0 - D7 : Ðầu ghép nối dữ liệu hai chiều được nối với nửa cao hay thấp cuả bus dữ

liệu của 8088

- IR0 – IR7 : đầu vào yêu cầu ngắt nối với slave trong hệ thống có nhiều 8259A

- WR : nối với phần thấp hoặc phần cao của tín hiệu ghi

- RD :Ðầu vào nối với tín hiệu IORC

- INT -interrupt : nối với INTR của 8088 ở chế độ master và nối với các chân IR

trong chế độ slave

- INTA : đầu vào nối với tín hiệu INTA của hệ thống ,trong hệ thống có một

master và nhiều slave chỉ có INTA của master được nối

- A0 : đầu vào chọn các từ lệnh khác nhau trong 8259A

Trang 10

- CS : Tín hiệu chọn mạch

- SP /EN Slave Program / Enable Buffer : Chân hai chức năng ,khi 8259A ở chế độ

đệm đây là đầu ra điều khiển quá trình trao đổi của bus dữ liệu Khi 8259A không

ở chế độ đệm chân này được lập trình thiết bị như là master hoặc slave

- CAS2 – CAS0 -Cascad line : đầu ra từ master tới slave khi sử dụng nhiều 8259A

Trang 11

2 Chức năng các khối.

2.1 Khối xử lý mức ưu tiên của ngắt.

Ðây là khối logic có chức năng quyết định mức độ ưu tiên của các bit trong

thanh ghi IRR Bit có độ ưu tiên cao nhất sẽ được chọn và được gửi đến bit tương

ứng trong thanh ghi ISR trong khoảng thời gian có xung INTA

-INT ( Interrupt) Tín hiệu ra này được đưa trực tiếp vào đầu vào INT của 8088

Mức cao của tín hiệu này luôn tương thích với mức tín hiệu vào của 8088

-INTA (Interrupt Acknowledge) Tín hiệuvào này được tạo ra bởi 8228

(System controler and Bus controler ) trong hệ thống 8228 sẽ gửi ba xung tín

hiệu riêng biệt INTA tới 8259A ,tín hiệu này sẽ điều khiển 825A gửi 3 byte lệnh

CALL lên bus dữ liệu

2.2 Khối đệm bus dữ liệu (Data bus Buffer)

Ðây là bộ đệm 8 bit ,3 trạng thái ,hai chiều được sử dụng để ghép nối 8259A

với bus dữ liệu của 8088 Các từ điều khiển , thông tin trạng thái được trao đổi

thông qua bộ đệm này

2.3 Khối logic điều khiển đọc/ghi (Read /Write control Logic )

Chức năng của khối này là nhận lệnh điều khiển từ 8088 Khối này bao gồm

thanh ghi từ lệnh khởi tạo ( ICWR- Initionlize Command Word) và thanh ghi lệnh

hoạt động (OCWR - Operation Command Word Register ) Các thanh ghi này

chứa các từ lệnh điều khiển hoạt động của 8259A

- RD (Read) Mức thấp của tín hiệu vào này cho phép 8259A gửi đi từ trạng

thái của thanh ghi IRR , thanh ghi ISR , thanh ghi IMR hoặc mức ngắt lên bus dữ

liệu

- WR ( Write) Mức thấp của tín hiệu vào này cho phép CPU ghi các từ lệnh

điều khiển (ICW ,OCW ) vào 8259A

- A0 Tín hiệu vào này được sử dụng kết hợp với WR ,và RD để ghi từ lệnh vào

các thanh ghi khác nhau ngay khi vừa đọc các thanh ghi trạng thái của vi mạch

- SP : (Slave program ): Khi có nhiều vi mạch 8259A cùng được sử dụng trong

hệ thống để tăng thêm mức ngắt ( ví dụ 64 mức ) Trong trường hợp này một vi

mạch 8259A đóng vai trò master còn các vi mạch khác đóng vai trò slave Mức

của đầu vào tín hiệu này xác định vi mạch nào là master ,còn mức thấp xác định

các vi mạch đóng vai trò slave

2.4 Khối so sánh và xử lý song song ( Cascade Buffer /Comparator ):

Khối này có chức năng lưu trữ và so sánh vai trò của tất cả các vi mạch 8259A

sử dụng trong hệ thống

Trang 12

Các chân tín hiệu CAS0 –CAS2 là các đầu ra khi vi mạch 8259A đóng vai trò

master ( SP =1 ) và là các đầu vào khi các vi mạch này được sử dụng làm slave (

SP= 0 ) Khi hoạt động với vai trò master ,8259A gửi tín hiệu ngắt của thiết bị ra

các đường CAS0 – CAS2 Các vi mạch slave tương ứng được chọn sẽ gửi địa chỉ

của chương trình ngắt của chúng lên bus dữ liệu

3 Chức năng các thanh ghi.

Thanh ghi yêu cầu ngắt và thanh ghi phục vụ ngắt : Các tín hiệu yêu cầu ngắt được

điều khiển bởi hai thanh ghi đồng thời , đó là thanh ghi yêu cầu ngắt ( Interrupt

Request Register - IRR ) và thanh ghi phục vụ ngắt ( Interrupt Service Register-

ISR) Thanh ghi IRR được sử dụng để lưu các mức ngắt đang cần được sử lý và

thanh ghi ISR được sử dụng để lưu các mức ngắt đang được phục vụ Khi có bất

cứ sườn dương của xung tín hiệu được đưa vào các đầu vào yêu cầu ngắt IR ,các bit

của thanh ghi IRR được xác lập và tín hiệu INT được đặt ở mức cao Tuy vậy tín

hiệu vào yêu cầu ngắt -IR phải luôn được giữ ở mức cao cho đến khi có xung INTA

đầu tiên xuất hiện Thanh ghi IRR được khởi tạo bằng tín hiệu INTA Các bit của

thanh ghi được xác lập bằng xung tín hiệu INTA ( cũng trong thời điểm này bít

tương ứng của thanh ghi IRR được khởi tạo lại ) Bit này giữ nguyên trạng thái

trong suốt thời gian hoạt động của chương trình ngắt cho đến khi 8259A nhận

được lệnh EOI ( End Of Interrupt )

Trang 13

2 Nguyên tắc ghép nối.

Khi ghép vào CPU thì PIC 8259A được ghép như sau:

Trong máy tính thế hệ cũ chỉ sử dụng một IC 8259A thì thứ tự ưu tiên là

0,1,2,3,4,5,6,7.trong các máy tính hiện đại sử dụng hai IC 8259A thì thứ tự ưu tiên là

0,1,(8,9,10,11,12,13,14,15),3,4,5,6,7.Các IRQs từ 8 đến 15 thay thế IRQ2 Các IRQs

cách sử dụng được thể hiện trong bảng sau:

Mặc định sử dụngđiển hình

Sử dụng thông thườngkhác

port)

COM4(cổng nối tiếp thứ4),modem,card âm thanh,mạng lưới thẻ,accelerator thẻ

port) COM3(cổng nối tiếp thứ3),modem,card âm

thanh,mạng lưới thẻ,accelerator thẻ

controller LPT2( 2 cổng song song),LPT3( cổng song

song thứ 3),COM3(cổngnối tiếp thứ 3),

COM4(cổng nối tiếp thứ

Trang 14

4) ,modem,card mạng, bộđiều khiển đĩa cứng

port) LPT2( 2 cổng song song),LPT3( cổng song

song thứ 3),COM3(cổngnối tiếp thứ 3),

COM4(cổng nối tiếp thứ4) ,modem,card âm thanh,mạng lưới thẻ,accelerator thẻ

thanh, SCSI bộ thích ứngchủ, PCI thiết bị ấn địnhtuyến đường lai IRQ2 thiếtbị

thanh, SCSI bộ thích ứngchủ,trung kênh IDE,thiết

bị PCI

thanh, máy chủ SCSI,Card màn hình, quatemanykênh IDE, thiết bị PCI

thanh, máy chủ SCSI, Card màn hình, quatemanykênh IDE, thiết bị PCI

FPU/NPU/math Coprocessor)

None

channel

Card mạng, SCS

3 Cơ chế hoạt động.

3.1 Hoạt động cơ bản của vi mạch 8259A.

Quá trình hoạt động cơ bản của vi mạch diễn ra như sau :

+ Ðầu tiên tín hiệu vào một trong các chân yêu cầu ngắt (IR7 - IR0 ) được chuyển

về mức cao thông báo với 8259 là có yêu cầu phục vụ từ thiết bị ngoại vi

+ 8259 chấp nhận yêu cầu ngắt này , xử lý mức ưu tiên và sau đó gửi tín hiệu INT

tới bộ vi xử lý trung tâm CPU - 8088

+ CPU 8088 ghi nhận yêu cầu ngắt này và trả lời bằng cách phát đi một xung

INTA

Downloaded by MON HOANG (monmon3@gmail.com)

Trang 16

+ Nhận được tín hiệu INTA từ CPU ,8259 gửi ra bus dữ liệu một lệnh CALL (

mã 11001101 ) dưới dạng mã nhị phân 8 bit qua các đường dây dữ liệu của nó (

D0-D7)

+ Lệnh CALL này sẽ yêu cầu CPU gửi thêm hai xung INTA tới 8259

+ Hai xung INTA này cho phép 8259 đưa địa chỉ chương trình ngắt của nó lên

bus dữ liệu 8 bit thấp của địa chỉ đó được gửi khi có xung INTA thứ nhất ,và 8 bit

cao còn lại được gửi khi có xung INTA thứ hai Kết thúc việc truyền các byte của

lệnh CALL lên bus dữ liệu

+ Thanh ghi phục vụ ngắt (ISR) sẽ được giữ nguyên trạng thái và không được

khởi tạo lại cho đến khi kết thúc chương trình ngắt ,khi có một lệnh EOI (End Of

Interrupt ) được gửi tới 8259

Bảng minh họa các hoạt động cơ bản của 8259

Level data bus(1)

Output Operation( Write)

ICW3Disable Function

(1) : Việc chọn lựa thanh ghi IRR ,ISR hoặc mức ưu tiên của ngắt dựa vào nội

dung của từ lệnh OCW3 được ghi trước quá trình đọc trong khoảng thời gian hai

xung INTA tiếp theo

3.2 Các chế độ hoạt động khác.

Downloaded by MON HOANG (monmon3@gmail.com)

Trang 17

3.2.1 Chế độ hoạt động đầy đủ ( Fully Nested Mode )

8259 hoạt động trong chế độ này ngay sau khi thực hiện quá trình khởi tạo mà

không cần đến các từ điều khiển hoạt động OCW Trong chế độ này ,các yêu cầu ngắt

được sắp xếp theo các mức ưu tiên từ 0 đến 7 Khi một yêu cầu ngắt được chấp nhận

,yêu cầu ngắt có mức ưu tiên cao nhất được thực hiện và vector địa chỉ của nó được

truyền lên bus dữ liệu Ngoài ra ,một bit của thanh ghi phục vụ ngắt được đặt bằng 1

Bit này giữ nguyên giá trị cho đến khi 8088 phát lệnh EOI ngay trước khi trở về từ

chu trình phục vụ Trong khi bit của thanh ghi ISR bằng 1 ,tất cả các ngắt có mức ưu

tiên thấp hơn ,những ngắt này chỉ được chấp nhận nếu được 8088 chấp nhận thông

qua điều khiển bằng phần mềm) bị loại bỏ

Sau khi thực hiện quá trình khởi tạo , tín hiệu yêu cầu ngắt vào IR0 có mức ưu

tiên cao nhất và vào IR7 sẽ có mức ưu tiên thấp nhất Thứ tự ưu tiên có thể thay đổi

trong chế độ hoán đổi thứ tự ưu tiên đợc đề cập sau đây

3.2.2 Chế độ hoán đổi thứ tự ưu tiên ( Rotating Priority Mode ):

8259 hoạt động trong chế độ này khi trong hệ thống có các thiết bị có các yêu

cầu ngắt có mức ưu tiên tương đương nhau như các kênh truyền thông Có hai chế độ

hoán đổi mức ưu tiên là chế độ hoán đổi tự động và chế độ hoán đổi đặc biệt :

+ Chế độ tự động : (Auto Mode )

Trong chế độ này ,thiết bị sau khi được phục vụ ,được gán cho mức ưu tiên

thấp nhất , vì vậy một thiết bị yêu cầu ngắt phải đợi thậm chí có thể phải đợi cho

đến khi 7 thiết bị khác được phục vụ xong

+ Chế độ không tự động :( Specific Mode )

Trong chế độ này người lập trình viên có thể thay đổi thứ tự ưu tiên ngắt bằng

cách lập trình mức ngắt có ưu tiên thấp nhất và bằng cách này xác lập mức ngắt

có ưu tiên cao nhất ví dụ néu IR5 được lập trình có mức ưu tiên thấp nhất thì IR6

sẽ có mức ưu tiên cao nhất

Lệnh điều khiển được xác định trong OCW2 , trong đó R =1 , SEOI =1 , các

bit L2,L1,L0 xác định mức ưu tiên ( tính theo hệ thập phân ) của thiết bị có mức

ưu tiên thấp nhất

Cần chú ý chế độ này hoạt động độc lập với lệnh EOI và quá trình hoán đổi

mức ưu tiên có thể thực hiện trong khi thực hiện lệnh EOI

EOI ( End Of Interupt ) và SEOI ( Specific EOI)

Một lệnh EOI luôn phải được đưa tới 8259 trước khi kết thúc chương trình

ngắt để khởi tạo bit tương ứng trong thanh ghi ISR EOI và SEOI là hai dạng của

lệnh EOI là non - specific ( không xác định ) và specific (xác định) Khi 8259

trong chế độ hoạt động đầy đủ ( Fully Neste Mode) nó có thể xác định bit nào

trong thanh ghi ISR cần khởi tạo bằng lệnh EOI Khi nhận được một lệnh

Ngày đăng: 25/03/2024, 17:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w