Lecture Slides Chapter 1 Computer Architecture
Lecture Slides Chapter 1 Computer Architecture
Computer architecture is a set of rules and methods that describe the functionality,
organization, and implementation of computer systems.
Computer architecture deals with the design of computers, data storage devices,
and networking components that store and run programs, transmit data, and drive
interactions between computers, across networks, and with users. The memory
stores the program's instructions and data.
Computer Architecture helps us to understand the functionalities of a system
While designing a computer system architecture is considered first.
Architecture involves Logic (Instruction sets, Addressing modes, Data types, Cache
optimization)
Organization
Central
Processing Main
Unit Memory
Computer Systems
Interconnection
Input
Output
Communication
lines
Structure - The CPU
CPU
Computer Arithmetic
and
Registers
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
Structure - The Control Unit
Control Unit
CPU
Sequencing
ALU Logic
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders
Control
Memory
Processor OR Central Processing Unit
Introduction to Central Processing Unit
AMD Graphics
What are the future
expectations/Predictions
about processor ?
They have high clock
speed like 10 to 15
Tomorrow, processor will be
GHz and have 8 to 10 cores
more energy efficient than
with hyper threading or new
present time.
equivalent
technology.
Driven by
Cost/performance goals
Available component technology
Technology constraints
Backwards compatibility needs (709-7090-360)
Computer System Performance
A memory unit is the collection of storage units or devices together. The memory unit stores the
binary information in the form of bits. Generally, memory/storage is classified into 2 categories:
Volatile Memory: This loses its data, when power is switched off.
Non-Volatile Memory: This is a permanent storage and does not lose any data when power is
switched off.
Memory Hierarchy
Memory Hierarchy
• The cache memory is used to store program data which is currently being executed in the CPU.
Approximate access time ratio between cache memory and main memory is about 1 to 7~10
Memory Hierarchy
The total memory capacity of a computer can be visualized by hierarchy of components. The
memory hierarchy system consists of all storage devices contained in a computer system from the
slow Auxiliary Memory to fast Main Memory and to smaller Cache memory.
Auxiliary memory access time is generally 1000 times that of the main memory, hence it is at the
bottom of the hierarchy.
The main memory occupies the central position because it is equipped to communicate directly with
the CPU and with auxiliary memory devices through Input/output processor (I/O).
When the program not residing in main memory is needed by the CPU, they are brought in from
auxiliary memory. Programs not currently needed in main memory are transferred into auxiliary
memory to provide space in main memory for other programs that are currently in use.
Memory Access Methods
Each memory type, is a collection of numerous memory locations. To access data from any memory,
first it must be located and then the data is read from the memory location. Following are the
methods to access information from memory locations:
Random Access: Main memories are random access memories, in which each memory location has
a unique address. Using this unique address any memory location can be reached in the same
amount of time in any order.
sequence or in order.
Direct Access: In this mode, information is stored in tracks, with each track having a separate
read/write head.
Main Memory
The memory unit that communicates directly within the CPU, Auxiliary memory and Cache
memory, is called main memory. It is the central storage unit of the computer system. It is a large
and fast memory used to store data during computer operations. Main memory is made up of RAM
and ROM, with RAM integrated circuit chips holing the major share.
DRAM: Dynamic RAM, is made of capacitors and transistors, and must be refreshed every 10~100
ms. It is slower and cheaper than SRAM.
SRAM: Static RAM, has a six transistor circuit in each cell and retains data, until powered off.
NVRAM: Non-Volatile RAM, retains its data, even when turned off. Example: Flash memory.
Main Memory
ROM: Read Only Memory:
ROM: Read Only Memory, is non-volatile and is more like a permanent storage for information. It
also stores the bootstrap loader program, to load and start the operating system when computer is
turned on. PROM(Programmable ROM), EPROM(Erasable PROM) and EEPROM(Electrically
Erasable PROM) are some commonly used ROMs.
Auxiliary Memory
• Devices that provide backup storage are called auxiliary memory. For example: Magnetic disks and tapes
are commonly used auxiliary devices. Other devices used as auxiliary memory are magnetic drums,
magnetic bubble memory and optical disks.
• Whenever the CPU needs to access memory, it first checks the cache memory. If the data is not found in
cache memory then the CPU moves onto the main memory. It also transfers block of recent data into the
cache and keeps on deleting the old data in cache to accommodate the new one.
Hit Ratio
• The performance of cache memory is measured in terms of a quantity called hit ratio. When the CPU
refers to memory and finds the word in cache it is said to produce a hit. If the word is not found in cache,
it is in main memory then it counts as a miss.
The data or instructions you type into the computer are called input
Input devices used to get data into a system.
Get data into a system as accurately, least amount of time.
It’s a cheap device.
Examples of Input Devices
Keyboard • Mouse • Tracker ball • Touch sensitive pad • Joystick • Light pen • Touch
screen • Graphics tablets • Magnetic Strip Reader • Bar Code reader • Digital cameras •
Web Cameras • OCR • MICR • OMR • Punched Card • Kimball tag • Voice recognition •
Microphone • EPOS • EFTPOS • Video digitiser • Scanner • Touch Phone Telephone
Output Device
Visual devices (including Visual Display Units [VDUs], screens, and monitors) – Hard
copy devices (including ink jet printer, laser printers, dot-matrix printers, and plotters) –
Sound devices – Computer controlled devices (including robots)
Extra Notes
Book Reading Assignment
(Not Included in syllabus)
THE DISCIPLINE OF COMPUTER ARCHITECTURE HAS THREE
MAIN SUBCATEGORIES
1. Instruction Set Architecture , or ISA. The ISA defines the machine code that a
processor reads and acts upon as well as the word size , memory address modes , processor
registers , and data type .
2. Micro architecture , or computer organization describes how a particular processor
will implement the ISA.[14] The size of a computer's CPU cache for instance, is an issue
that generally has nothing to do with the ISA.
3. System Design includes all of the other hardware components within a computing
system. These include:
a. Data processing other than the CPU, such as direct memory access (DMA)
b. Other issues such as virtualization
INSTRUCTION SET ARCHITECTURE
An instruction set architecture (ISA) is the interface between the computer's software and
hardware and also can be viewed as the programmer's view of the machine. Computers do
not understand high-level programming languages such as Java, C++, or most
programming languages used. A processor only understands instructions encoded in some
numerical fashion, usually as binary numbers . Software tools, such as compilers ,
translate those high level languages into instructions that the processor can understand.
ISAs vary in quality and completeness. A good ISA compromises between programmer
convenience (how easy the code is to understand), size of the code (how much code is
required to do a specific action), cost of the computer to interpret the instructions (more
complexity means more hardware needed to decode and execute the instructions), and
speed of the computer (with more complex decoding hardware comes longer decode time).
Memory organization defines how instructions interact with the memory, and how memory
interacts with itself.
COMPUTER ORGANIZATION
Once an instruction set and micro-architecture are designed, a practical machine must be
developed. This design process is called the implementation . Implementation is usually
not considered architectural design, but rather hardware design engineering .
Implementation can be further broken down into several steps:
• Logic Implementation designs the circuits required at a logic gate level Circuit
Implementation does transistor -level designs of basic elements (gates, multiplexers,
latches etc.) as well as of some larger blocks ( ALUs , caches etc.) that may be
implemented at the log gate level, or even at the physical level if the design calls for it.
• Physical Implementation draws physical circuits. The different circuit components are
placed in a chip floor plan.
PERFORMANCE •
Modern computer performance is often described in IPC (instructions per cycle). This
measures the efficiency of the architecture at any clock frequency. Since a faster rate can
make a faster computer, this is a useful measurement. Older computers had IPC counts as
low as 0.1 instructions per cycle. Simple modern processors easily reach near 1.
Performance is affected by a very wide range of design choices — for example, pipelining
a processor usually makes latency worse, but makes throughput better. Computers that
control machinery usually need low interrupt latencies. These computers operate in a real-
time environment and fail if an operation is not completed in a specified amount of time.
For example, computer-controlled anti-lock brakes must begin braking within a
predictable, short time after the brake pedal is
POWER EFFICIENCY