0% found this document useful (0 votes)
60 views23 pages

Computer Buses 4. Expansion Modules For Embedded Systems 5. Computer Displays 6. Graphics Adapters 7. Optical Discs

The document discusses different methods for input/output operations in computer systems. It describes programmed I/O, where the CPU directly controls all data transfers between I/O devices and memory through execution of instruction sequences. It discusses memory-mapped and isolated addressing techniques and the disadvantages of programmed I/O, namely reduced system performance and limited transfer rates due to the CPU having to continuously monitor and service I/O devices.

Uploaded by

Alex Tăbușcă
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views23 pages

Computer Buses 4. Expansion Modules For Embedded Systems 5. Computer Displays 6. Graphics Adapters 7. Optical Discs

The document discusses different methods for input/output operations in computer systems. It describes programmed I/O, where the CPU directly controls all data transfers between I/O devices and memory through execution of instruction sequences. It discusses memory-mapped and isolated addressing techniques and the disadvantages of programmed I/O, namely reduced system performance and limited transfer rates due to the CPU having to continuously monitor and service I/O devices.

Uploaded by

Alex Tăbușcă
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

1.

Introduction
2. Methods for I/O Operations
3. Computer Buses
4. Expansion Modules for Embedded
Systems
5. Computer Displays
6. Graphics Adapters
7. Optical Discs
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 1
Programmed I/O
Interrupt-Driven I/O
Direct Memory Access (DMA)
I/O Processors

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 2


Principle of Programmed I/O
I/O Device Addressing
I/O Instructions
Disadvantages of Programmed I/O

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 3


Data are transferred between the CPU and
I/O module under direct control of the
CPU
Each transfer operation requires the
execution of an instruction sequence by the
CPU
The transfer is carried out between a CPU
register and a register of the I/O device
The I/O device does not have direct access to
main memory
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 4
Execution of an I/O operation:
The CPU sends a command to the I/O
module
The I/O module performs the requested
action and sets the appropriate bits in the
status register
The CPU must check periodically the status
of the I/O module to detect that the
operation is complete

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 5


Principle of Programmed I/O
I/O Device Addressing
I/O Instructions
Disadvantages of Programmed I/O

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 6


The CPU, memory, and I/O devices usually
communicate via the system bus
An I/O device is connected to the bus via
an I/O port  addressable register
When the CPU, main memory, and I/O
system share a common bus, two
addressing techniques are possible:
Memory-mapped addressing
Isolated addressing
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 7
Memory-mapped addressing
There is a single address space for memory
locations and I/O devices
The CPU treats the status and data registers
of I/O modules as memory locations
The same instructions are used to access
both memory and I/O devices
No special I/O instructions are needed 
memory load and store instructions

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 8


The RD and WR control lines are used to initiate either
a memory access cycle or an I/O transfer
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 9
Isolated Addressing
The I/O address space is isolated from that
for memory
The bus must contain:
Read and write lines for the memory
Command lines for input and output
A memory-referencing instruction asserts
the MRD or MWR control line
The CPU must execute separate I/O
instructions to assert the IORD and IOWR
lines
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 10
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 11
Principle of Programmed I/O
I/O Device Addressing
I/O Instructions
Disadvantages of Programmed I/O

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 12


Programmed I/O can be implemented by at
least two I/O instructions
IN, OUT (Intel)
To prevent the loss of information or an
indefinite execution time, the CPU must test
the status of the I/O device
To execute an I/O instruction, the CPU sends:
An address: the I/O module and the external
device
An I/O command
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 13
Types of I/O commands
Control: used to activate a peripheral and to
specify the operation to be executed
Test: used to test status conditions
associated with an I/O module and its
peripherals
Read: used to obtain a byte or word from the
peripheral
Write: used to send a byte or word to the
peripheral
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 14
Reading a block of data
from a peripheral device
into memory
For each word that is
read in, the CPU must
remain in a cycle to test
the status

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 15


The programmer’s interface for a terminal
keyboard
Exemplifying the programmed I/O for memory-
mapped addressing and isolated addressing
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 16
Memory-mapped addressing
512 memory locations (0x000 – 0x1FF)
512 I/O addresses (0x200 – 0x3FF)
Reading a byte from the keyboard
LD AC, 0x01
ST 0x301, AC ; start keyboard read
WAIT: LD AC, 0x301 ; read status byte
AND AC, 0x80 ; isolate bit 7
BZ WAIT ; wait for the byte
LD AC, 0x300 ; read data byte

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 17


Isolated addressing
The I/O ports have the same addresses as in
the previous example
Reading a byte from the keyboard
LD AC, 0x01
OUT 0x301, AC ; start keyboard read
WAIT: IN AC, 0x301 ; read status byte
AND AC, 0x80 ; isolate bit 7
BZ WAIT ; wait for the byte
IN AC, 0x300 ; read data byte

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 18


Principle of Programmed I/O
I/O Device Addressing
I/O Instructions
Disadvantages of Programmed I/O

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 19


Performance of the system is significantly
reduced, because:
The CPU has to wait until the peripheral
becomes available, and then to execute the
transfer by a program sequence
The transfer rate is limited by the speed
with which the CPU can test and serve the
I/O devices

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 20


Programmed I/O: the CPU executes a
sequence of instructions for each transfer
Addressing techniques
Memory-mapped addressing: the registers of
I/O modules are treated as memory
locations
Isolated addressing: the registers of I/O
modules have addresses in an address space
separated from that of the memory
Programmed I/O has major disadvantages
10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 21
Principle of programmed I/O
Execution of an I/O operation
I/O port
Memory-mapped addressing
Isolated addressing
Disadvantages of programmed I/O

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 22


1. How is an I/O operation executed with
programmed I/O?
2. What are the differences between
memory-mapped addressing and isolated
addressing?
3. What are the disadvantages of
programmed I/O?

10/03/2019 Input/Output Systems and Peripheral Devices (02-1) 23

You might also like