Computer Architecture Flashcards
Define Computer Architecture
a ** set of rules ** and methods that describe the **functionality, management and implementation ** of computers.
To be precise, it is nothing but rules by which a system performs and operates
Define Computer Organization
Computer Organization refers to the way in which the hardware components of a computer system are arranged and interconnected. It implements the provided computer architecture and covers the “How to do?” part.
Define Harvard Architecture
The principle of storing Data and instructions in different Locations
Von Nuemann Architecture
The programs and data are stored in the main memory (RAM)
Explain Von Nuemann Bottle neck
CPU and Memory Speed Disparity: This can also be said to be a throughput conflict between CPU and Main Memory.
Time Lag between program Data and instruction in memory to CPU
Limited bandwidth between components of the Architecture
Components of Von Nueman Architeecture
Central Processing Unit (CPU): The CPU is responsible for executing instructions and performing calculations. It fetches instructions and data from memory, processes them, and stores the results back in memory.
Main Memory (RAM): Main memory, often referred to as RAM (Random Access Memory), is where both program instructions and data are stored while a computer is running. It is called “random access” because any location in memory can be directly accessed, allowing for fast read and write operations.
Memory Address Bus: This is a set of wires or lines that connects the CPU to the main memory. It is used to specify the memory location (address) from which data needs to be read or to which data needs to be written.
Memory Data Bus: The data bus is another set of lines that connects the CPU to the main memory. It is used to transfer data between the CPU and memory.
Control Unit: The control unit is responsible for managing the operation of the CPU and controlling the flow of data between the CPU and memory. It interprets and executes program instructions stored in memory.
Solution to Von Neumann bottleneck
- Use of cache memory between Memory and CPU
- RISC - Reduced Instruction Set Computer: Use of a lot of registers to limit the access to main memory
Data Bus
Memory Data Bus: The data bus is another set of lines that connects the CPU to the main memory. It is used to transfer data between the CPU and memory.
Address Bus
Memory Address Bus: This is a set of wires or lines that **connects the CPU to the main memory. **It is used to specify the memory location (address) from which data needs to be read or to which data needs to be written.
Evolution of Computer Architecture
Gen 0 - Mechanical Era (Pre-1940s)
Use of gears and levers for calculations
The most famous example is Charles Babbage’s Analytical Engine.
Driving Force
The need for Automated computation to solve difficult mathematical problems, especially in areas of Navigation, Astronomy, and Engineering.
Generation 1 (Vacuum Tube Era - 1940s-1950s):
The use of vacuum Tubes for computation.
Problems
Heat
Driving Force:
WWII, need to compute artillery trajectory and code-breaking
Gen 2 (Late 50’s to 60’s) -Transistor Era
Transistors replaced the Vaccums, leading to smaller and less energy consuming computers.
IBM700 series and , early MainFrame computers.
Driving force: Cold War and Scientific research.
Gen 3 (60-70s) The Integrated Circuit Era
The invention of ICs gave birth to even smaller and more powerful mini computers. Also this era experienced the rise of microcomputers
**Driving Forces: ** Business applications, scientific research, and the desire for more affordable computing power drove the development of IC-based computers.
Gen 4 Late 70s-80s Microprocessors
Technology: Microprocessors
The microprocessor revolution began with the Intel 4004 and 8008, leading to the personal computer (PC) era. Smaller, more affordable, and versatile computers emerged.
Driving Force
The advent of personal computing and Home computers
Gen 5 1990-Present Networking and Mobility Era
Technology: High-performance Micro-processors, Networking and Mobile Devices
Driving force
Levels in computer Organization
- User/Application Program
- High Level
- Assembly Language
- Microprogrammed/Hardwired control
- Functional unit
- Logic Gates
- Low-Level Transistors and wires
What are Effective Addressing Modes?
Effective Addressing Modes, also known as addressing modes, are mechanisms in computer architecture and assembly language programming that determine how the operands (data or instructions) are located or addressed in memory during program execution.
- Immediate Addressing - In this mode the operand is a contant value embedded in the instruction. eg ‘MOV A 5’
- Direct Addressing - in this mode, the address of the operand(in memory) is specified in the instruction.
eg ‘MOV A, BX’ - Indirect Addressing - In this mode, an index register (e.g., SI or DI) is added to a base address to calculate the
- Direct Register - in this mode, the Operand is in the register.
- Register indirect - in this mode, the register contains the memory address of the Operand
- Displacement Mode- the displacement formula is added to the instruction set
- Stack Mode - Data is Available on top of the stack
What are instruction sets?
A collection of machine level instructions that determines the operations that a processor or microcontroller can execute
Components of an instruction set
- Op-code
- Address
- Algorithms
- Operands
- Control flow
- ALI
- Data transfer instructions
- Special instructions