The course HARDWARE 1 YBET

Interruption, DMA, adressses des PC
YBET   Hardware course on line

12. Internal peripherals PC: interrupt, address and DMA

12.1. Introduction - 12.2. Interruptions, basic addresses in a PC - 12.3. Parallel port - 12.4. Serial port - 12.5. USB 1.1 - 12.6. USB 2.0. - 12.7. Firewire ports 1394 and 1394B

12.1. Introduction.

Since the first computer, the connections with external peripherals was raised obligatory (modem and serial transmission, printers...). Interest us initially in the way in which the PC can manage communications cards.

A chance, the 8088 does not manage the peripherals like addresses memories, but well like a distinct zone. For that, two pins I/O (Input/Output) are connected on the processor: IOR for the reading and IOW for the writing (the memory on the 8088 is managed by MEMR and MEMW). These 2 signals are established in the decoding of address of the peripherals. Upon the departure, certain addresses were standardized by IBM (serials ports, parallel port...). Each peripheral has is own input/output address. It cannot be divided.

To have studied the basic operation of a microprocessor-based system, we know that a peripheral can return an interruption request to announce to the processor which it must occupy of him (data given arrived for example). With the reception of the signal, the processor finishes its instruction in progress, saves the pointer of program (the address memory in progress) and its registers (storages internal) and starts a program located at an address specific to the number of the interruption. Except the Non maskable interruption, all the interruptions can be of a blow ignored by an assembler instruction (the internal language of a processor). In the PC, this possibility is never used. The non maskable interruption is related to the errors of parities of the data in memories. Here also, the interrupts are standardized since first 8088 for the standard peripherals.

The last component of a microprocessor system is the DMA (Direct Memory Access) This function makes it possible to require of the processor to disconnect itself from the data bus, addresses and control while a peripheral takes the control of the memory. The levels were partly standardized. The DMA was practically not used with the first PC.

According to the peripheral, it will use one or more these 3 components. Windows 95/98 and Win2000 Plug and Play coupled with the plug & Play of Bios facilitates in certain cases the parameter setting but it is sometimes necessary to take again the configurations manually when the number of peripherals increases.

A peripheral is thus given in manner hardware by a beach of addresses (sometimes only one address), an interruption (besides some peripherals of the type Win modem, modem software) and possibly a channel DMA.

12.2. Interruptions - basic addresses.

The processor 8088-8086 used one 8259 of INTEL, with 8 interrupt levels noted of IRQ0 with IRQ7. The 80286 until the 486 used 2 chained controllers 8259. Noted IRQ0 with IRQ15, but with the IRQ9 reserved for the chaining. Since Pentium (and a new administrative circuit of interruptions), this IRQ9 is accessible to the peripherals, but this explains why few peripherals do not connect by defect on this interrupt level.

The no-masquable interruption (NMI) is also used for parity error (see memory) or errors of connectors inputs/outputs.

The table below shows the whole of the addresses and standardized interruptions of the PC, mixed with the interruption used by defect currently.

Function IRQ Address Comments
Clock system 0   Cannot be modified
Keyboard 1   Perhaps modified
Controller of programmable IRQ 2   Cannot be modified


3 2F8-2FF

2E8 - 2EF

Modifiable with prudence


4 3F8-3FF


Modifiable with prudence
Free 5   Generally used by the sound board, also LPT2 into 278
Controller disk drive 6   Modifiable with prudence


7 378 -37F (3C for the products of mark)

278 - 27F

Modifiable with prudence. One can put LPT1 and LPT2 on the same interruption, but not of simultaneous impressions
Clock: date and hour 8   Not modifiable
  9   To see in Pentium and following, used in parallel with IRQ2 in the 486. Often used by the charts sounds
  10 (A)   Free
  11 (B)   Free
  12 (C)   Free
Mathematical coprocessor 13 (D)   Cannot be modified
  14 (E)   Free, Generally IDE 1
  15 (F)   Free, Generally IDE 2

Often interruptions 14 and 15 are used by the hard disk controller (one by port IDE).

Interruption 12 is used by mouse PS2. Port USB also uses by defect this interruption 12. Nevertheless, port USB passes into 11 if a mouse PS2 is connected.

These interruptions can be checked by the tools provided by the operating systems and for some, they are posted at the time of the starting of the majority of the white "produced" PC. The checking in the PC under DOS passes by the MSD.exe program located in c:\DOS. In Win95/98, System located in the control panel allows the same checks, but of manner wider. Since Win98, a new utility tolls Microsoft systems located in the file System Tool of the Start menu allows a better knowledge on the system in progress.

By looking at this table, if a PC misses interruptions free, it is possible to recover some by removing wearing of communication. If you do not use ports series (only USB), you can return inactive COM 1 and COM 2 (disabled) and recover interruptions 3 and 4. Idem for the parallel port. If you use 2 parallel ports, you can put the interruptions of LPT2 into 5 (according to the standard) or in 7 (attention not of simultaneous impression and some old software DOS are likely not to function). If you use discs SCSI, why not make inactive ports IDE 1 and IDE2 in the BIOS (recovery of the INT 14 and 15)...

Notice that the ports COM 1 and COM 3 use the same interruption: you cannot use a mouse series with a modem in Com3.

12.3. Parallel port

The parallel port is reserved for the connection of a printer, it is also useful for scanner, slaps of safeguards and readers CD-Rom (engravers) external... even if interface USB are more often used today. Working on 8 lines of data, it is faster than the port series, but requires an expensive wiring. The cable used is of Centronix type and is composed of 2 * 8 wire (given - mass) for the information flow in the 2 directions according to the parallel type of port (bi-directional), plus some signals of control.

The type of interface evolved/moved with time. The connections by parallel port current are as fast as those in USB, nevertheless, this interface monopolizes practically 100 % of the resources of the processor. In theory, the rate of transfer is 1 MB/s. Nevertheless, speed seldom exceeds the 600 kB/s.

The length of the cables can reach the 10 m for an interface with a printer. For all other connections, 3 meters is a maximum.

12.3.1. Addresses of the parallel ports.

2 parallel addresses are standardized in the PC

LPT1 is indexed with the address 378-37F (3BC for the products of mark), the interruption is the 7

LPT2 is indexed with the address 278-27F, the interruption is the 5. In certain current connections, you will find it into 7 (idem that LT1). This makes it possible to recover a free interruption, but causes many problems with the peripherals other than the printers. Moreover, you cannot in this case use the 2 ports simultaneously.

12.3.2. One-way mode SPP.

The mode of transfer which appeared with the first PC was one-way. The PC could communicate with the peripheral, but not the reverse. Only some preset signals made it possible the peripheral to control the data flows, in particular Paper Out or BUSY.

The maximum capacity was of 150 KB/S. By defect, it is this mode which is activated in the BIOS

12.3.3. Type 1 bi-directional.

Introduced by IBM in 1987, this port used a pin to announce the direction of connection. It has been completely abandoned for several years.

12.3.4. Type 3 DMA.

So before, the processor sent each byte to the port, the DMA makes it possible to store data to be sent, releasing the processor. Its use has also limited him to PC IBM.

12.3.5. EPP

Parallel port EPP (Enhanced Parallel Port) is the first bi-directional port standardized in the PC. It is the fruit of the co-operation of several firms, of which INTEL. The rate of transfer reaches 2 maximum MB/s, that is to say higher than that of a port USB 1.1

12.3.6. Mode ECP

Developed not Microsoft and Hewlett Packard, standard ECP (Extended Capabilities Ports) is almost identical to standard EPP, but can use mode DMA. Just like mode EPP, the bi-directional transfer of information are done on the hardware level, which involves definitely higher flows. Another characteristic of this type of parallel connection is the possibility of compression of the data until 64:1. This is particularly useful when one connects scanners which send often similar data at the time of a transfer of images.

12.3.7. Composite modes.

In the BIOS of the PC, you will not find these modes like such. Mode SPP (one-way) is completely to disadvise.

Mode EPP/ECP is a mixture of port SPP and ECP. The type of mode ECP perhaps 1.7 or 1.9. For many peripherals (in particular scanner HP), the 1.9 is obligatory.

Mode ECP/EPP is most usually employed. The DMA is generally the 3.

For recall, only standards EPP and ECP are completely bi-directional and thus usable with external scanners or readers.

the 12.3.8. LAPLink cables.

These cables make it possible to connect 2 PC leaves parallel ports in order to transfer from the data. To use these specific cables, it is necessary to use the adequate software (LapLink, Norton Commander or even Win95/98). This cable is presented under 2 male connectors DB25. Inevitably, the parallel ports must be programmed in mode bi-directional in the setup.

12.4. The ports series

Wiring series was used for the transfers. Standard RS232 is most known. Working in +15V with +25V (true case) and -15V with -25V (false case), the electric disturbances are largely reduced. With the arrivals of the PC, the tensions passed into +5 and 0V. The connections series are completely bidirectional. The use of higher tensions allows in particular transfers of data in industrial circles strong electric and electromagnetic disturbances.

One finds 2 types of connectors, DB9 and DB25. If the DB25 comprises more signals, one can currently completely regard them as identical.

Connections series are used for the mouses and modems, possibly for scanners codes special bar professional and printers (labels).

In many connections, one uses only the mass (Ground) and the signals transmitted dated (sending of the data) and receive dated (reception of the data). These two wire must be reversed for a transfer of data in the majority of the cases (laplink series).

Connector DB9

Stitch Signal
1 Carrier detect
2 Receive Dated
3 Transmitted dated
4 Final ready dated
5 Ground
6 Set ready dated
7 Request to send
8 clear to send
9 Boxing ring indication

Connector DB 25

1 Ground
2 Transmitted dated
3 Receive dated
4 Request to send
5 clear to send
6 Set ready dated
7 Ground
8 Carrier detect
9 Check modem
20 Final ready dated
22 Boxing ring indication

12.4.1. The UART.20

A UART (Universal Asynchronous Receiver/Transmitter). converts the parallel signals sent by the processor into serial signals. With the arrival of the UART 16.550, speeds of transfers largely increased to authorize a flow of 33,6 Kb/s (kilo bit a second)..

Speeds of transfers are expressed in bytes /s or Baud. To allow a connection series, the transmitter sends a starting bit and a bit of end between each byte (character). Moreover, one often uses a bit of parity to control information sent. This brings to 11 bits for 1 byte of data + 1 Stop + 1 Start + parity. This gives for a connection to 33.6 Kb/s, at a speed of effective transfer of a little more than 3 Kilo byte per seconds.

12.4.2. Connection RS232

The connection is made by means of bits known as of start and stop. It is possible to check the exactitude of the character transmitted by the bit of parity (which is not obligatory). This one is to 1 when the number of 1 in the message is odd (type of parity EVEN) and 0 in the contrary case. On the other hand, it is to 0 when the number of 1 in the message is odd and conversely in the parity check ODD.

Start Bit D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop bit

The 0 correspond to a tension of -5 with -15V. The 1 corresponds to a tension of 5V with 15V. In current connections PC, they correspond to 0V and 5V. The names of the pins correspond to the following indications.

RX: Reception series of the data

TX: Transmission series of the data

sending - reception, the 2 pins must be connected conversely.

RTS: exit activates low, left the computer indicating to the apparatus in communication that the computer is ready to transmit.

DTR: low credit, left the computer indicating to the apparatus in communication that the computer is ready to communicate.

CTS: exit low credit, entry informing the computer which the apparatus in communication is ready for transmission.

DSR: entered with the computer indicating that the connected apparatus is ready to communicate.

At the beginning, only three signals are necessary: X-ray and TX for the transmission of the data and a mass. In the case of a Laplink connection with 3 wire (X-ray - TX and mass), it is enough to reverse TX and X-ray.

12.4.2. Infra-red connections.

Using a photocell, the infra-red connections are of series type. We will speak again about it in second: Wireless network and connections.

12.4.3. The transfer of information.

A transmission in serial mode requires synchronization between the two devices in communications: speed, parity, stop bit, Protocol. The two settings must be identical.

Just like the cables parallel of the lapLink type, the connection series can be used for transfers of information between PC. Nevertheless, the cable will have to be cross on the level of the signals sending and receptions. One calls this type of cable NULL MODEM.

12.4.4. Serial Connection in a computer.

Four ports series are standardized in a PC. Certain charts make it possible nevertheless to use more ports.

COM 1: 3F8-3FF

COM 2: 2F8-2FF

COM 3: 3E8-3FF

COM 4: 2E8-2EF

The interruption for the ports COM 1 and COM 3 is the 4. The interruption for COM 2 and COM 4 is the 3.

This division of interruptions between 2 different ports does not make it possible to use them at the same time. Not question of connecting the mouse in COM 1 and the modem in COM 3. If not, at the time of the use of the modem, you will not have the access to the mouse!

12.5. USB 1.1.

Several manufacturers (Compaq, DIGITAL, IBM, Microsoft, INTEL) worked out in 1995 external port USB (Universal Serial Bus) version 1.1. This serial interface makes it possible to connect without restarting a large variety of peripherals with a better band-width than the ports current series or parallel (scanner, photonumerical equipments, external safeguard). This type of port is really recognized only with Win98 and MacOS 8.5 and superiors (Win95OSR2 is not really compatible). In addition to the advantage of hot connection, the programs do not reach the peripherals any more in a specific way, but according to a drawn up, unified and invariable protocol. This allows a greater portability of the material on different platforms. The USB also directly has the access to the memory by procedure DMA.

Like any port series, the capacity of the band-width is low: 12 Mb/S (1,5 MB/s) for the whole of the connected peripherals. There are currently 2 operating modes:

High speed where only one greedy peripheral uses all the band-width: 12 Mb/S, is 1,5 MB per seconds

Low speed where the more modest peripherals divide the band-width into 8, is 1,5 MBPS (180 kb/s)

This restriction involves that the number of suitable for connection peripherals is limited to 8 and not with the 127 theoretical peripherals maximum.

The length of the cable is limited in version 1.1 to 5 meters for a peripheral at full speed. It is limited to 3 meters for a peripheral with low flow (by connection).

The communication is clearly defined. A cycle of communication is defined during which all peripherals USB wait until the PC (or Mac) transmits its orders in a standardized protocol to them. During, during the first phase, the PC questions each peripheral to know its nature. In the course of operation, the PC reaches individually each peripheral and integrates them in the diagram of management of energy, without intervention of the user.

With each milliseconds, the controller sends a signal package to maintain the peripherals synchronized (isochronous mode). There are 4 kinds of packages: packages of control, packages isochronous, packages in bulk and packages of interruption. The packages of control are used for configuring peripherals, giving them orders and questioning them on their statute. The isochronous packages are used for the peripherals real time like webcam and the telephone, which need to send or receive data with intervals of regular times. They have a fixed time, but do not allow a retransmission in the event of error. The packages in bulk are useful for transfers in direction or coming from a peripheral without requirement of real time, like printers. Lastly, the packages of interruption are necessary because the USB does not support the interruptions.

Cable USB comprises two different catches called A and B which is connected on the controller (or the HUB) on the side A and on the peripherals (side B). It is composed of 4 wire, a twisted pair for the transfer of the data, a wire with the potential of +5V which makes it possible to supply peripherals USB so necessary and finally the mass. It can be armored or not, the mode low speed of 1.5 Mbits/s having a tolerance higher than the electromagnetic disturbances. A shielding is strongly recommended for a use to 12 Mbits/s (1,5 MB/s). The specifications of this bus envisage a maximum length of 5 meters cable between 2 elements of the tree structure. The controller can supply the peripheral with a consumption of 500 my maximum. It is also the case of the HUB supplied with electric transformer. As the whole of peripherals USB use only one wearing of exit, it is not necessary any more to be occupied of interruption, addresses memories... The USB accepts to 127 peripherals by ports in theory. With 1 ports USB (the 2 connectors are connected in an internal way in the first mother charts including the USB), one could install to 127 peripherals. This would be true if the chaining were authorized (physical connectors of the wearing of entry and exit integrated on each peripheral), which is not the case. There are nevertheless hub USB which allow from 4 to 8 wearing of exits for an entry towards the PC.

Currently, port USB makes it possible to establish scanners, printers, mice and keyboards, joysticks, cameras digital and cameras numerical, pregnant (! No CD-audio), modems (especially ADSL) and engravers, WebCam...

12.6. USB 2.0

Already envisaged in the specifications of the USB 1.1, the characteristics of the USB 2.0 (during 2002) are not very different from those of its predecessor. Extremely by its upward compatibility and downward with version 1.1 (you can connect a peripheral USB 2.0 on a controller USB 1.1 and live and poured), the USB 2.0 grows rich the third speed of connection between the main controller and peripherals USB 2.0.

With the same cables and connectors, it is now possible to connect external hard disks, printing, scanners and other readers at speeds passing very close to the 480 Mbits/s is 60 MB/s (in theory). In practical, maximum speed turns in the neighborhoods of 15 MB/s. This increase speed was in particular possible thanks to the reduction of the tensions of the signals transmitted in the cables, those passing from 3.3V with 0.4V.

The topology of bus USB remains the same one, the peripherals meeting standard 2.0 not being able to profit high speed if they are connected behind a HUB USB 1.1. Moreover, to connect considerably a peripheral USB 1.1 in a chain of peripherals USB 2.0 tiny room performances of the unit.

The speed of transfer is far from the 60 announced MB /s, but with a flow passing very close to the 15 MB /s (according to the controller and OS) one is 12 times all the same faster than the USB 1.1. (1,2 MB/s). This speed is twice slower than than gives FireWire in practice, but the USB 2.0 is integrated in all the new PC, not FireWire.

Controllers USB 2.0 thus accept peripherals USB 1.1. But in this case, total speed is clearly slowed down. The USB 2.0 makes it possible to connect to 63 peripherals. The maximum size of the cable cannot exceed 4,5 meters between 2 peripherals

12.7. USB 3.0

Used since 2011, USB 3.0 allows significantly higher speeds of the order of 5 GB bits per second (but for the moment, it is very theoretical because current Auditors fix maximum 150 Mega Byte (1200 Mega bit) per second (this is better than the theoretical 60 a USB 2.0 but still).)

The controller is therefore specific but the connector (and cables) are identical. This will probably cause the disappearance of the next (IEEE 1394), including for the transfer of camera videos.

12.8. FireWire 1394 and firewire 1394B

Also port series, FireWire (also called IEEE 1394) is clearly dedicated to the greedy external peripherals (hard disk, engraver, numerical camera). Its theoretical speed is of 480 mb/s. It can make function mixed peripherals having a speed of 100, 200 and 400 Mbits/s. In practice, speed reaches 30 MB/s. The connector consists of 4 cables (2 wire initially planned for power supply by SONY - starting originator - were removed).

The equipments are chained between them. It is thus not necessary to use HUB.

The Firewire connectors

The version firewire 1394B is an evolution of the firewire. The difference comes from the band-width passes from 400 Mb/s to 800 Mb/s. This speed should still be improved in the future with 1,6 Gb/s then 3,2 Gb/s thanks to the use of plastic optical fiber multimode. The distance could approach the 100 meters.

The firewire 1394B is compatible with the lower version thanks to a double protocol (language) established

The firewire is mainly used with the numerical video cameras and the external hard disks.

In relation:

Next of hardware 1 course> 

12A telephone Modems - 13. Parameters colors

The hardware course: PC and peripherals. The Hardware course: networks and servers

Competences with the service of quality in data-processing.

Mesure d'audience ROI frequentation par