Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:8259

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:ibm-pc-ms-dos:hardware:8259 [2022/12/29 13:03] – [Initialization Command Word 1 at Port 20h and A0h] fraterback2root:ibm-pc-ms-dos:hardware:8259 [2023/01/16 16:33] (Version actuelle) – [8259 Programmable Interrupt Controller Notes] frater
Ligne 4: Ligne 4:
  
 ==== Initialization Command Word 1 at Port 20h and A0h ==== ==== Initialization Command Word 1 at Port 20h and A0h ====
-^  Bit  ^ Initiali                                           +^  Bit  ^ Initialization Command Word 1                      
-|  0    | 0=no ICW4 needed\\ 1=ICW4 is needed                +|  0    | 1=ICW4 is needed\\  0=no ICW4 needed               
-|  1    | 0=cascading 8259's\\ 1=single 8259                 | +|  1    | 1=single 8259\\ 0=cascading 8259'                | 
-|  2    | 0=byte int vectors\\ 1=byte interrupt vectors  +|  2    | 1=byte interrupt vector\\ 0=byte int vectors   
-|  3    | 0=edge triggered mode\\ 1=level triggered mode     |+|  3    | 1=level triggered mode\\ 0=edge triggered mode     |
 |  4    | must be 1 for ICW1 (port must also be 20h or A0h)  | |  4    | must be 1 for ICW1 (port must also be 20h or A0h)  |
 |  5-7  | must be zero for PC systems                        | |  5-7  | must be zero for PC systems                        |
 +
 ==== Initialization Command Word 2 at Port 21h and A1h ==== ==== Initialization Command Word 2 at Port 21h and A1h ====
  
-<code> +^  Bit  ^ Initialization Command Word 2                      ^ 
-|7|6|5|4|3|2|1|0|  ICW2 + 0-2  | 000= on 80x86 systems| 
- | | | | `-------- 000= on 80x86 systems +|  3-7  | A7-A3 of 80x86 interrupt vector| 
- `----------------- A7-A3 of 80x86 interrupt vector +
-</code>+
  
 ==== Initialization Command Word 3 at Port 21h and A1h ==== ==== Initialization Command Word 3 at Port 21h and A1h ====
-<code> +^  bit  ^ Initialization Command Word 3 for Master Device^ 
-|7|6|5|4|3|2|1|0|  ICW3 for Master Device +  0   |1=interrupt request 0 has slave\\ 0=no slave| 
- | | | | | | | `---- 1=interrupt request 0 has slave0=no slave +  1   |1=interrupt request 1 has slave\\ 0=no slave| 
- | | | | | | `----- 1=interrupt request 1 has slave0=no slave +  2   |1=interrupt request 2 has slave\\ 0=no slave| 
- | | | | | `------ 1=interrupt request 2 has slave0=no slave +  3   |1=interrupt request 3 has slave\\ 0=no slave| 
- | | | | `------- 1=interrupt request 3 has slave0=no slave +  4   |1=interrupt request 4 has slave\\ 0=no slave| 
- | | | `-------- 1=interrupt request 4 has slave0=no slave +  5   |1=interrupt request 5 has slave\\ 0=no slave| 
- | | `--------- 1=interrupt request 5 has slave0=no slave +  6   |1=interrupt request 6 has slave\\ 0=no slave| 
- `---------- 1=interrupt request 6 has slave0=no slave +|     |1=interrupt request 7 has slave\\ 0=no slave|
- `----------- 1=interrupt request 7 has slave0=no slave +
-</code> +
-<code> +
-|7|6|5|4|3|2|1|0|  ICW3 for Slave Device +
- | | | | | `-------- master interrupt request slave is attached to +
- `----------------- must be zero +
-</code> +
-==== Initialization Command Word 4 at Port 21h and A1h ==== +
-<code> +
-|7|6|5|4|3|2|1|0|  ICW4 +
- | | | | | | | `---- 1 for 80x86 mode, 0 = MCS 80/85 mode +
- | | | | | | `----- 1 = auto EOI, 0=normal EOI +
- | | | | `-------- slave/master buffered mode (see below) +
- | | | `--------- 1 = special fully nested mode (SFNM), 0=sequential +
- `-------------- unused (set to zero) +
-</code>+
  
 +^  bit  ^ Initialization Command Word 3 for Master Device^
 +|  0-2  | master interrupt request slave is attached to  |
 +|  3-7  | must be zero|
  
 +==== Initialization Command Word 4 at Port 21h and A1h ====
 +^  Bit  ^ Initialization Command Word 4                      ^
 +|     | 1 for 80x86 mode\\ 0 = MCS 80/85 mode|
 +|     | 1 = auto EOI\\ 0=normal EOI|
 +|  2-3  | slave/master buffered mode (see below)|
 +|     | 1 = special fully nested mode (SFNM)\\ 0=sequential|
 +|  5-7  | unused (set to zero)|
  
 ^  Bits       |^ Buffering Mode                  ^ ^  Bits       |^ Buffering Mode                  ^
Ligne 56: Ligne 50:
  
 ==== Operation Control Word 1 / Interrupt Mask Reg. (Ports 21h & A1h) ==== ==== Operation Control Word 1 / Interrupt Mask Reg. (Ports 21h & A1h) ====
-<code> + 
-|7|6|5|4|3|2|1|0|  OCW1 - IMR Interrupt Mask Register +^  bit  ^ Operation Control Word 1 - IMR Interrupt Mask Register^ 
- | | | | | | | `---- 0 = service IRQ01 = mask off +  0   | 0 = service IRQ0\\ 1 = mask off| 
- | | | | | | `----- 0 = service IRQ11 = mask off +  1   | 0 = service IRQ1\\ 1 = mask off| 
- | | | | | `------ 0 = service IRQ21 = mask off +  2   | 0 = service IRQ2\\ 1 = mask off| 
- | | | | `------- 0 = service IRQ31 = mask off +  3   | 0 = service IRQ3\\ 1 = mask off| 
- | | | `-------- 0 = service IRQ41 = mask off +  4   | 0 = service IRQ4\\ 1 = mask off| 
- | | `--------- 0 = service IRQ51 = mask off +  5   | 0 = service IRQ5\\ 1 = mask off| 
- `---------- 0 = service IRQ61 = mask off +  6   0 = service IRQ6\\ 1 = mask off| 
- `----------- 0 = service IRQ71 = mask off +|     0 = service IRQ7\\ 1 = mask off|
- </code>+
  
 ==== Operation Control Word 2 / Interrupt Command Reg. (Ports 20h & A0h) ==== ==== Operation Control Word 2 / Interrupt Command Reg. (Ports 20h & A0h) ====
-<code> + 
-|7|6|5|4|3|2|1|0|  OCW2 - ICR Interrupt Command Register +^  bit  ^ Operation Control Word 2 - ICR Interrupt Command Register^ 
- | | | | | `-------- interrupt request level to act upon + 0-2  | interrupt request level to act upon| 
- | | | | `--------- must be 0 for OCW2 +  3   | must be 0 for OCW2| 
- | | | `---------- must be 0 for OCW2 +  4   | must be 0 for OCW2| 
- `--------------- EOI type (see table) +|  5-7  | EOI type (see table)| 
-</code>+
  
 ^  Bits            ||^ EOI - End Of Interrupt code (PC specific)  ^ ^  Bits            ||^ EOI - End Of Interrupt code (PC specific)  ^
Ligne 87: Ligne 80:
 |  1      1  |  1  | rotate on specific EOI command             | |  1      1  |  1  | rotate on specific EOI command             |
  
-==== Operation Control Word 3   (Ports 20h & A0h) ==== +==== Operation Control Word 3 (Ports 20h & A0h) ==== 
-<code> +^  bit  ^ Operation Control Word 3 ^ 
-|7|6|5|4|3|2|1|0 OCW3 +  0  | 1=read IRR on next read\\ 0=read ISR on next read| 
- | | | | | | `--- 1=read IRR on next read0=read ISR on next read +  1  | 1=act on value of bit 0\\ 0=no action if bit 0 set| 
- | | | | | | `---- 1=act on value of bit 00=no action if bit 0 set +  2  | 1=poll command issued\\ 0=no poll command issued| 
- | | | | | `----- 1=poll command issued0=no poll command issued +  3  | must be 1 for OCW3| 
- | | | | `------ must be 1 for OCW3 +  4  | must be 0 for OCW3| 
- | | | `------- must be 0 for OCW3 +  5  | 1=set special mask\\ 0=reset special mask| 
- | | `-------- 1=set special mask0=reset special mask +  6  | 1=act on value of bit 5\\ 0=no action if bit 5 set| 
- `--------- 1=act on value of bit 50=no action if bit 5 set +|   not used (zero)| 
- `---------- not used (zero) +
-</code>+
 ==== Other Registers ==== ==== Other Registers ====
  
Ligne 104: Ligne 96:
   * ISR - In Service Register, tracks IRQ line currently being serviced. \\ Updated by EOI command.   * ISR - In Service Register, tracks IRQ line currently being serviced. \\ Updated by EOI command.
  
-====== Hardware Interrupt Sequence of Events======+====== Hardware Interrupt Sequence of Events ======
  
   - 8259 <A HREF="int_table.html">IRQ</A> signal is raised high by hardware setting the corresponding IRR bits true.   - 8259 <A HREF="int_table.html">IRQ</A> signal is raised high by hardware setting the corresponding IRR bits true.
Ligne 118: Ligne 110:
  
 ==== Initialization ==== ==== Initialization ====
 +
   - write ICW1 to port 20h   - write ICW1 to port 20h
   - write ICW2 to port 21h   - write ICW2 to port 21h
Ligne 137: Ligne 130:
  
 <WRAP rounded box> <WRAP rounded box>
-see [[back2root:ibm-pc-ms-dos:hardware-ports|PORTS]] and <A HREF="int_table.html">INT TABLE</A>+see [[back2root:ibm-pc-ms-dos:hardware:start|PORTS]] and [[back2root:ibm-pc-ms-dos:interrupts:start|INT TABLE]]
 </WRAP> </WRAP>
back2root/ibm-pc-ms-dos/hardware/8259.1672315382.txt.gz · Dernière modification : 2022/12/29 13:03 de frater