Chương 3: Các phương pháp trao đổi thông tin pot

34 606 0
Chương 3: Các phương pháp trao đổi thông tin pot

Đ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

P&I Ch3: Methodes 1 Ch. 3. c¸c ph−¬ng ph¸p trao ®æi th«ng tin • Polling - Th¨m dß • Interrupt - ng¾t & • DMA - truy nhËp trùc tiÕp mem - IO P&I Ch3: Methodes 2 3.1. Phương pháp thăm dò (polling) • K/n Polling: Dùng phần mềm để kiểm tra các cờ trạng thái @ IO Ports => quyết định trao đổi số liệu hay không. • Nhanh, đơn giản, thường dùng trong các hệ nhỏ hoặc đơn nhiệm - ít thiết bị IO, • Để thử nghiệm, • Dùng với các thiết bị ngoại vi tần suất truy nhập thấp, tốc độ chậm, ví dụ các kênh đo nhiệt độ, • Không phù hợp với ‘đa nhiệm’, đặc biệt trong máy tính P&I Ch3: Methodes 3 Một l−u ®å : Polling Device #1 Y Request ? N Device #2 Y Request ? N Device #n Y Request ? N Device #1 Service Routine Device #2 Service Routine Device #n Service Routine Quit H×nh 3.1. L−u ®å ph−¬ng ph¸p IO interface polling P&I Ch3: Methodes 4 3.2. Ph−¬ng ph¸p ng¾t (Interrupt) • Kh¸i niÖm, • Ph©n lo¹i vµ • ‘Case studies’ P&I Ch3: Methodes 5 • Là sự dừng thực hiện CTC để thực hiện ctc, thường là do TBNV yêu cầu thông qua port. • Khi CPU đang thực hiện CTC, đến dòng lệnh thứ n, ngẫu nhiên, ngoại vi thứ i xin phục vụ bằng cách phát ra tín hiệu IRQ(i) (Interrupt Request) đến CPU. Nói chung, CPU sẽ ngừng xử lý CTC và cất ngữ cảnh (flags và địa chỉ của lệnh tiếp theo) vào Stack Mem, rồi tìm địa chỉ của ctc phục vụ ngắt tương ứng (Interrupt Service Routine - ISR) để thự c hiện. • Sau khi thực hiện xong ISR, gặp lệnh iret (reti ), CPU khôi phục lại ngữ cảnh (từ Stack Mem) của CTC và tiếp tục thực hiện. 3.2. Phương pháp ngắt (Interrupt): 3.2.1. Khái niệm H×nh 3.2. K/n ng¾t P&I Ch3: Methodes 6 • Đặc điểm: – Là phương pháp vào/ra kết hợp tín hiệu và phần mềm, để thực hiện đa nhiệm. – Đối tượng bị ngắt: CTC bị dừng xử lý để thực hiện ctc. – Là chế độ hoạt động riêng cho các Vi xử lý/ máy tính ON-LINE, – Nguồn ngắt: chủ yếu từ ngoại vi thông qua IO ports, CPU (exceptions, internal), – Xảy ra ngẫu nhiên, – Nhiều IOs • => Tranh chấp => Phải giải quyết ưu tiên ngắt. 3.2. Phương pháp ngắt (Interrupt): 3.2.1. Khái niệm: P&I Ch3: Methodes 7 • Ưu tiên ngắt - Interrupt Priority: - T/bị ưu tiên cao có thể dừng ISR của t/bị ưu tiên thấp - Hệ lớn, nhiều IOs thường dùng PIC (Intel PIC8259A) - Chỉ số ưu tiên do nhà sx qui định cho các t/bị ngoại vi, cố định, mức 0 là cao nhất. Theo hình 3.2: Level (j) > Level(i), i>j. • Ưu tiên phân định do các tín hiệu ngắt trong CPU (Intel 8085: INTR, 5.5, 6.5, 7.5 và TRAP), • Z80 CPU & others: ưu tiên theo kiểu Daisy Chain 3.2. Ph−¬ng ph¸p ng¾t (Interrupt): 3.2.1. Kh¸i niÖm P&I Ch3: Methodes 8 a. Software Interrupt: • Là việc gọi 1 ctc (Subroutine) được xây dựng riêng mà ctc này còn có thể được gọi bởi thiết bị ngoại vi. • Các lệnh gọi như INT n; (Intel x86) hay SWI n; (Moto). • Tuy nhiên, việc thực hiện lệnh ngắt mềm giống như gọi thủ tục, và đôi khi được hiểu là TRAP, • Ngắt mềm không phải là ngắt 3.2. Interrupt: 3.2.2. ph©n lo¹i: Gåm: Hardware, software, internal, exception, NMI P&I Ch3: Methodes 9 • Do Ports phát tín hiệu NMI/ IRQ đến CPU. • Chia thành 2 loại: Maskable & Non Maskable 9 Maskable Interrupt: là các ngắt thông thường, có thể cấm (disable) bởi lệnh CLI hay cho phép (enable) bởi lệnh STI (Intel vs Moto!). Các ngắt sẽ bị cấm (tại CPU) - IF disabled: sau khi CPU reset, trước đó đã có IRQ khác, sau khi th/h lệnh CLI. 9Non Maskable Interrupt, NMI là ngắt có mức ưu tiên cao nhất, thường cho các việc: mất điện, sai số liệu (DRAM parity) PC hiện nay, thường không dùng NMI. 3.2. Interrupt: 3.2.2. ph©n lo¹i: b. Hardware: P&I Ch3: Methodes 10 Trong một số CPU, để bẫy/ để xử lý các sự kiện trong khi thực hiện, như Intel x86: - Divide by zero: tương ứng thực hiện lệnh, Int 0, - Trap - Single Step: thực hiện từng lệnh, debugger, Int 1, dùng cùng với Trap Flag (Trace). - Break Point: tạo điểm dừng, debugger, Int 3, - Overflow: (tràn số nguyên), Int 4 - 3.2. Interrupt: 3.2.2. ph©n lo¹i: c. Internal: [...]... P&I Ch3: Methodes 13 3.2 Interrupt: 3.2.3 Case study: ngắt các hệ VXL/Máy tính c x86 & PC interrupt : Real & Protected modes REAL MODE: Bảng vector ngắt IVT - Interrupt Vector Table: 1st kilo byte (RAM) bảng vector ngắt 1 KB = 256 elements of 4 bytes Chứa địa chỉ đầu của ISR tơng ứng CS:IP Khi khởi tạo, BIOS nạp vào IVT đcđ của các ISR ứng với IO Đổi vector ngắt: đổi nội dung các vector này Các ngắt... 0013h, 001Bh, 0023h và 002Bh Tại các địa chỉ này thờng đặt lệnh LJMP nnnn và đợc đặt lệnh RETI nếu không có ISR P&I Ch3: Methodes 12 3.2 Interrupt: 3.2.3 Case study: ngắt các hệ VXL/Máy tính b Z80 system: Z80-CPU, 3 modes ngắt: Các lệnh ReStart (nh Intel 8085), NMI và Daisy Chain Kiểu Daisy Chain: Ghép nối với các Z80-Ports: Z80-PIO, Z80-SIO, Z80-CTC IRQs từ các ports là Open Drain, Khi CPU:... Computers): các Error, thay đổi điều kiện, kể cả ngắt, đợc CPU phát hiện trong khi chơng trình đang hoạt động P&I Ch3: Methodes 11 3.2 Interrupt: 3.2.3 Case study: tổ chức ngắt của các hệ VXL/Máy tính a Intel 8x51 Micro Controllers: Họ Intel 8x51 có 6 nguồn ngắt: 02 Ext Interrupts: Int0 và Int1, 03 Timer Interrupts: Timer 0, 1, 2 và 01 Serial port Interrupt (phát/thu char) ứng với các ngắt này, có các địa... vector cũ? Enabling IRQi @ PICs, Mask Reg (OCW1): b(i) = 0, Enabling cờ IF trong CPU, lệnh STI, Set Interrupt Enable Flag, cho phép ngắt P&I Ch3: Methodes 20 P&I Ch3: Methodes 21 3.2 Interrupt: 3.2.3 Case study: x86 & pc, Hardware Int Hoạt động: 1 2 3 Khi trao đổi số liệu: Ngoại vi với IO port 4 5 6 CPU cất ngữ cảnh của main prog vào stack mem P&I IO port phát tín hiệu IRQ(i) tới PIC 8259A, Nếu đợc,... next DMA bus cycle Mỗi chu kỳ bus, chuyển đợc 1 byte hoặc 1 từ P&I Ch3: Methodes 33 Bi tập chơng 3: Xây dựng ứng dụng ngắt: bàn phím, LPT, Comm hoặc mạch ghép nối Xây dựng sơ đồ ghép nối và lập trình cho DMAC các kênh 8 và 16 bit cho máy tính PC để gửi số liệu ra hoặc nhận số liệu vào Channel, Mode, Block BTCT: DMA 16bit! P&I Ch3: Methodes 34 ... al ; Non Specific EOI iret ; Return fron Intr P&I Ch3: Methodes 23 3.2 Interrupt: 3.2.3 Case study: x86 & pc, Hardware Int d Xây dựng PC ISR: - NN cao Pascal/C: Pointers (for Old Vector) và procedure có chỉ dẫn Interrupt Chú ý cần có thêm các lệnh STI và CLI hoặc inline m máy FAh và FBh (En/Dis) - MASM và OS: thay vector ngắt trực tiếp, lệnh mov các con trỏ vào IVT; int 21h subfunctions: 25h và 35h... cùng vector type, tức có vector trong bảng IVT P&I Ch3: Methodes 14 3.2 Interrupt: 3.2.3 Case study: x86 & pc IVT P&I Ch3: Methodes 15 3.2 Interrupt: 3.2.3 Case study: x86 & pc, int n instruction Software Interrupt: lệnh Int n, n=0 FFh, n - vector type Mô tả lệnh: Trớc khi thực hiện lệnh, phải có chtr khởi tạo ngắt (Intr house-keeping): định vị ISR và đổi vector ngắt, Khi gặp lệnh Int n, CPU sẽ cất 6... Hardware Int PCI bus dùng chung 1 IRQ P&I Ch3: Methodes 18 3.2 Interrupt: 3.2.3 Case study: x86 & pc, Hardware Int Priority Interrupt Controller Intel 8259A 8 Channel (8 I/O ports) Ưu tiên cố định, vòng, vòng định trớc Nối tầng với Slave PIC(s), mở rộng thêm IOs Nhiều chế độ hoạt động - ICWs & OCWs Dùng với nhiều hệ VXL của Intel, IBM-PC Tham khảo VXL của MTV P&I Ch3: Methodes 19 3.2 Interrupt: 3.2.3 Case... 8 ISR, Timer P&I Ch3: Methodes 24 3.2 Interrupt: 3.2.3 Case study: x86 & pc, Hardware Int 80x86 Interrupt in Protected Mode: Int Descriptor Table (IDT) cú th nh v bt k vựng nh no V trớ v kớch thc trong bng IDTR: 32bit addr v 16 bit limit Gate, not vector 256 gate descriptor: trap/ interrupt/ task ISR's Addr & Attribute Int/ trap cho phộp chuyn n ISR trong current task P&I Ch3: Methodes 25 3.2... for -Busy => inactive Ch3: Methodes 26 3.3 direct memory access - dma 3.3.1 khái niệm: Controlled by DMAC, bus master (phát địa chỉ, th điều khiển bus) In/Out dùng hardware [burst mode] => nhanh, 2-5 MBps ISA bus (max 33 MBps, MCA/EISA bus) Chuyển block/ Single byte (FDC) IO port Mem, Mem Mem (ít) Specified Block/ IO Requirement Stealing cycle (DRAM controller Intel 8208) P&I Ch3: Methodes 27 3.3 direct . P&I Ch3: Methodes 1 Ch. 3. c¸c ph−¬ng ph¸p trao ®æi th«ng tin • Polling - Th¨m dß • Interrupt - ng¾t & • DMA - truy nhËp trùc tiÕp mem - IO P&I Ch3: Methodes 2 3.1. Phương pháp thăm. tra các cờ trạng thái @ IO Ports => quyết định trao đổi số liệu hay không. • Nhanh, đơn giản, thường dùng trong các hệ nhỏ hoặc đơn nhiệm - ít thiết bị IO, • Để thử nghiệm, • Dùng với các. của ISR tơng ứng CS:IP. Khi khởi tạo, BIOS nạp vào IVT đcđ của các ISR ứng với IO. Đổi vector ngắt: đổi nội dung các vector này Các ngắt cứng, NMI v Internal đều tơng ứng với 1 lệnh ngắt mềm

Ngày đăng: 08/08/2014, 17:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan