WELCOME

WELCOME !!!
Powered By Blogger

how do you find my blog?

comment

hello

Search This Blog

Pages

Friday, May 14, 2010

COMPUTER SYSTEMS ORGANIZATION CHAP. 2
Monitor
Keyboard Floppy
disk drive
Hard
disk drive
Hard
disk
controller
Floppy
disk
controller
Keyboard
controller
Video
CPU Memory controller
Bus
Figure 2-2. Logical structure of a simple personal computer.
The job of a controller is to control its I/O device and handle bus access for it.
When a program wants data from the disk for example, it gives a command to the
disk controller, which then issues seeks and other commands to the drive. When
the proper track and sector have been located, the drive begins outputting the data
as a serial bit stream to the controller. It is the job of the controller to break the
bit stream up into units, and write each unit into memory, as it is assembled. A
unit is typically one or more words. A controller that reads or writes data to or
from memory without CPU intervention is said to be performing Direct Memory
Access, better known by its acronym DMA. When the transfer is completed, the
controller normally causes an interrupt, forcing the CPU to suspend running its
current program and start running a special procedure, called an interrupt
handler, to check for errors, take any special action needed, and inform the
operating system that the I/O is now finished. When the interrupt handler is finished,
the CPU continues with the program that was suspended when the interrupt
occurred.
The bus is not only used by the I/O controllers, but also by the CPU for fetching
instructions and data. What happens if the CPU and an I/O controller want to
use the bus at the same time? The answer is that a chip called a bus arbiter
decides who goes next. In general, I/O devices are given preference over the
CPU, because disks and other moving devices cannot be stopped, and forcing
them to wait would result in lost data. When no I/O is in progress, the CPU can
have all the bus cycles for itself to reference memory. However, when some I/O
device is also running, that device will request and be granted the bus when it
needs it. This process is called cycle stealing and it slows down the computer.
This design worked fine for the first personal computers, since all the components
were roughly in balance. However, as the CPUs, memories, and I/O devices
got faster, a problem arose: the bus could no longer handle the load
presented. On a closed system, such as an engineering workstation, the

No comments:

Post a Comment