Programmed IO: Difference between revisions

From NDWiki
Jump to navigation Jump to search
m (Wikifying the intro)
m (added Glossary category)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
:''The following information is collected from the {{ND-doc|06.015}}''
'''Programmed IO''' is used for the CPU to communicate with devices. The only instructions that could access the IO are [[IOX]] and [[IOXT]].
 
IOX uses the lower 11 bits in the instruction as address (0-3777 oct). IOXT uses the T register as address and could access the full IO address range (0-177777 oct). Both instructions transfer data to and from register A.
'''Programmed IO''' is used for the CPU to communicate with devices. The only instructions that could access the IO is [[IOX]] and [[IOXT]].
IOX uses the lower 11 bits in the instruction as address (0-3777 oct). IOXT uses the T register as address and could access the full IO address range (0-177777 oct). Both instructions transfers data to and from register A.


== IO transfer direction ==
== IO transfer direction ==
Line 10: Line 8:
== IO memory map ==
== IO memory map ==


Most Norsk Data devices recides in the area adressable from IOX. The lower half of that IO area is reserved for Norsk Data devices. The rest of that area is free for customer devices.
Most Norsk Data devices reside in the area addressable from IOX. The lower half of that IO area is reserved for Norsk Data devices. The rest of that area is free for customer devices.


IO device address map for ND-100 (octal)
IO device address map for ND-100 (octal)
Line 21: Line 19:
  140000-177777 Norsk Data interfaces
  140000-177777 Norsk Data interfaces


System registers : Some system control registers are controlled via the IO bus, for example ECCR, Error Correctio Control Register is located on the memory module so the micro code converts the TRR instruction to an IOXT 100115
System registers : Some system control registers are controlled via the IO bus, for example ECCR, Error Correction Control Register is located on the memory module so the microcode converts the TRR instruction to an IOXT 100115


== ND IO interrupts ==
== ND IO interrupts ==


If the IO address is to a non existing device the IO instruction will timeout after 10 us and issue an [[IOX error]] interrupt if enabled.
If the IO address is to a non-existing device the IO instruction will time out after 10 us and issue an [[IOX error]] interrupt if enabled.


== ND IO register standard ==
== ND IO register standard ==
 
{{Missing}}
(to be done)


== ND IO device numbers ==
== ND IO device numbers ==


The device numbers are listed in the appendix C of ND-100 functional description.
The device numbers are listed in appendix C of ND-100 functional description.


== References ==
== References ==
 
*{{ND-doc|06.015.02}}
* [http://bitsavers.org/pdf/norskData/ND-100-FD-ND-06.015.02_ND-100_Functional_Description_1985.pdf ND-06-015-02 ND-100 Functional Description (1985)]
[[Category:Glossary]]

Latest revision as of 21:45, 23 July 2014

Programmed IO is used for the CPU to communicate with devices. The only instructions that could access the IO are IOX and IOXT. IOX uses the lower 11 bits in the instruction as address (0-3777 oct). IOXT uses the T register as address and could access the full IO address range (0-177777 oct). Both instructions transfer data to and from register A.

IO transfer direction

The lowest bit in the address decides the transfer direction. If the bit is zero then the direction is from the IO register into register A. If the bit is one then the contents in register A is written to the IO register.

IO memory map

Most Norsk Data devices reside in the area addressable from IOX. The lower half of that IO area is reserved for Norsk Data devices. The rest of that area is free for customer devices.

IO device address map for ND-100 (octal)

000000-001777 Norsk Data interfaces
002000-003777 Free for customer interfaces
004000-077777 Illegal
100000-100777 System control registers
101000-107777 Reserved
110000-137777
140000-177777 Norsk Data interfaces

System registers : Some system control registers are controlled via the IO bus, for example ECCR, Error Correction Control Register is located on the memory module so the microcode converts the TRR instruction to an IOXT 100115

ND IO interrupts

If the IO address is to a non-existing device the IO instruction will time out after 10 us and issue an IOX error interrupt if enabled.

ND IO register standard

ND IO device numbers

The device numbers are listed in appendix C of ND-100 functional description.

References