Unit-1-CA-Part 1
Unit-1-CA-Part 1
IAS COMPUTER
FIRST GENERATION
• The IAS machine was the first
electronic computer built at the Institute for
Advanced Study (IAS) in Princeton, New
Jersey. It is sometimes called the von Neumann
machine, since the paper describing its design
was by John von Neumann, a mathematics
professor.
• The computer was built under his direction,
starting in 1946 and finished in 1951. The general
organization is called von Neumann
architecture. The computer is in the collection
of the Smithsonian National Museum of
American History but is not currently on display.
IAS COMPUTER
IAS COMPUTER
• The IAS machine was a binary computer with a 40-bit word, storing two 20-bit
instructions in each word. The memory was 1,024 words (5 kilobytes in modern
terminology). Negative numbers were represented in two's complement format.
• It had two general-purpose registers available: the Accumulator (AC) and
Multiplier/Quotient (MQ). It used 1,700 vacuum tubes. The memory was originally
designed for about 2,300 RCA Selectron vacuum tubes. It weighed about 1,000 pounds
(450 kg).
• It was an asynchronous machine, meaning that there was no central clock regulating the
timing of the instructions. One instruction started executing when the previous one
finished. The addition time was 62 microseconds and the multiplication time was 713
microseconds.
IAS COMPUTER
IAS COMPUTER
• High-level languages were also developed in the 1950s for business applications.
These are characterized by instructions that resemble English statements and operate
on textual as well as numerical data.
• One of the earliest such languages was Common Business Oriented Language
(COBOL), which was defined in 1959 by a group representing computer users and
manufacturers and sponsored by the U.S. Department of Defense. Like FORTRAN.
COBOL has continued (in various revised forms) to be among the most widely used
programming languages. FORTRAN and COBOL are the forerunners of other
important high-level languages, including Basic, Pascal, C, and Java, the latter dating from
the mid-1990s.
A NONSTANDARD ARCHITECTURE: STACK COMPUTERS.
• PUSH • POP
• Step 1 : Increment SP • Step 1 : Pop the data from the memory
• Step 2 : Push the data to the memory pointed by SP
pointed by SP and stay • Step 2 : Decrement SP and stay
A NONSTANDARD ARCHITECTURE: STACK COMPUTERS.
• z := w + 3 X (x-y).
POLISH NOTATION
• VLSI technology has evolved steadily from ICs containing just a few transistors (SSI, MSL ) to
those containing thousands (LSI) or millions of transistors; the latter case is termed very
large-scale integration or VLSI. The impact of VLSI on computer design and application has
been profound. VLSI allows manufacturers to fabricate a CPU , main
memory, or even all the electronic circuits of a computer, on a single
IC that can be mass-produced at very low cost.
EVOLUTION OF THE DENSITY OF COMMERCIAL ICS.
MICR0PROCESSOR
• The first microprocessor, Intel's 4004, which was introduced in 1971, was designed to
process 4-bit words.
• Intel successfully marketed the 4004 as a programmable controller to replace standard,
IC technology improved and chip
non-programmable logic circuits. As
density increased, the complexity and performance of one-chip
microprocessors increased steadily, as reflected in the increase in CPU
word size to 8 and then 16 bits by the mid-1980s. By 1990 manufacturers could
fabricate the entire CPU of a System/360-class computer, along with part of its
main memory, on a single IC. The combination of a CPU, memory, and IO circuits in one
IC (or a small number of ICs) is called a microcomputer.
INTEL CORPORATION
IC FAMILIES
• Two of the most important of these technologies are bipolar and unipolar; Both bipolar
and MOS circuits have transistors as their basic elements!
• Bipolar circuits use both negative carriers (electrons) and positive carriers (holes)--BJT.
MOS circuits, on the other hand, use only one type of charge carrier: positive in the case
of P-type MOS (PMOS) and negative in the case of N-type MOS (NMOS).
• An MOS family that efficiently combines PMOS and NMOS transistors in the same IC is
complementary MOS or CMOS. This technology came into widespread use in the 1980s
and has been the technology of choice for microprocessors and other VLSI ICs since
combination of high density, high speed, and very
then because of its
low power consumption.
ZERO DETECTOR CIRCUIT
CMOS – ZERO DETECTOR CIRCUIT
WHEN ALL INPUTS ARE ZERO, OUTPUT IS ONE
PROCESSOR ARCHITECTURE
• By 1980 computers were classified into three main
types: mainframe computers, minicomputers, and
microcomputers.
• The term mainframe was applied to the traditional
"large" computer system, often containing thousands of
ICs and costing millions of dollars. It typically served as
the central computing facility for an organization such as
a university, a factory, or a bank. Mainframes were then
room-sized machines placed in special computer centers
and not directly accessible to the average user. EX: IBM
zSeries, System z9.
PROCESSOR ARCHITECTURE
• RISC
• Store/load are the only memory accesses
• Data manipulation instructions are register-to-
register
• Simple addressing mode
• Instruction formats are all the same length
• Instructions perform elementary operations
• One instruction per cycle (simple instruction)
• Examples: SUN’s SPARC, PowerPC, Microchip PIC
CPUs, and RISC-V
PROPERTIES OF CISC
(COMPLEX INSTRUCTION SET COMPUTER)
• CISC
• Memory access is available to most types of instruction
• Many addressing mode
• Instruction formats are of different lengths
• Instructions perform both elementary and complex
operations
• Multiple cycle for executing one instruction (complex
instruction)
• Exampes :: VAX,AMD, Intel x86, and the System/360
• MSUB Wd, Wn, Wm, Wa
Multiply-Subtract --- multiplies two register values (Wn – multiplicand ,
Wm- multiplier) , subtracts the product from a third register value (Wa--
minuent) , and writes the result to the destination register (Wd).
RISC VS. CISC (EX…)
RISC CISC
LD R4, (R1) ADD (R3), (R2), (R1)
LD R5, (R2)
ADD R6, R4, R5
ST (R3), R6
• Addition of two operands from memory, with result written in
memory, in RISC and CISC architectures
• Having an operation broken into small instructions (RISC) allows the
compiler to optimize the code
• i.e. between the two LD instructions (memory is slow) the compiler can
add some instructions that don’t need memory
• The CISC instruction has no option but to wait for its operands to
come from the memory, potentially delaying other instructions
PERFORMANCE CONSIDERATIONS - CPU
1. CPU speed
2. Program execution time - ET.
3. Millions of Instructions executed Per Second
– MIPS
4. Performance measure wrt ET
5. Speedup techniques.
CPU speed
1. Software:The efficiency with which the programs are written and compiled into
object code influences N, the number of instructions executed. Other factors
being equal, reducing N tends to reduce the overall execution time T.
2.Architecture:The efficiency with which individual instructions are processed
directly affects CPI, the number of cycles per instruction executed. Reducing
CPI also tends to reduce T.
3. Hardware: The raw speed of the processor circuits determines the clock frequency f .
Increasing f tends to reduce T.
In general, the complex instruction sets of CISC processors aim to reduce N at the
expense of CPI, whereas RISC processors aim to reduce CPI at the expense of N.
• SPEEDUP TECHNIQUES
1. CACHE
2. PIPELINE ARCHITECTURE
3. SUPERSCALAR PROCESSING
1. CACHE
Cache is a memory unit placed between the CPU and main memory M and
used to store instructions, data, or both. It has much smaller storage capacity
than M, but it can be accessed (read from or written into) more rapidly and is
often placed (at least partly) on the same chip as the CPU.
• NON-PIPELINED AND PIPELINED
• PIPELINED AND SUPER-PIPELINED
• THE POWERPC
MICROPROCESSOR SERIES
In the early 1990s Apple, IBM, and Motorola jointly
developed the PowerPC. It is a family of single-chip
microprocessors, including the 601, 603, and other
models, which share a common architecture
derived from the POWER architecture used in IBM's
RISC RISC-style designs:
1. Instructions have a fixed length (32 bits or one
word) and employ just a few opcode formats and
addressing modes.
2. Only load and store instructions can access main
memory; all other instructions must have their
operands in CPU registers. This load/store
architecture reduces the time devoted to accessing
memory. This time is further reduced by the use of
one or more levels of cache memory.
• THE POWERPC
MICROPROCESSOR SERIES
3. Instruction processing is heavily pipelined. For
example, the PowerPC has an E-unit for integer
(fixed-point) operations that has the four pipeline
stages: fetch, decode, execute, and write results.
Hence if an E-unit's pipeline can be kept full, a new
result emerges from it every clock cycle, thus
achieving the ideal performance level of one fully
executed instruction per clock cycle.
4. The CPU contains several E-units—the number
depends on the model—which allow it to issue
several instructions simultaneously and puts the
PowerPC in the superscalar category.
• POWERPC
• POWERPC
•Early PowerPC models, such as the 601 and
603, which have three E-units: an integer
execution unit, a floating- point unit, and a
branch processing unit, allowing up to three
instructions to be issued in the same clock cycle.
The integer unit executes all fixed-point numerical
and logic operations, including those associated
with load-store instructions.
•Although part of the CPU's program control unit,
the branch processing unit is considered an E-unit
for branch instructions. Each PowerPC chip also
contains a cache memory, whose size and
organization vary with the model.
OVERVIEW OF COMPUTER SYSTEM
OVERVIEW OF COMPUTER SYSTEM
•The computer's main hardware components continue to be a CPU. a
main memory, and an input/output subsystem, which communicate with
one another over a system bus. Its main software component is an
operating system that performs most system management functions. The
key hardware element is a single-chip microprocessor, embodying a
modern version of the von Neumann architecture. The microprocessor
serves as the computer's CPU and is responsible for fetching, decoding,
and executing instructions.
•Data and instructions are typically composed of 32-bit words, which
constitute the basic information units processed by the computer. The
CPU is characterized by an instruction set containing up to 200 or so
instruction types, which perform data transfer, data processing, and
program control operations .
• System representation
• Design process
NODES AND EDGES
CENTRAL PROPERTIES
OF SYSTEM
• Step 2
• C=f(a,b) D= f(a,b)
HDL- HARDWARE DESCRIPTION
LANGUAGE
• VHDL--VHSIC Hardware Description Language
• Given a system's structure, the task of determining its function or behavior is termed analysis.
The converse problem of determining a system structure that exhibits a given behavior is design
or synthesis.
DESIGN PROCESS
Assembly Language
Software Application Programs
Operating
Machine Language System
Program
Compiler Firmware
Software/Hardware Instruction Set
Architecture
Boundary Instr. Set Proc. I/O system
Datapath & Control
Hardware
Digital Design Microprogram
Circuit Design
Layout
Register Transfer
Logic Diagrams
Notation (RTN)
Circuit Diagrams
DESIGN PROCESS FOR DIGITAL
SYSTEMS
• Processor level
• Register level
• Gate level
DESIGN LEVELS.
FULL ADDER
FOUR BIT RIPPLE C ARRY ADDER
RIPPLE C ARRY ADDER
RIPPLE CARRY ADDER
• A class of components called programmable logic devices or PLDs, a term applied to ICs
containing many gates or other general-purpose cells whose interconnections can be
configured or "programmed" to implement any desired combinational or
sequential function [Alford 1989].
• PLDs are relatively easy to design and inexpensive to manufacture. They constitute a key
technology for building application-specific integrated circuits (ASICs).
• Two techniques, are used to program PLDs: mask programming, which requires a few
special steps in the IC chip-manufacturing process, and field programming, which is
done by designers or end users "in the field" via small, low-cost programming units. Some
field-programmable PLDs are erasable, implying that the same IC can be reprogrammed
many times. This technology is especially convenient when developing and debugging a
prototype design for a new product.
PROGRAMMABLE ARRAYS.
• The connections leading to and from logic elements in a PLD contain transistor switches
that can be programmed to be permanently switched on or switched off. These switches
are laid out in two-dimensional arrays so that large gates can be implemented
with minimum IC area.
• The programmable logic gates of a PLD array are represented abstractly in Figure 2.32b,
with x denoting a programmable connection or cross point in a gate's input line.
The absence of an x means that the corresponding connection has been programmed to
the off (disconnected) state.
• The gate structures of Figure 2.32b can be combined in various ways to implement logic
functions. The programmable logic array (PLA) shown in Figure 2.33 is intended to realize
a set of combinational logic functions in minimal SOP form. It consists of an array of
AND gates (the AND plane), which realize a set of product terms (prime implicants),
and a set of OR gates (the OR plane), which form various logical sums of the product
terms.
PROGRAMMABLE ARRAYS.
• The inputs to the AND gates are programmable and include all the input variables
and their complements. Hence it is possible to program any desired product term
into any row of the PLA.
PROGRAMMABLE ARRAYS.
• Closely related to a PLA is a read-only memory (ROM) that generates all 2^n
possible n -variable product terms (minterms) in its AND plane. This
enables each output column of the OR plane to realize any desired function
of n or fewer variables in sum-of-minterms form.
• In ROM, the AND plane is fixed; the programming that determines the
functions generated by a ROM is confined to the OR plane. A small ROM
with three input variables, 2^3 = 8 rows, and two output columns is shown in
Figure 2.34b. It has been programmed to realize the full-adder function defined by
Figure 2.34a—compare the multiplexer realizations of the full adder appearing in
Figure 2.22. Note the use of dots to denote the fixed connections in the AND
plane.
PROGRAMMABLE ARRAYS.
• The pattern of the data in this configuration memory (CM) determines the cells'
functions and their interconnection wiring. Each bit of CM controls a transistor
switch in the target circuit that can select some cell function or make (break) some
connection.
• By replacing the contents of CM, designers can make design changes or correct design
errors. This type of FPGA can be reprogrammed repeatedly, which significantly reduces
development and manufacturing costs. Some FPGAs employ fuses or antifuses as
switches, which means that each FPGA IC can be programmed only once. These
one-time programmable FPGAs have other advantages, however, such as higher density,
and smaller or more predictable delays.
Field-Programmable Gate Array (FPGA)