slike bài giảng kỹ thuật ghép nối máy tính - bùi quốc anh chương 3 các phương pháp trao đổi thông tin

21 426 0
slike bài giảng kỹ thuật ghép nối máy tính - bùi quốc anh chương 3 các phương pháp trao đổi thông tin

Đ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

1 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, • Tốt cho việc thử nghiệm, • Có thể đa nhiệm cho các đối tượng có hằng số thời gian >>, 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 2 P&I Ch3: Methodes 3 Ví dụ về PP polling • Cổng Comm (RS232) của máy tính PC: – Thanh ghi Line Status Register có các bit: • b0 – Char received, đã thu xong 1 char, • b1 – Overrun Error, char bị xóa đè • b2 – Parity Error • b3 – Framing Error • B4 – Break Interrupt • B5 – TxHR Empty, thanh ghi phát rỗng, gửi tiếp • B6 – Char transmitted – Polling: thu - kiểm tra b0, phát kiểm tra – b5 P&I Ch3: Methodes 4 Một lưu đồ thăm dò: 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 3 P&I Ch3: Methodes 5 3.2. Phương pháp ngắt (Interrupt) • Khái niệm, • Phân loại và • Case studies P&I Ch3: Methodes 6 • 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 4 P&I Ch3: Methodes 7 • Đặ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 8 • Ư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. Interrupt: 3.2.1. Khái niệm 5 P&I Ch3: Methodes 9 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: (Hardware, software, internal, exception, NMI ) P&I Ch3: Methodes 10 • Do Ports phát tín hiệu NMI/ IRQ đến CPU. • Chia thành 2 loại: Maskable & Non Maskable  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. Non 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: 6 P&I Ch3: Methodes 11 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 12 Là vấn đề hay điều kiện để CPU dừng công việc đang t/h, tìm địa chỉ và thực hiện 1 ctc, được thiết kế để xử lý sự kiện này. - Exception giống Interrupt, thực hiện lệnh riêng. - Trong PC, Exp khác Intr qua 2 điểm: - Liên quan tới việc thực hiện chương trình, - Có ưu tiên cao để dừng ch/tr (Apple Macintosh 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. 3.2. Interrupt: 3.2.2. Phân loại: c. Exceptions: 7 P&I Ch3: Methodes 13 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 chỉ đầu cho ISR tương ứng tại trang zero @ Prog. Memory: 0003, 000Bh, 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. 3.2. Interrupt: 3.2.3. Case study: P&I Ch3: Methodes 14 • 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: M1 & IO Request => INTA đến port1, • Nếu Port1 Resq, sẽ phát mã ‘Addr’ lên data bus, nếu không • Chuyển INTA đến Port 2 • Ưu tiên cố định/ jumper. 3.2. Interrupt: 3.2.3. Case study: 8 P&I Ch3: Methodes 15 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 cứng, NMI và Internal đều tương ứng với 1 lệnh ngắt mềm có cùng vector type, tức có vector trong bảng IVT. 3.2. Interrupt: 3.2.3. Case study: P&I Ch3: Methodes 16 3.2. Interrupt: 3.2.3. Case study: x86 & PC IVT 9 P&I Ch3: Methodes 17 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 byte Flag Reg, CS và IP vào Stack mem, (n x 4) là địa chỉ IVT, đọc 4 byte nạp vào IP và CS tương ứng => ISR bắt đầu được thực hiện. Khi gặp lệnh IRET, CPU khôi phục lại từ Stack Mem IP, CS và Flag Reg (LIFO!). 3.2. Interrupt: 3.2.3. Case study: x86 & PC, int n instruction P&I Ch3: Methodes 18 Hardware Interrupt, IRQ: IRQ trong PC: dïng 2 PICs - Priority Interrupt Controller PIC 8259A Master PIC (địa chỉ: 20h, 21h, IO Space), IRQ0 IRQ7 => Int 8 Int 0Fh Slave PIC (địa chỉ: 0a0h, 0a1h) = IRQ8 IRQ15 => => Int 70h Int 77h 3.2. Interrupt: 3.2.3. Case study: x86 & pc, Hardware Int 10 P&I Ch3: Methodes 19 3.2. Interrupt: 3.2.3. Case study: x86 & pc, Hardware Int PCI bus dùng chung 1 IRQ P&I Ch3: Methodes 20 Quản lý 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: để định các chế độ (itnit) như: 8/16 bit, IRQ là xung hay sườn, kiểu ưu tiên… Operation CWs: lưu các trạng thái trong quá trình hoạt động, ghi ra các từ điều khiển hoạt động Dùng với nhiều hệ VXL của Intel và PC Tham khảo VXL của MTV 3.2. Interrupt: 3.2.3. Case study: x86 & pc, Hardware Int Priority Interrupt Controller Intel 8259A [...]... P&I Ch3: Methodes 37 3. 3 direct memory access - dma 3. 3 .3 PCs dma: DMAC#1: 8 bit Channels, 64KB max, 0h-0fh addr Ch0 - DRAM Refresh, Spare Ch1 - SDLC, LPTs EPP/ECP/IEEE1284 mode Alt., Spare Ch2 - FDC, single byte mode Ch3 - LPTs EPP/ECP/IEEE1284 mode, Ir port (IEEE 802.11b), Spare DMAC #2: 16 bit Channels, 64KW max, 0C 0-0 Cfh địa chỉ Ch4 - Cascade for DMAC 1 Ch5 - HDC ISA bus, spare Ch6 - Spare,... 2-5 MBps ISA bus (max 33 MBps, MCA/EISA bus) Chuyn block/ Single byte (FDC) IO port Mem, Mem Mem (ớt) Specified Block/ IO Requirement Stealing cycle (DRAM controller Intel 8208) P&I Ch3: Methodes 35 3. 3 direct memory access DMA 3. 3.1 Khỏi nim DMA: P&I Ch3: Methodes 36 18 3. 3 Direct Memory Access DMA 3. 3.2 dmac 8 237 a, Intel : MTV 4 Channel of 8/16 bit IOR-MEMW & MEMR-IOW DMA bus cycles Mem... P&I Ch3: Methodes 33 3. 2 Interrupt: 3. 2 .3 Case study: x86 & pc, Int instruction CLI STI LIDT EA SIDT EA INT n IRET INT O HLT WAIT P&I ; Load IDT t Effct Addr ; ( INT 4) ; Wait for Ext IRQ or Reset ; Wait for -Busy => inactive Ch3: Methodes 34 17 3. 3 DIRECT MEMORY ACCESS - DMA 3. 3.1 KHI NIM: Controlled by DMAC, bus master (phỏt a ch, th iu khin bus) In/Out dựng hardware [burst mode] => nhanh, 2-5 MBps... Cascade for DMAC 1 Ch5 - HDC ISA bus, spare Ch6 - Spare, Ch7 - Spare Page Registers: 080h 08Fh: Giữ địa chỉ cao vì DMAC chỉ phát 16 low addr bit SysBus in DMA mode, AEN = 1 (Addr Enable) P&I Ch3: Methodes 38 19 3. 3 direct memory access - dma 3. 3 .3 PCs DMA: Case study S khi: IOR P&I Ch3: Methodes 39 3. 3 Direct Memory Access DMA 3. 3 .3 PCs dma: Case study: DMA Housekeeping khi to trc khi hot ng... int 77h P&I Ch3: Methodes 30 15 3. 2 Interrupt: 3. 2 .3 Case study: x86 & pc, Hardware Int CPU ly (VectorType x 4) => IVT, c ISR c tng ng, np vo IP&CS, IRS bt u c thc hin Lu ý khi xõy dng ISR: (nu dựng ASM) - Realtime Prog Languages: MASM, C - Enabling Interrupt for Higher priority Levels, - Ct nhng thanh ghi-ISR dựngvo STACK Mem, - T/h ni dung ISR, - Khụi phc Reg t STACK Mem, LIFO, - Depriorotizing:... v counter- a ch, DACKi Ch3: Methodes 40 20 3. 3 Direct Memory Access DMA 3. 3 .3 PCs dma: Case study:IOR-MEMW bus cycle Bt u t/h DMA, ngoi vi chuyn data => IO Port IO Port phỏt tớn hiu DRQi ti DMAC Nu chp nhn DMAC phỏt HRQ ti CPU (CPU logic circuitry) CPU dng hot ng @ state T3, Hi Z bus ca CPU CPU Tr li t/h HLDA => DMAC & goes to sleep Thc hin DMA bus cycle: - DACKi = 0, as Chip Select - IOR = 0... Falling Edge of -ACK), cnh bỏo virus - Thng trỳ ngt thi gian Int 1Ch thuc Int 8 ISR, Timer P&I Ch3: Methodes 32 16 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: 32 bit addr v 16 bit limit Gate, not vector 256 gate descriptor: trap/ interrupt/ task - ISR's Addr & Attribute... 20ms, 200ms, 2s n 20s P&I Ch3: Methodes 24 12 Fig 3. 5b P&I Watch dog Timer principle Ch3: Methodes 25 IRQ3: Cng truyn tin RS 232 s 2 (Comm2), bỏo ngt khi: thu/phỏt xong 1 byte, li khi thu, cú tớn hiu bỏo v t thit b ngoi IRQ4: nh IRQ3 nhng cho Comm1 IRQ5: Cng mỏy in s 2 LPT2, bỏo ngt mi khi cú sn xung ca xung ACK (t mỏy in hoc t bờn ngoi) Reserved P&I Ch3: Methodes 26 13 IRQ6: FDC Interrupt Floppy... iret ; Return fron Intr P&I Ch3: Methodes 31 3. 2 Interrupt: 3. 2 .3 Case study: x86 & pc, Hardware Int d Xõy dng PC ISR: - NN cao Pascal/C: Pointers (for Old Vector) v procedure cú ch dn Interrupt Chỳ ý cn cú thờm cỏc lnh STI v CLI hoc inline mó mỏy FAh v FBh (En/Dis) - MASM v OS: thay vector ngt trc tip, lnh mov cỏc con tr vo IVT; int 21h subfunctions: 25h v 35 h ca DOS - Case Study: Xõy dng ng dng dựng... CRTC, HDC, USB controller, Sound Controller khụng dựng ngt riờng thng dựng chung IRQ11 P&I Ch3: Methodes 27 3. 2 Interrupt: 3. 2 .3 Case study: x86 & pc, Hardware Int HARDWARE INTERRUPT, IRQ: Hot ng Hardware Intr trong PC (xem PIC 8259A) Interrupt Housekeeping - chun b: ISR, vớ d files.sys[com], gmouse.com - cng comm1 Load ISR v xỏc nh a ch vt lý, Thay vector ngt, cn lu vector c? Enabling IRQi @ PICs, . 1 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. 8208) P&I Ch3: Methodes 36 3. 3. direct memory access – DMA 3. 3.1. Khái niệm DMA: 19 P&I Ch3: Methodes 37 3. 3. Direct Memory Access – DMA 3. 3.2. dmac 8 237 a, Intel : MTV 4 Channel of 8/16 bit IOR-MEMW. Reset WAIT ; Wait for -Busy => inactive 3. 2. Interrupt: 3. 2 .3. Case study: x86 & pc, Int. instruction 18 P&I Ch3: Methodes 35 3. 3. DIRECT MEMORY ACCESS - DMA 3. 3.1. KHÁI NIỆM: •Controlled

Ngày đăng: 24/10/2014, 12:23

Từ khóa liên quan

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

Tài liệu liên quan