Professional Documents
Culture Documents
Pipelining is a technique of decomposing a sequential process into of techniques that are used to provide simultaneous data-processing tasks for
suboperations, with each subprocess being executed in a special dedicated the purpose of increasing the computational speed of a computer system.
segment that operates concurrently with all other segments. The overlapping The purpose of parallel processing is to speed up the computer processing
of computation is made possible by associating a register with each segment in capability and increase its throughput, that is, the amount of processing that
the pipeline. The registers provide isolation between each segment so that can be accomplished during a given interval of time. The amount of hardware
each can operate on distinct data simultaneously. Perhaps the simplest way increases with parallel processing, and with it, the cost of the system increases.
of viewing the pipeline structure is to imagine that each segment consists of an Parallel processing can be viewed from various levels of complexity. o At the
input register followed by a combinational circuit. o The register holds the lowest level, we distinguish between parallel and serial operations by the type
data. o The combinational circuit performs the suboperation in the particular of registers used. e.g. shift registers and registers with parallel load o At a
segment. A clock is applied to all registers after enough time has elapsed to higher level, it can be achieved by having a multiplicity of functional units that
perform all segment activity. The pipeline organization will be demonstrated perform identical or different operations simultaneously. Fig. 4-5 shows one
by means of a simple example. o To perform the combined multiply and add possible way of separating the execution unit into eight functional units
operations with a stream of numbers Ai * Bi + Ci for i = 1, 2, 3, …, 7 operating in parallel. o A multifunctional organization is usually associated with
a complex control unit to coordinate all the activities among the various
components.
Programmed I/O
Programmed I/O operations are the result of I/O instructions written in the
computer program. Each data item transfer is initiated by an instruction in the
program. Usually, the transfer is to and from a CPU register and peripheral.
Other instructions are needed to transfer the data to and from CPU and
memory. Transferring data under program control requires constant
monitoring of the peripheral by the CPU. Once a data transfer is initiated, the
CPU is required to monitor the interface to see when a transfer can again be
made. It is up to the programmed instructions executed in the CPU to keep
close tabs on everything that is taking place in the interface unit and the I/O
Interface communicates with CPU through data bus Chip select (CS) and device. In programmed I/O method, I/O device does not have direct access to
Register select (RS) inputs determine the address assigned to the interface. memory. Transfer from peripheral to memory/ CPU requires the execution of
I/O read and write are two control lines that specify input and output. 4 several I/O instructions by CPU.
registers directly communicates with the I/O device attached to the interface.
Address bus selects the interface unit through CS and RS1 & RS0.
Particular interface is selected by the circuit (decoder) enabling CS. RS1 and
RS0 select one of 4 registers. Diagram shows data transfer from I/O device to CPU. Device transfers bytes of
data one at a time as they are available. When a byte of data is available, the
Interrupt-initiated I/O device places it in the I/O bus and enables its data valid line. The interface
Since polling (constantly monitoring the flag F) takes valuable CPU time, accepts the byte into its data register and enables the data accepted line. The
alternative for CPU is to let the interface inform the computer when it is ready interface sets a bit in the status register that we will refer to as an F or "flag"
to transfer data. This mode of transfer uses the interrupt facility. While the bit.
CPU is running a program, it does not check the flag. However, when the flag is Now for programmed I/O, a program is written for the computer to check the
set, the computer is momentarily interrupted from proceeding with the flag bit to determine if I/O device has put byte of data in data register of
current program and is informed of the fact that the flag has been set. The CPU interface.
deviates from what it is doing to take care of the input or output transfer. After
the transfer is completed, the computer returns to the previous program to
continue what it was doing before the interrupt. The CPU responds to the
interrupt signal by storing the return address from the program counter into a
memory stack and then control branches to a service routine that processes
the required I/O transfer.
Memory Types •
Sequential Access Memory (SAM): In computing, SAM is a class of data
storage devices that read their data in sequence. This is in contrast to random
Bit-oriented protocol It allows the transmission of serial bit stream of any access memory (RAM) where data can be accessed in any order. Sequential
length without the implication of character boundaries. Messages are access devices are usually a form of magnetic memory. Magnetic sequential
organized in a frame. In addition to the information field, a frame contains access memory is typically used for secondary storage in general-purpose
address, control and error-checking fields. A frame starts with a 8-bit flag computers due to their higher density at lower cost compared to RAM, as well
01111110 followed by an address and control sequence. The information field as resistance to wear and non-volatility. Examples of SAM devices still in use
can be of any length. The frame check field CRC (cyclic redundancy check) include hard disks, CD-ROMs and magnetic tapes. Historically, drum memory
detects errors in transmission. The ending flag represents the receiving station. has also been used.
• Random Access Memory (RAM): RAM is a form of computer data storage.
Today, it takes the form of integrated circuits that allow stored data to be
accessed in any order with a worst case performance of constant time. Strictly
speaking, modern types of DRAM are therefore not random access, as data is
read in bursts, although the name DRAM / RAM has stuck. However, many
Virtual Memory A virtual memory system attempts to optimize the use of types of SRAM, ROM and NOR flash are still random access even in a strict
the main memory (the higher speed portion) with the hard disk (the lower sense. RAM is often associated with volatile types of memory, where its stored
speed portion). In effect, virtual memory is a technique for using the secondary information is lost if the power is removed. The first RAM modules to come
storage to extend the apparent limited size of the physical memory beyond its into the market were created in 1951 and were sold until the late 1960s and
actual physical size. It is usually the case that the available physical memory early 1970s.
space will not be enough to host all the parts of a given active program.
Virtual memory gives programmers the illusion that they have a very large Address Mapping using Pages
memory and provides mechanism for dynamically translating program- Blocks (or page frame): The physical memory is broken down into groups of
generated addresses into correct main memory locations. The translation or equal size called blocks, which may range from 64 to 4096 words each. Pages:
mapping is handled automatically by the hardware by means of a mapping refers to a portion of subdivided virtual memory having same size as blocks i.e.
table. groups of address space
Where Base address field gives the base of the page table address in
segmented-page organization Length field gives the segment size (in number
of pages) The protection field specifies access rights available to a particular
segment. The protection information is set into the descriptor by the master
control program of the OS. Some of the access rights are: o Full read and write
privileges o Read only (Write protection) o Execute only (Program protection) o
System only (OS protection