Computing Systems Organization
CT101 – Computing Systems
• Review the operation of a computer at the functional level
• Detail the organization of computer sub-systems
– Memory Subsystem
– I/O Subsystem
Basic computer organization
CPU organization
• Special Registers:
– PC (program counter) keeps the address of the next instruction
– IR (instruction register) keeps the instruction being executed
• The Arithmetic Logic Unit performs arithmetic calculations.
Typical operations performed by the ALU are: add,
subtract, negate, divide, multiply, shift/rotate, etc…
• The ALU normally works on two numbers at a time.
– Often, one of the numbers is found in an internal location of the
processor, whilst the other is a constant or found in the memory
– The reason for most arithmetic and logic operations using
operand's which are located inside the processor is speed. This is
due to not having to perform a fetch cycle for transferring the
operand from the memory system to an internal hold point (called
latch) in order to execute the instruction.
• The purpose of the ALU is to perform arithmetic and logic
operations .
RISC processor ALU example
Right Operand
//Code for a = b + c
load R3, b //copy value b from memory to R3
load R4, c //copy value c from memory to R4
add R3, R4 //sum placed in R3
store R3, a //store the result into memory
Status Registers
General Registers
Left Operand
Program Counter
• As discussed earlier, the processor uses an internal counter to keep
track of the instruction it is executing from the system memory. The
contents of the counter is the location of where the instruction is found
(its address number).
• During the fetch cycle, the processor places the contents of this
counter on the address bus. A read signal is issued on the control bus,
then timing signals are generated to transfer (copy) the instruction
from the memory location in system memory to an internal hold latch
inside the processor (called the instruction register).
• During the decode cycle, the instruction counter is adjusted to point
to the next instruction to be executed from system memory (calculated
from the current instruction).
• The purpose of the program counter (instruction) pointer is to hold
the address of the instruction the processor is about to execute from
system memory.
Instruction Register
• Once the instruction has been copied from system memory
to the instruction register inside the processor, the decode
cycle starts. The instruction is decoded. This means that the
processor figures out precisely the sequence of operations
(both internal and external) that must be performed next.
The decoded instruction might look like
• move the A register contents to the ALU
• left shift the ALU three times
• move the contents of the ALU to the A register
• add one to the instruction pointer register
• The purpose of the instruction register is to hold a copy of
the instruction which the processor is about to execute.
Register Banks
• To provide for the temporary storage of variables or results, most (if not all)
processors provide a number of internal hold latches called registers.
• The number of registers can range from 1 to several hundred, depending upon the
architecture of the processor (CISC or RISC).
• The reason why internal register banks (a group of registers) are used is speed. Data
inside the processor is manipulated significantly faster than data external to the
processor (ie, located in system memory). This is because of the time required to
fetch the data from system memory and transfer it into an internal hold latch before
it can be manipulated.
• For instance, to multiply the contents of a memory location by 2, the processor
needs to first read the memory location value to an internal register (transfer it to the
accumulator – up to the architecture), multiply it by 2, then write the ALU contents
back to the memory location. The two memory cycles consume time.
• In contrast, to multiply an internal register by 2 requires no external system memory
access, and the lack of this overhead means that instructions of this type execute
faster than those which make external references to system memory.
• The purpose of internal processor register banks is to provide temporary storage for
variables and calculations.
RISC Control Unit example
Fetch Unit
load R3, b
Decode Unit
Execute Unit
load R3, b
load R4, c
add R3, R4
store R3, a
Control Unit
• The control unit controls the execution of the
instructions stored in the main memory (retrieve and
execute them)
CPU Programming model
• The programming model of a processor defines the registers within the processor
which are visible and programmable by the user.
• These include
general purpose registers
flag (condition code or status) register
program counter or instruction pointer
stack register
• Executing a program: An example
Lets consider the operation of the following program at the processor level.
• Assembler High Level Language
MOV AX, #1
MOV BX, #2
Memory subsystem organization and
• Review of different types of memory
• Internal organization of the memory
• Construction of memory subsystems
• Two main memory classes:
– ROM (Read Only Memory) (a)
– RAM (Random Access Memory) (b)
• A memory chip of size 512 X 8 has 512 memory locations,
each of which has 8 bits
• The address input of a memory chip choose one of its
locations. A memory chip with 2n locations requires n
address inputs, usually labeled An-1An-2 … A0 (512 X 8
memory has address lines A8A7A6 … A0)
• The data pins on a memory chip are used to access the
data. There is one pin per bit in each location. For chips
with m bits per location, these pins are Dm-1Dm-2 … D0
(512 X 8 memory has address lines D7D6D5 … D0)
• Other pins:
– Chip enable (CE) enables or disables the chip. When disabled, the
data pins output the high impedance Z; CE may be active high or
– Some other type of pins, up the class of the memory
Data is programmed into the chip using an external ROM programmer
The programmed chip is used as a component into the circuit
The circuit doesn’t change the content of the ROM
Can be used as lookup tables to implement various functions
Used by PCs to store the instructions that form their Basic
Input/Output System (BIOS)
• When power is removed from a ROM chip, the information is not lost,
so it is a nonvolatile type of memory
• It has a OE (Output Enable) specific control pin. Both OE and CE
must be enabled in order for the ROM to output data; otherwise its
data output is tri-stated.
ROM Types
• Masked ROM – programmed with its data when the chip is
• PROM – programmable ROM, by the user using a standard
PROM programmer, by burning some special type of fuses.
Once programmed will not be possible to program it again
• EPROM – erasable ROM; the chip can be erased and chip
reprogrammed; programming process consists in charging
some internal capacitors; the UV light (method of erase)
makes those capacitors to leak their charge, thus resetting
the chip
• EEPROM – Electrically Erasable PROM; it is possible to
modify individual locations of the memory, leaving others
unchanged; one common use of the EEPROM is in BIOS of
personal computers.
• Read/write memory, that initially doesn’t contain
any data
• The computing system that it is used in usually
stores data at various locations to retrieve it latter
from these locations
• Its data pins are bidirectional (data can flow into
or out of the chip via these pins), as opposite to
those of ROM that are output only
• It loses its data once the power is removed, so it is
a volatile memory
• It has a directional select signal R/W’; When
R/W’=1, the chip outputs data to the rest of the
circuit; when R/W’ = 0 it inputs data from the rest
of the circuit
RAM Types
• Dynamic RAM (DRAM) – are like leaky capacitors;
initially data is stored in the DRAM chip, charging its
memory cells to maximum values. The charge slowly leaks
out and eventually would go to low to represent valid data;
before this happens, a refresh circuitry reads the contents of
the DRAM and rewrites the data to its original locations,
thus restoring the memory cells to their maximum charges
• Static RAM (SRAM) – is more like a register; once the data
has been written, it will stay valid, it doesn’t have to be
refreshed. Static RAM is faster than DRAM, also more
expensive. Cache memory in PCs is constructed from
SRAM memory.
Internal linear organization
• 8X2 ROM chip
• As the number of
locations increases,
the size of the
address decoder
needed, becomes
very large
• Multiple dimensions
of decoding can be
used to overcome
this problem
Internal two-dimensional organization
• High order address bits (A2A1) select one of the rows
• The low order address bit selects one of the two locations in
the row
Memory subsystems organization
• Two or more memory chips can be combined to create
memory with more bits per location (two 8X2 chips can
create a 8X4 memory)
Memory systems organization
• Two or more memory chips can be combined to create more
locations (two 8X2 chips can create 16X2 memory)
Secondary Memory
• Disk Storage
– RAID Systems
– Floppy
• Optical Storage
• Tape Storage
• Disk storage
– Disk Storage Technology
– Hard disk
RAID Systems
– Floppy Disk
– Optical disk
• Tape storage
Disk storage
• Disks are used to store data, applications software and operating
systems software. Whereas the primary form of storage in the early
days of computing was magnetic tape, this has been replaced by
predominantly disk based medium today. The reasons for this trend
has been
decreasing cost per bit
reduced access times
higher transfer rates (more data per second)
reduced size and power requirements
increased capacity
• One trend during the past few years is a move to optical storage
medium. Many software companies offer both operating systems
software and application software on optical medium (CDROM or
Disk storage technology
• Disk storage systems work on magnetic principles.
– In magnetism, there are two opposing polarities called poles, the north and the
South pole. Opposite polarity attracts, whilst like polarity repels.
• In computers, data is represented in binary format.
– Binary data has two states, a 1 or a 0. It just so happens that magnetism also
has two states, north and south, so in effect, magnetism is a good way of
storing data also
• A rotating disk is coated with very fine ferrous oxide particles, each
of which act and behave like little magnets
• All that is required now is a mechanism of converting the digital
data of 0's and 1's into magnetic states of north and south poles.
• In a storage disk drive, the mechanism which performs the function
of converting the digital 0's and 1's into magnetic states which can
magnetize the surface areas of the disk is called the write head. A
similar head, called the read head, is used to detect the magnetic
states on the surface of the disk and convert them back into digital
Disk Storage Technology
• In practice the read and write heads are combined into a single
read/write head, which performs both functions.
– When writing data, a write head magnetizes the particles on the disk surface
as either north or south poles
– When reading data, a read head converts the magnetic polarization's on the
disk surface to a sequence of pulses
• There may be more than one read/write head. Consider the example
shown below, where a group of heads is used to write data onto
concentric rings on the magnetic drum. In this example, the heads
are fixed (non-moveable).
Disk Storage Technology
• The problem with this drum approach is limited capacity. To
increase the capacity requires an increase in the circumference size
of the drum, or more read/write heads.
• A more common approach used today is to use a read/write head
attached to a moveable arm, which steps across (by small
increments) the surface of the disk. The disk is a platter coated with
magnetic particles. This arrangement is shown below
The drive also incorporates electronics to
position the read/write head and move it
across the surface of the disk, and a motor
to spin the disk at a constant speed, as well
as electronics which interface the drive to
the computer system and provide necessary
timing signals to allow data to be written or
read from the disk
Disks Data organization
• Data is arranged as a series of concentric rings. Each ring (called a
track) is subdivided into a number of sectors, each sector holding a
specific number of data elements (bytes or characters)
• The smallest unit that can be written to or read from the disk is a
sector. Once a read or write request has been received by the disk unit,
there is a delay involved until the required sector reaches the
read/write head. This is known as rotational latency, and on average
is one half of the period of revolution.
• The storage capacity of the disk is determined as (number of tracks *
number of sectors * bytes per sector * number of read/write heads)
Disk Drive Characteristics
• Tracks and Sectors
– The disk is divided into concentric rings called tracks. A track is thus one
complete rotation of the disk underneath the read/write head. The width of a
track is determined by the size of the read/write head, and the distance between
tracks determined by the mechanics of the stepper motor which controls the
positioning of the arm to which the read/write head is attached.
– Each track is subdivided into a number of sectors. Each sector contains a
specific number of bytes or characters. Typical sector capacities are 128, 256,
512, 1024 and 4096 bytes.
– Increasing the number of tracks is one way to increase the storage capacity of a
disk drive. Often the physical size of the disk imposes space restrictions which
make this impractical. The most common choice is increasing the number of
sectors per track, or increasing the number of bytes stored in each sector.
• Bad Blocks
– The drive maintains an internal table which holds the sectors or tracks which
cannot be read or written to because of surface imperfections. This table is
called the bad block table, and is created when the disk surface is initially
scanned during a low level format.
Disk Driver Characteristics
• Partitions
– A disk partition is a sub-division of the disk into one or more areas. Each
partition can be used to hold a different operating system. The computer system
boots from the active partition , and software provided (i.e. fdisk) allows the
user to select which partition is the active one.
• Sector Interleave
– This refers to the numbering of the sectors located in a track. A one to one
interleave has sectors numbered sequentially, 0, 1, 2, 3, 4, etc. The disk drive
rotates at a fixed speed which means that there is a fixed time interval between
each sector
• A slow (or overloaded) computer can issue a command to read sector 0, storing it in
an internal buffer. Whilst it is doing this, the drive makes available sector 1, but the
computer is still busy storing sector 0. Thus the computer will now have to wait one
full revolution till sector 1 becomes available again.
– Renumbering the sectors like 0, 8, 1, 9, 2, 10, 3, 11 etc gives a 2:1 interleave.
This means that sectors are alternated, giving the computer slightly more time to
store sectors internally than previously
Disk Drive Characteristics
• Drive Controller
– The drive is managed by a special peripheral called a drive
controller. It may handle multiple drives or only a single drive. The
controller is sometimes (up to the used HDD type) responsible for
issuing commands to position the read/write head
• Rotation Speed
– This refers to the speed of rotation of the disk. Most hard disks
rotate at 5400rpm. To increase data transfer rates, higher rotational
speeds are possible (HDDs available also at 7000rpm or
10000rpm), or multiple read/write heads arranged in parallel, or
disk arrays (multiple disks arranged in parallel).
Disk Drive Characteristics
• Low/High level Formatting
– Low level formatting is placing track and sector information, plus
bad block tables and other timing information on the disk. Sector
interleave can also be specified at this time
– High level formatting involves writing directory structures and file
allocation tables to the disk. Often this also means transferring the
boot file for the operating system onto the hard disk
• Access Time
– Access time refers to how soon the drive makes data available
once issued with the command to read the data. Once a read
command is issued, the drive must position the read/write head at
the appropriate track number and wait for the correct sector to
Hard Disks common features
• the disk and read/write heads are enclosed in a
sealed airtight unit
• the disk(s) spin at high speed (3600, 5400, 7000 or
10000) revolutions per minute (RPM)
• the read/write heads do not actually touch the disk
surface. The disk is lubricated (heads fly above
when the disk is up to speed)
• the disk surface contains a magnetic coating
Disk Drive Types
• SCSI (Small Computer Systems Interface)
– The common drive choice for servers or high end workstations, drive capacities range
from 100MB to hundreds of GB (or even TB most recently). They have fast access times
and high data transfer rates, but are expensive.
ATA/ATAPI/IDE or PATA (AT Attachment/AT Attachment Packet Interface/Integrated
Disk Electronics or Parallel ATA)
– A common drive used today for workstations with capacities of hundreds of GB or more.
Good access times of about 10ms, but slower data transfer rates than SCSI drives. Drives
are reasonably cheap, the controllers can only handle a maximum of two drives (some
will handle only one).
• SATA (Serial ATA)
– Successor of PATA (IDE or ATA or ATAPI) performing communication over a
high speed serial cable (as suppose to a parallel cable)
– Similar capacities and higher transfer speeds than ATAPI
– One drive per controller
IDE Interface
• IDE (Integrated Drive Electronics) or ATA-1 Bus
supports two drives (master and slave)
the drives must be magnetic (no support for CD-ROM or optical)
no special drivers required (supported by the BIOS)
controller electronics is on the drive (as name suggests) presenting the disk to
the host as array of 512 byte blocks.
– low cost and inexpensive to implement
– data transfer rates up to 4.1MBytes per second
– It uses a 40-pin cable to connect the drive to the motherboard or controller card
• To connect two drives, the first drive is configured as a master, the
second as a slave. This requires changing special jumpers located on
the drive (not all the early drives support this mode of operation).
• Was standardized in 1994 as ANSI standard X3.221-1994, AT
Attachment Interface for Disk Drives. After later versions of the
standard were developed, this became known as "ATA-1".[
• ATA2 - The new version of the ANSI standard, AT Attachment
Interface with Extensions ATA-2 (X3.279-1996), was approved in
1996. It included most of the features of the manufacturer-specific
variants (EIDE, Fast ATA)
– Enhanced IDE
supports drive capacities to 8.4GB
data transfer rate increased to 10MBPS
up to four drives supported by changes at the BIOS, adapter, and OS level
Mention of supporting any storage devices (not only HDD) as long as they comply with the standard
maximum cable length of 18 inches
– Fast ATA
• Developed in late 1993, as a result of the use of LOCAL BUS in computers, it bypasses the expansion bus
and connects the drive directly to the CPU local bus, resulting in significantly increased data transfer rates
• Fast ATA drives are backward compatible with earlier ATA drives. By changes to the BIOS, Fast ATA alters
the timing of data transfers to the drive ( PIO mode 3 or 4, and DMA mode 1 or 2), enabling data transfers to
take place quicker and at a much higher sustained rate
ATAPI (ATA Packet Interface)
– This standard was designed to support CD-ROM and tape drives
using IDE. It is inexpensive and works on the existing IDE
– ATAPI is actually a protocol allowing the ATA interface to carry
SCSI commands and responses, that are embedded in “Packets”
for delivery over ATA cable – thus the name.
– Supports commands such as “eject media” or to detect if storage
media is present or not
– ATAPI was adopted as part of ATA in INCITS 317-1998, AT
Attachment with Packet Interface Extension (ATA/ATAPI-4).
Current Terms
• The terms "integrated drive electronics" (IDE) and "enhanced IDE"
(EIDE) have come to be used interchangeably with ATA (now
Parallel ATA).
• Another common usage is to refer to the specification version by the
fastest mode supported.
– For example, ATA-4 supported Ultra DMA modes 0 through 3, the latter
providing a maximum transfer rate of 33 megabytes per second. ATA-4 drives
are thus sometimes called "UDMA-33" drives.
– Similarly, ATA-6 introduced a maximum transfer speed of 100 megabytes per
second, and some drives complying to this version of the standard are marketed
as "PATA/100" drives.
• PATA (Parallel ATA)
– With the introduction of Serial ATA around 2003, conventional ATA is
sometimes referred to as Parallel ATA (P-ATA), referring to the method in
which data travels over wires in this interface.
• Designed as an ATA successor utilizing a high speed serial
data cable.
• Advantages over P-ATA:
– Faster data transfer
– Ability to remove or add devices while operating (hot swapping)
– SATA uses only 4 signal lines; cables are more compact and
cheaper than for PATA (thinner cables that let air-cooling work
more efficiently)
– There is a special connector (eSATA) specified for external
devices and an optionally implemented provision for clips to hold
internal connectors firmly in place.
• The current SATA specification can support data transfer
rates as high as 3.0 Gbit/s per device.
SCSI Interface
SCSI (Small Computer Systems Interface) Bus - this bus system is a standard for connecting
peripheral devices to a computer system. Most manufacturers and computer systems support it.
The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most
commonly used for hard disks and tape drives, but it can connect a wide range of other devices, including
scanners and CD drives.
The main features are
Up to 8 or 16 devices can be attached to a single bus (with at least one host)
the connecting cable can be 6 meters long
devices can be externally mounted
more expensive than IDE
each device has a ROM which contains the devices parameters
each device has its own address and device driver
data transfer rates up to 10 Mbytes per second
The idea behind SCSI is the ability of the host system to accept a wide variety of devices
without special drivers or interfaces. Each device accepts a common core set of commands,
which helps make writing software drivers simple.
transfer speeds up to 40MB/s
Up to 32 devices and transfer speeds of 80MB/s
It also includes a proposed serial SCSI using 6 wires with data transfer rates up to 100MB/s
RAID Devices
• RAID stands for Redundant Arrays of Inexpensive Disks
• It is based on using a number of inexpensive disks to
provide a high capacity, high reliability and/or high
performance drive sub-system
• It stands out as an “umbrella” term for computer data
storage schemas that can divide and replicate data among
multiple HDDs.
• Two key design goals:
– increased data reliability
– Increased input/output performance
RAID System Purpose and Basics
• This array distributes data across several disks, but
the array is seen by the computer user and operating
system as one single disk.
• RAID can be set up to serve several different
purposes, having 6 different levels (0 throughout 5)
• Known as striping, provides improved speed at full capacity
• Disk striping divides the data into fixed equal size blocks,
and spreads it across all the drives in a fixed order.
Performance is good, because data is written across a series
of drives, the load is thus even on each drive.
• There is no redundancy of data, so it is NOT FAULT
TOLERANT. If any drive fails, all data is lost. In Windows,
the data consists of 64K blocks spread across a minimum of
2 (and maximum of 32) hard drives.
• Known as mirroring provides real time backup solution
• Data is written to two different disks at the same time, and
data can be read from either disk, based on device
• It is expensive (as both drives must be the same size), but is
FAULT TOLERANT because if a drive goes faulty, the
other mirrored drive can be used in its place
Is mirroring, but using a second
controller for the second drive. It is
designed to protect against controller
failures also.
RAID 2, RAID 3 and RAID 4
– This level uses multiple disks (similar to RAID 0), but a small part of the disks is set
aside to store error code (hamming code) details (i.e. the standard allows for 39 disks,
out of which only 32 are used to store information)
– Data is striped at the bit level. With the check data needing to be written on every disk
access, this can slow performance down. Windows does NOT support it.
– It is not widely used in practice
– This level uses multiple disks (similar to RAID 2), but uses a single disk to store the error
correction details.
– Data is striped at the byte level. Windows does NOT support it.
– This level uses multiple disks (similar to RAID 2), but uses a single disk to store the error
correction details. Data is striped in blocks. Non-synchronous disks are slow when it
comes to reading parity or data because of the possibility of contention. Windows does
NOT support it.
Raid 5
– This level uses multiple disks, but instead of each disk having it's parity information maintained on
it's own pack, the parity information is spread across to every other pack's parity area except the
pack that it is located on. Data is striped in blocks.
Parity data can be rebuilt if a single disk goes bad by comparing all of the other disks parity
data and doing a "who's missing" logic. This means that when a blank disk replaces a bad
disk, the missing data can be rebuilt.
When a disk fail occurs, the read performance is degraded by the need to generate the data by
use of the parity information stored on the other disks. Windows NT supports it.
In the diagram, the red blocks indicate the parity
associated with the corresponding data blocks written
across the drives. As you can see, the parity
information is spread evenly across all drives.
•If a data block cannot be read, all other data
blocks and the parity stripe is used to recreate the
missing data block
•If the parity stripe is lost, it can be recalculated
from the existing data set
Raid 5 Example
How it works:
Suppose we have a FIVE-drive array on which the four numbers 172, 106, 240 and 156 are stored. The
RAID controller stores each of the values in Binary format. When the four values have been written, the
RAID controller examines the SUM of each bit position:
stripes blocks of data across several disks
generates a code from this data
writes this code to another disk
in the event of a single failure, uses the data on the other drives and the calculated code to regenerate the missing
data block
If the sum of the bits for a particular bit position is an odd number, then the calculated bit for that position is a 1;
if the sum is an even number, then the calculated bit is a 0
Now assume that DISK 2 fails. It is not possible to see the value of 0 for bit 7 on disk 2. However, its
value can only be either a 0 or 1. By summing up the remaining value of the bit 7's for disks 1, 3 and 4,
we end up with 1 + ? + 1 + 1 = parity (odd). The missing value for bit 7 must be a 0.
The same procedure is applied for the remaining bits 6 - 0.
Value Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
Parity 1
Floppy Disk
• The floppy drive uses a thin circular ceramic disk for data
storage. The disk is coated with magnetic particles and is
flexible (hence the term floppy)
• The disk rotates at 360rpm. A read/write head makes
physical contact with the disk surface. Data is recorded as a
series of tracks subdivided into sectors
• Typical floppy is 3½ inch diameter, 1.44MB capacity, 80
tracks and 18 sectors per track
• The read/write head is moved by a stepper motor. The
stepper motor moves a small amount for each pulse applied
to it. A mechanical switch detects when the read/write head
is in the outermost position (track 00)
Optical Disks
• The data is accessed from the underside of the CD-ROM. According
to the initial specification devised by Philips and Sony, data is stored
in a single track which is embedded into a polycarbonate material
• The track starts at the inner of the disk, and ends at the outer radius of
the disk. The track length is thus one long tightly wound spiral, the
equivalent of over 3 miles long
• The track is comprised of indentations or bumps which are created on
a master disc. This master disc is then used to create the actual
CDROM's which are shipped to customers. This technique is similar
to the technique which was used to create audio records.
• The laser beam is shone onto the surface of the disk. Data is stored as
a sequence of surface variations called lands (flat surface) and pits
(bumps or holes). The light is scattered by the pits and reflected by the
lands. These two variations encode the binary 0's and 1's. The laser
beam is moved to follow the spiral track of the data stored on the disk,
detected the pits and lands as it follows the spiral track.
• A light sensitive diode picks up the reflected laser light from the
surface of the disk, and converts the light to digital data.
Optical Disk Technology
• The pit and lands vary in length. The speed of rotation of the CD is
adjusted so that the speed of the pits and lands passing above the laser
is always the same speed (slower when it is in the inner and faster on
the outer). This is called Constant Linear Velocity.
• The amount of time that occurs between a pit and a land is measured
and converted into digital data. Note that the information is stored
permanently as pits and lands on the CD-ROM. It cannot be changed
once the CD-ROM is mastered, this is why its called CD-ROM.
• Single speed CD-ROM has a transfer speed of 150KB/s
CD-ROM Formats
– Level 1 ISO-9660 defines names to be the familiar 8+3 convention that MS-DOS users have
suffered through for many years: eight characters for the name, a period, followed by three
characters for the file type, all in upper case. Many special characters (space, hyphen, tilde, equals,
and plus) are forbidden. There's also a file version number, separated from the name by a semicolon,
but it's often ignored.
– Level 2 ISO-9660 allows longer filenames and deeper directory structures (32 levels instead of 8),
but isn't usable on some systems, notably MS-DOS.
Rock Ridge
– The Rock Ridge extensions to ISO-9660 define a way for UNIX long mixed-case filenames and
symbolic links to be supported.
– Because it's still an ISO-9660 file-system, machines that don't support Rock Ridge can still read the
files; they just won't see the long forms of the names. UNIX systems and the Mac support Rock
Ridge. DOS and Windows currently don't support it.
– HFS is the Hierarchical File System, used by the Macintosh. This is used in place of the ISO-9660
file-system, making the disc unusable on systems that don't support HFS.
– Microsoft created their own standard called "Joliet". Windows currently support this. It's useful
when doing backups from Win onto a CD-R, because the disc is still readable as ISO-9660 but
shows the long filenames under Win.
CD Writeable
CD-R is writable CD-ROM. A special recorder drive is used that writes the image to the CDR. Normal CD's cannot be used to write, rather, special CD-R disks are used. These are
purchased blank. Drives can read standard CD-ROM's and Audio CD's.
The user creates an image of the CD on the hard disk of the computer using the provided
software. This image is then burnt onto the blank CD
CD-R allows users to archive their files onto permanent media. It is also handy to create
backup's of software and presentations, as well as creating disk images for later restoration in
the unlikely event of computer hard disk failure. Data recorded onto a CD-R cannot be
The storage capacity of CD-R is the same as that for CD-ROM, limited to 74 minutes of
audio or 650MB of data (more modern ones go up to 700MB)
– Some CD writers support what is known as Multiple Sessions, which allows CD's to be written to
more than once. About 640MB of data can be written to the CD, as some space is reserved for
timing and other information. In addition, for multiple session CD's, each session written has an
overhead of approximately 20MB per session
– These are CD-R's that can be rewritten, hence they are known as CD-RW. A special CD-RW drive
must be used to create them. Data written onto a CD-RW can be overwritten, unlike a standard CDR. Thus, they can be used just like a floppy or hard disk, with files being able to be moved, copied
and erased. The storage capacity of CD-RW is the same as that for CD-ROM, limited to 74 minutes
of audio or 650MB of data (more modern ones go up to 700MB)
DVD (Digital Versatile Disk)
• This new standard offers higher data storage and faster data transfers than existing
CD-ROM. Differences between DVD and CD-ROM
– standard DVD holds 4.7GB per layer, dual layer single sided DVD holds 8.5GB on a
single side
– error correction is more robust than CD-ROM
– every DVD is a bonded disc, composed of two 0.6mm substrates joined together
– smaller pits are used and tracks are closer together than CD-ROM
– DVD uses MPEG2 compression for high quality full screen pictures
– a single layer DVD can hold a two hour 13 minute movie, with full digital sound in three
– dual layer single sided DVD can hold a movie greater than 4 hours long
– DVD-ROM drives have a much faster transfer rate than CD-ROM drives
– DVD-ROM drives will read and play existing CD-ROM's and CDA disks
• DVD is ideal for companies that wish to deliver enhanced training that includes high
quality video. It has both the storage capacity and transfer speeds to support this
type of application. In addition, movie companies are producing full length movie
pictures on DVD, as MPEG-2 compression provides full screen high quality
definition with multiple language track capability.
Tape Storage Systems
Magnetic Reel and Cartridge Tape
Digital Audio Tape (DAT)
Digital Data Storage (DDS)
Digital Linear Tape (DLT)
Magnetic Reel and Cartridge Tape
• Tape storage is primarily used for archival storage. The recording medium is a thin
polyester tape between 0.38cm and 2.54cm wide, about .025mm thick and coated
with magnetic particles
• Data is recorded sequentially, one byte after the other, from the beginning of the
tape to its end. Access times for tape storage are much slower than for floppy
diskettes or hard disks.
• The read/write head is comprised of several tracks, 9 tracks being very common.
This means nine bits are recorded across the width of the tape simultaneously.
• Using nine tracks, one byte of data plus a parity bit is recorded at a time
(vertically). Characters are grouped together to form a record (often called a
block). Each record is separated from the next record by a blank inter-record gap
(IBG). A header field precedes each record. The IBG allows the software to
position the tape for recording or playing at specific record numbers.
• Physical markers are used to indicate the ends of the tape, and may be metallic foil,
clear plastic or software markers encoded on the tape. Software encoding uses
BOT (beginning of tape) and EOT (end of tape) indicators
Magnetic Reel and Cartridge Tape
• Magnetic reel systems use vacuum chambers to keep the tape
correctly tensioned at all times. Vacuum systems have a tape speed of
about 300cm/s. Reels can hold about 730m of tape, with densities of
4Kb/cm. The transfer rates are about 320Kb/s, but access times, due to
the sequential way in which data is stored, is very slow
• Tape cartridge systems used a cassette-based system to hold the tape
on two reels (similar to an audiocassette). The tape width varies in
size, common widths are ¼" and 8mm
• The most common form of cassette system used for large
storage archival is the DAT (Digital Audio Tape) system
• A DAT cassette is about half the size of a standard analog
cassette and is 3.81 millimeters (1/8") wide. Each cartridge
can hold several gigabytes of data
• Data transfer rates are faster than floppy (but slower than
hard disk)
• Data is recorded using a helical scan (similar to video
recorders), diagonally across the tapes surface
• Digital Data Storage (DDS)
– The DDS format for tape drives was developed in 1989, in order to meet the
need for high-capacity, compact tape backup for network servers and multi-user
computer systems. DDS is derived from the DAT standard and has been
extended to DDS-2 and DDS-3 as backup capacity requirements have increased
– DDS-1 (1989) supports 1.3 GB, DDS-2 (1991) supports 2GB. DDS-3 (1993)
supports 4 GB. DDS-1 and DDS-2 use 120-minute tapes while DDS-3 uses 125minute tape. The storage capacities mentioned above are without compression
– The DDS format has been extended to include data compression. This newer
format is called DDS-DC (Digital Data Storage - Data Compression), allowing
up to 8 GB of compressed data to be stored on a tape
• Digital Linear Tape (DLT)
– This standard was developed by Digital Equipment Corporation in 1991. It
supports 20GB in native format with 40GB in compressed format. Data transfer
rates are 1.5 to 3MB/s. DLT segments the tape into parallel horizontal tracks
similar to the tape systems discussed earlier. It records data by streaming the
tape across a stationary head. Unlike DDS and DAT, it does not use helical scan
I/O subsystem
• Overview
• Input devices
– Enable logic
• Output devices
– Load logic
• Bidirectional devices
• Wait states
• Interrupts
• Input/Output devices are very different (i.e.
keyboard and HDD performs totally different
functions, yet they are both part of the I/O
subsystem). The interfaces between the CPU and
I/O devices are very similar.
• Each I/O device is connected to the computer
system’s address, data and control buses. Each I/O
device includes I/O interface circuitry; this circuit
interacts with the buses and also with the I/O device
to transfer data.
Input devices
• When the values of the address/control buses are correct (the I/O
device is addressed) the buffers are enabled and the data passes on to
the data bus; the CPU reads this data
• When the conditions are not right, the logic bloc (enable logic) will
not enable the buffers; no data on the data bus
• The example shows an I/O device mapped at address 1111 0000 on a
computer with 8 bit address bus and RD and IO/M’ control signals
Output devices
• Since the output devices read data from the data bus, they don’t need
the buffers; data will be made available to all the devices
• Only the correctly decoded one (addressed) will read in the data
• Example shows an output device mapped at 11110000 address in a 8
bit address bus computer, with WR and IO/M’ signals
Bidirectional devices
• Bidirectional devices require actually two interfaces, one for input and
the other for output.
• Same gates could be used to generate the enable signal (for both the tri
state buffers and the registers); the difference between read and write
are made through the control signals (RD, WR)
• The example shows a combined interface for 1111 0000 address.
I/O Access Synchronization
• I/O devices are much slower than CPU and memory, thus
they can have timing problems when interacting with CPU
– i.e. a read operation from a HDD: it takes milliseconds for the
HDD to position its heads; in the mean time, CPU could have read
in invalid data, and fetched, decoded and executed thousands of
• I/O Access operations:
– Access the device (for read or write)
– Synchronize for completion (wait until the device is ready)
– Read/Write data
• Synchronization can be achieved by:
– Wait states
– Polling the peripheral
– Interrupts
Hardware Synchronization - Wait states
• Most CPUs have a control input signal called READY (or
similar) to deal with synchronization
– Normally the READY input is high; when the CPU outputs the
address of the I/O device and sets the proper control signals,
enabling the three-state buffers of the I/O device interface, the I/O
device sets READY signal to low;
– CPU will read this signal and continue to keep the I/O device
addressed until the I/O device will set READY back high again;
the CPU reads the data from the bus and continues its normal
• The extra clock cycles generated by having the READY
signal low are called wait states.
• CPUs can also use the READY signal to synchronize the
data transfer with memory subsystems.
Polled I/O
• Usually in the peripheral device we have
– a register where the processor is placing commands
• Command register
– input and output data registers where the data is made available
to/from the processor
• Data register
– a register that shows the status of the peripheral device
• Status register
• To communicate with a peripheral, the processor is doing
the following:
Polling the status register of the peripheral to see if it is ready
If ready, placing a command in the command register
Polling the status register until the peripheral is ready
Read or write data in the data register
Interrupts (1)
• The presented I/O interfaces are fine for small dedicated
computers, but they suffer from poor performance in larger
computer systems.
• In all (except in small dedicated systems) it is not acceptable
for the CPU to have to wait thousands of clock cycles
• Interrupts are used so the CPU can perform useful work
while waiting for much slower devices;
– They are signals that can be sent to the processor by either
hardware or software
– They can be used in implementing interrupt driven I/O in a much
more efficient way than polled I/O
– They are used to generate asynchronous events that occur at times
that the processor cannot predict
• i.e. a key pressed on a keyboard
Interrupts (2)
The CPU may output a request to an
I/O device and instead polling the
device or entering a wait state, the
CPU then continues executing
instructions, performing useful
When the I/O device is ready to
transfer data, it sends an interrupt
request to the CPU, via a dedicated
signal on the control bus.
The CPU acknowledges the
interrupt, by asserting an interrupt
acknowledge signal and reads the
data (or perform whatever action is
Interrupts can occur without the
processor initiating any operation
– i.e. like a procedure call initiated by
external devices rather than the
processor itself (reading a key)
Processing Interrupts (1)
• An interrupt triggers a sequence of events to occur
within the computer system;
– The processor stops what it was currently doing and
execute software to process the device’s request
– Acknowledge the interrupt and perform the action to
service the interrupt
• The software to service the interrupt, which is
written by the user, is called interrupt handler; a
handler is basically a subroutine
– It can be one handler routine for each interrupt
– Unified handler routine for all interrupts
Processing Interrupts (2)
• Sequence of events that typically happens in a
processor, when an interrupt occurs:
– Do nothing until the current instruction has been
– Identify the interrupt and get the interrupt handler
• For processors with unified interrupt handler, the source of the
interrupt is detected in the interrupt handler
– Save the PC (and other sensitive processor registers) and
invoke the handler routine (very much like a normal
routine execution)
Unified Interrupt Handling Example
Interrupt Request
for (i=0; i<Number_of_devices; i++)
if (device[i].done ==1) goto device_handler(i);
/* If here, then something went wrong*/
Various Controllers
I/O Devices
• Input devices
– Keyboard
– Mouse
• Output devices
– Printer
• Inkjet printers
• Laser Printers
– Monitor
Input Devices
• The following section discusses the functioning of a
number of input devices
• Input devices allow the user to input information
(data) into the computer for analysis or storage, as
well as give commands to the computer
• Examples of input devices are keyboards, scanners,
mice, bar-wands, and touch screens
• The keyboard is the most widely used means of entering
information into a computer.
• Pressing a key on the keyboard generates a code that
represents the character associated with the key
• The two main codes associated with computers are ASCII
(American Standard Code for Information Interchange) and
EBCDIC (Extended Binary Coded Decimal Interchange
– ASCII is a seven bit code, so characters generated by the keyboard
are made available as a seven bit code (a total of 128 different
– EBCDIC used by IBM and is not used anymore
• A typical keyboard has four basic types of keys:
Typing keys
Numeric keypad
Function keys
Control keys
• ASCII codes:
00-1F Control Codes
20-3F Punctuation and digits
40-5F Uppercase
60-7F Lowercase
• Control codes are used to control devices like printers and modems,
and to position the cursor. For instance, FF stands for form feed, and
HT stands for horizontal tab. Control codes are generated on a
standard keyboard by holding down the Ctrl key, and whilst it is
depressed, pressing another key
– For example, pressing the key combination CTRL-A generates the code
sequence SOH, and pressing CTRL-R generates the code sequence DC2
• Interface
– RS232, PS2 and USB
– Usually power, ground, clock and data signals
• Types
– QWERTY (used in PC)
– Microsoft ergonomic keyboard
Keyboard Technologies
• Keyboards use a variety of switch technologies.
• It is interesting to note that we generally like to have some
audible and tactile response to our typing on a keyboard.
– We want to hear the keys "click" as we type, and we want the keys
to feel firm and spring back quickly as we press them.
• Different technologies:
Contact switch keyboard
Ferrite core switch keyboard
Magnetic reed switch keyboard
Mercury contact switch keyboard
Contact switch keyboard
• Contact switch is the most common
form of keyboard switch
• Pressing the plunger causes the
contacts to touch (or separate), thus
providing a circuit closure (or
circuit open)
• Circuitry is often used to eliminate
the “bouncing” effect, else false
readings are obtained
Ferrite core switch
• A small ferrite core, mounted on the base of
the switch, has two wires (a drive and sense
wire) attached through its center
• A current pulse is applied to the drive wire,
which is sensed on the sense wire
• The ferrite core is held in a state of saturation
by a small magnet attached to the plunger.
This prevents the current pulse from being
transferred to the sense wire
• When the plunger is pressed, the magnet
moves away from the ferrite core, bringing the
core out of saturation and allowing the sense
wire to pick up the current pulse on the drive
• This type of switch is non-contacting, zero
bounce and has a long life
Other contact switch keyboards
• Magnetic reed switch
– A reed switch comprises a pair of contacts
enclosed in sealed glass envelope
– The contacts are forced together or apart by
applying an external magnetic field. The
magnetic field can be generated by a small
permanent magnet attached to the plunger
• Mercury contact switch
– Two contacts are enclosed in a small
flexible tube, which is filled with a small
amount of mercury
– When the plunger is pressed, the flexible
tube is compressed and causes the mercury
to short with the two contacts, completing
the circuit.
Keyboard encoders
• The keyboard encoder
controls the keyboard
switches and generates a
unique code for each key
• It is an integrated circuit
or small processor, and
handles the key switches in
a matrix of rows and
• The encoder has the task of detecting when a key has been depressed,
identifying the key, and generating the code for the key
• The encoder enables each row in turn, and checks for a change in state
in the column lines. If there is a change in state, this means a key has
been depressed. The row and column values are used to look up a
table which returns the key value
Keyboard encoders
The key matrix is the grid of circuits underneath the keys. In all keyboards each circuit is broken at the
point below a specific key.
Pressing the key bridges the gap in the circuit, allowing a tiny amount of current to flow through. The
processor monitors the key matrix for signs of continuity at any point on the grid.
When it finds a circuit that is closed, it compares the location of that circuit on the key matrix to the
character map in its ROM. The character map is basically a comparison chart for the processor that tells
it what the key at x,y coordinates in the key matrix represents.
If more than one key is pressed at the same time, the processor checks to see if that combination of keys
has a designation in the character map. For example, pressing the a key by itself would result in a small
letter "a" being sent to the computer. If you press and hold down the Shift key while pressing the a key,
the processor compares that combination with the character map and produces a capital letter "A.“
The character map in the keyboard can be superseded by a different character map provided by the
computer. This is done quite often in languages whose characters do not have English equivalents. Also,
there are utilities for changing the character map from the traditional QWERTY to DVORAK or another
custom version
Keyboard summary
• The standard PC has a QWERTY keyboard which
uses ASCII codes.
• Control codes are used to control devices like
printers, modems and terminals and are generated
using the CTRL key
• A keyboard encoder is a device which handles the
key presses and converts them to an ASCII code
• The main goal of any mouse is to translate the motion of your hand
into signals that the computer can use.
• Traditional mice do the translation using five components:
– A ball inside the mouse touches the desktop and rolls when the mouse moves
– Two rollers inside the mouse touch the ball. One of the rollers is oriented so
that it detects motion in the X direction, and the other is oriented 90 degrees to
the first roller so it detects motion in the Y direction. When the ball rotates, one
or both of these rollers rotate as well
• Components:
– The rollers each connect to a shaft, and the shaft spins a disk with holes in it. When a
roller rolls, its shaft and disk spin
– On either side of the disk there is an infrared LED and an infrared sensor. The holes in
the disk break the beam of light coming from the LED so that the infrared sensor sees
pulses of light. The rate of the pulsing is directly related to the speed of the mouse and
the distance it travels
– An on-board processor chip reads the pulses from the infrared sensors and turns them
into binary data that the computer can understand. The chip sends the binary data to the
computer through the mouse's cord
Mouse data interface
Whenever the mouse moves or the user clicks a button, the mouse
sends 3 bytes of data to the computer.
The first byte's 8 bits contain:
Left button state (0 = off, 1 = on)
Right button state (0 = off, 1 = on)
X direction (positive or negative)
Y direction
X overflow (the mouse moved more than 255 pulses in 1/40th of a second)
Y overflow
The next 2 bytes contain the X and Y movement values, respectively.
These 2 bytes contain the number of pulses that have been detected in
the X and Y direction since the last packet was sent. The data is sent
from the mouse to the computer serially on the data line, with the clock
line pulsing to tell the computer where each bit starts and stops.
Eleven bits are sent for each byte (1 start bit, 8 data bits, 1 parity bit
and 1 stop bit). The PS/2 mouse sends on the order of 1,200 bits per
second. That allows it to report mouse position to the computer at a
maximum rate of about 40 reports per second. If you are moving the
mouse very rapidly, the mouse may travel an inch or more in onefortieth of a second. This is why there is a byte allocated for X and Y
motion in the data protocol.
1. Unused
2. +5 volts (to
power the
chip and
3. Unused
4. Clock
5. Ground
6. Data
• There are several major printer technologies available. These
technologies can be broken down into two main categories with
several types in each:
• Impact - These printers have a mechanism that touches the paper in
order to create an image:
– Dot matrix printers use a series of small pins to strike a ribbon coated with ink,
causing the ink to transfer to the paper at the point of impact
– Character printers are basically computerized typewriters. They have a ball or
series of bars with actual characters (letters and numbers) embossed on the
surface. The appropriate character is struck against the ink ribbon, transferring
the character's image to the paper. Character printers are fast and sharp for basic
text, but very limited for other use.
• Non-impact - These printers do not touch the paper when creating an
image. Inkjet printers are part of this group, which includes:
– Inkjet printers, use a series of nozzles to spray drops of ink directly on the paper
– Laser printers, use dry ink (toner), static electricity, and heat to place and bond
the ink onto the paper
Inkjet Printer Components
• Print head assembly
– Print head - The core of an inkjet printer, the print head contains a series of nozzles that
are used to spray drops of ink
• Ink cartridges
– Depending on the manufacturer and model of the printer, ink cartridges come in various
• separate black and color cartridges
• color and black in a single cartridge or even a cartridge for each ink color. The cartridges of
some inkjet printers include the print head itself
• Print head stepper motor - A stepper motor moves the print head assembly (print
head and ink cartridges) back and forth across the paper
– Some printers have another stepper motor to park the print head assembly when the
printer is not in use. Parking means that the print head assembly is restricted from
accidentally moving, like a parking break on a car
• Belt - A belt is used to attach the print head assembly to the stepper motor.
• Stabilizer bar - The print head assembly uses a stabilizer bar to ensure that
movement is precise and controlled
Inkjet Printer Components
• Paper feed assembly
– Paper tray/feeder
• Most inkjet printers have a tray that you load the paper into.
• Some printers dispense with the standard tray for a feeder instead. The feeder
typically snaps open at an angle on the back of the printer, allowing you to place
paper in it. Feeders generally do not hold as much paper as a traditional paper tray.
– Rollers - A set of rollers pull the paper in from the tray or feeder and advance
the paper when the print head assembly is ready for another pass
– Paper feed stepper motor - This stepper motor powers the rollers to move the
paper in the exact increment needed to ensure a continuous image is printed
• Control circuitry - A small but sophisticated amount of circuitry is
built into the printer to control all the mechanical aspects of operation,
as well as decode the information sent to the printer from the
• Interface –parallel port, USB (Universal Serial Bus) or sometimes
network technologies (wired or wireless)
Inkjet Printer Components
• Left – print head, belt and paper feed mechanisms
• Right – control circuitry
Inkjet Printers Technology
• Thermal bubble - Used by manufacturers such as Canon,
this method is commonly referred to as bubble jet
– tiny resistors create heat, and this heat vaporizes ink to create a
bubble. As the bubble expands, some of the ink is pushed out of a
nozzle onto the paper. When the bubble "pops" (collapses), a
vacuum is created. This pulls more ink into the print head from the
– A typical bubble jet print head has 300 or 600 tiny nozzles, and all
of them can fire a droplet simultaneously
• Piezoelectric – Epson patent, this technology uses piezo
– A crystal is located at the back of the ink reservoir of each nozzle.
The crystal receives a tiny electric charge that causes it to vibrate.
When the crystal vibrates inward, expanding, it forces a tiny
amount of ink out of the nozzle. When it vibrates out, it pulls some
more ink from the reservoir to replace the ink sprayed out
Inkjet Printer Technology
Piezo Transducer
Heating element
To reservoir
To reservoir
Piezoelectric head
Bubble jet head
Laser Printer
• The primary principle at work in a laser printer is static
electricity, the same energy that makes clothes in the dryer
stick together or a lightning bolt travel from a thundercloud
to the ground.
• Static electricity is simply an electrical charge built up on an
insulated object, such as a balloon or your body. Since
oppositely charged atoms are attracted to each other, objects
with opposite static electricity fields cling together.
• A laser printer uses this phenomenon as a sort of "temporary
glue." The core component of this system is the
photoreceptor, typically a revolving drum or cylinder. This
drum assembly is made out of highly photoconductive
material that is discharged by light photons.
Laser Printer
is is
drum rolls
the over
a drum
is As
a the
with passes
these the
a charged
a negative
with roller
-a fine,
it has
of aThe
the is
the same.)
tray, and
Asis the
the across
so theitself,
to discharge
why pages
at the
of aletters
of toner
on athe
to discharge
the The
-that is,
up the
on aimage.
of the
up with
charge corona wire, which reapplies the positive charge
written in powder.
Laser Printer Controller
• Before a laser printer can do anything else, it needs to receive the page data and
figure out how it's going to put everything on the paper. This is the job of the
printer controller.
• The printer controller is the laser printer's main onboard computer. It talks to the
host computer through a communications port, such as a parallel port or USB port.
At the start of the printing job, the laser printer establishes with the host computer
how they will exchange data. The controller may have to start and stop the host
computer periodically to process the information it has received
• In an office, a laser printer will probably be connected to several separate host
computers, so multiple users can print documents from their machine. The controller
handles each one separately, but may be carrying on many "conversations"
concurrently. This ability to handle several jobs at once is one of the reasons why
laser printers are so popular
• For the printer controller and the host computer to communicate, they need to speak
the same page description language. In earlier printers, the computer sent a special
sort of text file and a simple code giving the printer some basic formatting
information. Since these early printers had only a few fonts, this was a very
straightforward process. Today there are hundreds of different fonts to choose from,
as well as complex graphics. To handle all of this diverse information, the printer
needs to speak a more advanced language
Laser Printer Controller
The primary printer languages these days are Hewlett Packard's Printer Command
Language (PCL) and Adobe's Postscript. Both of these languages describe the page in
vector form
– that is, as mathematical values of geometric shapes, rather than as a series of dots (a bitmap image).
The printer itself takes the vector images and converts them into a bitmap page. With this
system, the printer can receive elaborate, complex pages, featuring any sort of font or image.
Also, since the printer creates the bitmap image itself, it can use its maximum printer
Some printers use a graphical device interface (GDI) format instead of a standard PCL. In
this system, the host computer creates the dot array itself, so the controller doesn't have to
process anything
– it just sends the dot instructions on to the laser.
But in most laser printers, the controller must organize all of the data it receives from the host
computer. This includes all of the commands that tell the printer what to do
what paper to use, how to format the page, how to handle the font, etc. For the controller to work
with this data, it has to get it in the right order.
Once the data is structured, the controller begins putting the page together. It sets the text
margins, arranges the words and places any graphics. When the page is arranged, the raster
image processor (RIP) takes the page data, either as a whole or piece by piece, and breaks it
down into an array of tiny dots. The printer needs the page in this form so the laser can write
it out on the photoreceptor drum.
In most laser printers, the controller saves all print-job data in its own memory. This lets the
controller put different printing jobs into a queue so it can work through them one at a time.
It also saves time when printing multiple copies of a document
Laser Printer Assembly
• The laser part of a laser printer is made out of:
– A laser
– A movable mirror
– A lens
The laser receives the page data (the tiny dots that make up the text
and images) one horizontal line at a time. As the beam moves across
the drum, the laser emits a pulse of light for every dot to be printed,
and no pulse for every dot of empty space. The laser doesn't actually
move the beam itself. It bounces the beam off a movable mirror
instead. As the mirror moves, it shines the beam through a series of
lenses. This system compensates for the image distortion caused by
the varying distance between the mirror and points along the drum.
• The laser assembly moves in only one plane, horizontally. After each
horizontal scan, the printer moves the photoreceptor drum up a notch
so the laser assembly can draw the next line. A small print-engine
computer synchronizes all of this perfectly, even at high speeds.
Advantages of Laser Printers
• The main advantages of laser printers are speed, precision and
economy. A laser can move very quickly, so it can "write" with much
greater speed than an ink jet. And because the laser beam has an
unvarying diameter, it can draw more precisely, without spilling any
excess ink. Laser printers tend to be more expensive than inkjet
printers, but it doesn't cost as much to keep them running
– toner powder is cheap and lasts a long time, while you can use up expensive ink
cartridges very quickly. This is why offices typically use a laser printer.
– When they were first introduced, laser printers were too expensive to use as a
personal printer. Since that time, however, laser printers have gotten much more
affordable. Now you can pick up a basic model for just a little bit more than a
nice inkjet printer.
• As technology advances, laser-printer prices should continue to drop,
while performance improves. We'll also see a number of innovative
design variations, and possibly brand-new applications of electrostatic
printing. Many inventors believe we've only scratched the surface of
what we can do with simple static electricity!
Other Printers
• Solid ink printers contain sticks of wax-like ink that are melted and applied to the
paper. The ink then hardens in place.
• Dye sublimation printers have a long roll of transparent film that resembles sheets
of red-, blue-, yellow- and gray-colored cellophane stuck together end to end.
Embedded in this film are solid dyes corresponding to the four basic colors used in
printing: cyan, magenta, yellow and black (CMYK). The print head uses a heating
element that varies in temperature, depending on the amount of a particular color
that needs to be applied. The dyes vaporize and permeate the glossy surface of the
paper before they return to solid form. The printer does a complete pass over the
paper for each of the basic colors, gradually building the image.
• Thermal wax printers are something of a hybrid of dye-sublimation and solid ink
technologies. They use a ribbon with alternating CMYK color bands. The ribbon
passes in front of a print head that has a series of tiny heated pins. The pins cause the
wax to melt and adhere to the paper, where it hardens in place.
• Thermal auto chrome printers have the color in the paper instead of in the printer.
There are three layers (cyan, magenta and yellow) in the paper, and each layer is
activated by the application of a specific amount of heat. The print head has a
heating element that can vary in temperature. The print head passes over the paper
three times, providing the appropriate temperature for each color layer as needed
The Monitor
• Often referred to as a monitor when packaged in a separate case, the display is the
most-used output device on a computer. The display provides instant feedback by
showing you text and graphic images as you work or play.
• Display technologies:
– Desktops were usually using Cathode Ray Tube (CRT) display.
– Portable computing devices such as laptops incorporate Liquid Crystal Dispay (LCD),
light-emitting diode (LED), gas plasma or other image projection technology.
• Because of their slimmer design and smaller energy consumption, monitors
using LCD technologies are beginning to replace the venerable CRT on
many desktops.
• Main characteristics of a monitor are:
– Display technology - Currently, the choices are mainly between CRT and LCD
technologies (more LCD than CRT).
– Viewable area (usually measured diagonally)
– Aspect ratio and orientation (landscape or portrait)
– Maximum resolution
– Dot pitch
– Refresh rate
– Color depth
– Amount of power consumption
Display Technology
Displays have come a long way since the blinking green monitors in text-based computer
systems of the 1970s.
In 1981, IBM introduced the Color Graphics Adapter (CGA), which was capable of rendering
four colors, and had a maximum resolution of 320 pixels horizontally by 200 pixels
IBM introduced the Enhanced Graphics Adapter (EGA) display in 1984. EGA allowed up to
16 different colors and increased the resolution to 640x350 pixels, improving the appearance
of the display and making it easier to read text.
In 1987, IBM introduced the Video Graphics Array (VGA) display system. Most computers
today support the VGA standard and many VGA monitors are still in use (640x480)
IBM introduced the Extended Graphics Array (XGA) display in 1990, offering 800x600 pixel
resolution in true color (16.8 million colors) and 1,024x768 resolution in 65,536 colors.
Most displays sold today support the Ultra Extended Graphics Array (UXGA) standard.
UXGA can support a palette of up to 16.8 million colors and resolutions of up to 1600x1200
pixels, depending on the video memory of the graphics card in your computer.
A typical UXGA adapter takes the digital data sent by application programs, stores it in video
random access memory (VRAM) or some equivalent, and uses a digital-to-analog converter
(DAC) to convert it to analog data for the display scanning mechanism. Once it is in analog
form, the information is sent to the monitor through a VGA cable.
Display Characteristics
• Viewable area
– Aspect ratio: typical 4:3 or 16:9
– Screen size: 15, 17, 19, 21, 22, 24, 26, etc…
• Resolution
– refers to the number of individual dots, known as pixels, contained on a display.
Resolution is expressed by identifying the number of pixels on the horizontal axis (rows)
and the number on the vertical axis (columns), such as 640x480. The monitor's viewable
area, refresh rate and dot pitch all directly affect the maximum resolution a monitor can
• Dot Pitch
– is the measure of how much space there is between a display's pixels. When considering
dot pitch, remember that smaller is better. Packing the pixels closer together is
fundamental to achieving higher resolutions
• Refresh Rate
– In monitors based on CRT, is the number of times that the image on the display is drawn
each second. If your CRT monitor has a refresh rate of 72 Hertz (Hz), then it cycles
through all the pixels from top to bottom 72 times a second. Refresh rates are very
important because they control flicker, and you want the refresh rate as high as possible.
Too few cycles per second and you will notice a flickering, which can lead to headaches
and eye strain.
Display Characteristics
• Color depth
– The combination of the display modes supported by your graphics adapter and
the color capability of your monitor determine how many colors can be
• For example, a display that can operate in SuperVGA (SVGA) mode can display up
to 16,777,216 (usually rounded to 16.8 million) colors because it can process a 24bit-long description of a pixel. The number of bits used to describe a pixel is known
as its bit depth.
– With a 24-bit bit depth, 8 bits are dedicated to each of the three additive primary
colors (red, green and blue).
• This bit depth is also called true color because it can produce the 10,000,000 colors
discernible to the human eye, while a 16-bit display is only capable of producing
65,536 colors. Displays jumped from 16-bit color to 24-bit color because working in
8-bit increments makes things a whole lot easier for developers and programmers.
• Power consumption
– varies greatly with different technologies. CRTs are somewhat power-hungry, at
about 110 watts for a typical display, especially when compared to LCDs, which
average between 30 and 40 watts.
the CRT consists of a vacuum tube
enclosed in glass. At the end of the tube is
an electron gun (which generates an
electron beam), focusing and deflection
assembly. At the other end of the tube is
the screen surface which is coated in
phosphorous which emits a dot of light
when struck by the electronic beam.
the electron gun emits a high stream of
the electron beam is deflected by signals
applied to the deflection assembly.
when the electron beam strikes the
phosphorous coating on the inner surface
of the screen, light is emitted.
the electron beam is swept across the
screen from left to right in horizontal lines,
from top to bottom, in a pattern called a
the screen image is repeated at the refresh
rate, as the image dissipates quickly.
color systems use three electron beams,
one each for red, blue and green.
in color systems, three different phosphors
are used which match each of the three
beams. This collection of three phosphors
is called a triad.
a shadow mask is used to prevent the
beams from striking the wrong phosphors
Interlaced Displays
the screen picture is made up of two full passes of the electron beam from top to bottom
the first pass builds up one screen doing only odd line numbers
the second pass completes the screen doing all the even line numbers
the technique relies upon the persistence of the image on the screen so that the human eye blends
both passes together. Persistence is a measure of how long the image remains on the screen before it
fades away. This is because phosphor only emits light when struck by electrons, when it stops being
struck, it stops emitting light.
– this technique is commonly used for Television
Non-Interlaced Displays
– In non-interlaced displays, the screen picture is made from one single pass of the electron beam
from top to bottom.
• “Computer Systems Organization & Architecture”,
John D. Carpinelli, ISBN: 0-201-61253-4
• “Operating Systems – A modern perspective”, Garry
Nutt, ISBN 0-8053-1295-1

Computing Systems Organization