8237A, PC AT, , . (8237#2) , . 8237 16- , 64 . DMA, - , . 12.4. . . ( 008 0D0) BIOS POST; XT 0, . ISA 008 0D0 . -. 16- / . 00Ch (0D8h ) , . , , .
12.4. DMA 8237A
8237#1 | 8237#2 | R/W, |
000, 002, 004, 006 | 0C0, 0C4, 0C8, 0CC | W 03 (8237#1) 47 (8237#2). R |
001, 003, 005, 007 | 02, 0C6, 0CA, 0 | W 03 (8237#1) 47 (8237#2). R |
008 | 0D0 | W, Command Register . 7: 1 (DACK# , 0 ); 6: 1 (DRQ , 0 ); 5: 1 ( 0); 4: 0 , 1 ; 3: 1 ( 0); 2: 1 ; 1: 1 0 ( 0); 0: 1 - ( PC , 0) |
008 | 0D0 | R, Status Register . 47: 03; 03: 0-3 |
009 | 0D2 | W, Request Register . 73 ; 2: 1 , 0 ; 10: (00 0; 01 1; 10 2; 11 3) |
00 | 0D4 | W, Single Mask Bit Register . 73 ; 2:1 , 0 ; 10: (00 0; 01 1; 10 2; 11 3) |
00B | 0D6 | W, Mode Register . 76: (00 , 01 , 10 , 11 ); 5: 0 , 1 ; 4: 1 |
00B | 0D6 | 32; (00 , , 01 , 10 , 11 ); 10: (00 0; 01 1; 10 2; 11 3) |
00C | 0D8 | W, Clear Byte Pointer Flip/Flop / |
00D | 0DA | W, Master Clear 8237 ( ) |
00E | 0DC | W, Clear Mask Register ( ) |
00F | 0DE | W, All Mask Register Bits . 03: 03 (0 , 1 ); 47 |
, (/), (), . 8237A 16-, (DMA page register), 8237A. 8237A DMA . PC/AT A[23:16] 8- A[23:17] 16-. PC/XT 4 A[19:16]. 16- 1 , 0 . 16- 0=0 ( ). 16-, 64 ( 8- ) ( 16- ). , , FFFF 65 534 (216). ( ) TC, . , , , DMA. , () .
|
|
- FFFFh 0000h, , , . , 64 , . 80x86 , , 16- ( 10h), 10000h. , , DMA, ( ) . 16- , . 57 64 , 20000h.
|
|
DMA 16- , .
.
♦ (single transfer mode) DACKx#, DRQx, DMA . , .
♦ (block transfer mode) DACKx#, DRQx, DMA . , DRQx. , .
♦ (demand transfer mode) DACKx#, DRQx , . DMA . , DMA , , .
DMA , , , 15 .
DMA ISA 8 . 1,125 . DMA 1 / 8- 2 / 16- ( 1 ). DMA ; 8237 . BIOS Setup.
86
IBM PC- , 86. (), () -, . 86, , , - , - ( -) ( -, ). - , ( , PCI, ISA). , ( ) . - ( ), , (). () . : , , , .
|
|
4- . (supervisor), , (user), . , , . , - 86 [6, 7], .