L 1 - 4

Cards (31)

  • Computer Architecture
    Attributes of the system that are visible to the software programmer and have a direct impact on the logical execution of a program, like the number of bits used to represent various data types, the instruction set of the computer, technique for addressing memory, method used for input, output, etc.
  • Main categories considered in computer architecture design
    • System Design
    • Instruction Set Architecture
    • Micro Architecture
  • Computer Organization
    The way the various components of a computer system are interconnected and work together to perform tasks and execute programs. It encompasses the design and arrangement of hardware components, including the central processing unit (CPU), memory, input/output devices, and control units, to ensure efficient and effective operation of the computer.
  • Basic components of a computer
    • Input Unit
    • Output Unit
    • Memory Unit
    • Control Unit
    • Arithmetical and Logical Unit
  • Instruction Set Architecture (ISA)
    Part of the abstract model of a computer that defines how the CPU is controlled by the software. The ISA acts as an interface between the hardware and the software, specifying both what the processor is capable of doing as well as how it gets done.
  • RISC Processor
    • Reduced Instruction Set Computer Processor, a microprocessor architecture with a simple collection and highly customized set of instructions. It is built to minimize the instruction execution time by optimizing and limiting the number of instructions.
  • Advantages of RISC
    • Better performance due to simple and limited instruction set
    • Requires fewer transistors, making it cheaper to design
    • Allows instruction to use free space on microprocessor due to simplicity
    • Simpler and quicker design, can complete work in one clock cycle
  • Disadvantages of RISC
    • Performance may vary depending on code executed
    • Programmers and compilers often use complex instructions
    • Requires very fast memory and large cache to respond to instructions quickly
  • CISC Processor
    • Complex Instruction Set Computer, developed by Intel. It has a large collection of complex instructions that range from simple to very complex and specialized in the assembly language level, which takes a long time to execute the instructions.
  • Advantages of CISC
    • Ability to perform complex instructions
    • Programs require fewer instructions to execute
    • Greater hardware support for complex instructions
  • Disadvantages of CISC
    • Increased complexity can lead to slower processing time
    • Larger chip size can lead to increased costs
  • Types of Memory Hierarchy
    • External Memory/Secondary Memory
    • Internal Memory/Primary Memory
  • External Memory/Secondary Memory
    • Hard Disk Drive (HDD)
    • Solid State Drive (SSD)
    • USB Flash Drive
    • External Hard Drive
    • Memory Card
    • NAS or File Servers
    • Cloud Storage
  • Internal Memory/Primary Memory
    • Random Access Memory (RAM)
    • Cache Memory
    • Registers
    • Memory Controllers
    • On-Chip Memory (L1,L2, L3 Cache)
    • Non-volatile Memory (ROM)
  • Cache Memory
    Super-fast memory that stores frequently used data from main memory, located close to the CPU to reduce access time
  • Cache Mapping
    • Direct Mapping
    • Associative Mapping
    • Set-Associative Mapping
  • RAM
    A crucial part of modern computers that stores programs and information for the processor to use. It's fast and works closely with the CPU and I/O devices, allowing for quick data transfer. However, it's volatile and loses data during power interruptions.
  • Types of Main Memory
    • Static RAM
    • Dynamic RAM
  • Secondary Storage
    Includes hard disk drives (HDD) and solid-state drives (SSD), a type of non-volatile memory that has a much larger storage capacity than main memory. Used to store data and instructions not currently being used by the CPU.
  • Memory Hierarchy Design Principles

    • Principle of Locality
    • Cost-Performance Trade-off
    • Caching
    • Block Size
    • Replacement Policy
    • Write Policy
  • Pipelining
    A technique that allows a processor to execute multiple instructions at the same time, by breaking them down into smaller steps. Each step, or stage, performs a different part of the instruction, such as fetching, decoding, executing, or writing back. Pipelining increases the throughput, or the number of instructions completed per unit of time, of the processor.
  • Pipelining Stages
    • Instruction Fetch
    • Instruction Decode
    • Instruction Execute
    • Memory Access
    • Write Back
  • Types of Pipelines
    • Instruction pipeline
    • Arithmetic pipeline
  • Benefits of Pipelining
    • Improves the efficiency of the processor by reducing the idle time between instructions
  • Challenges of Pipelining
    • Dependency problem
    • Branch problem
  • Registers
    • tiny, lightning-fast memory units inside the CPU. They store data temporarily during processing, making instructions run smoothly and managing data efficiently within the CPU.
  • Program Counter (PC)
    • Keeps track of the memory address of the next instruction to be fetched and executed.
  • Instruction Register (IR)
    • Holds the currently fetched instruction being executed by the CPU.
  • Memory Address Register (MAR)
    • Stores the memory address that is to be accessed for reading or writing data.
  • Memory Data Register (MDR)
    • Holds the data retrieved from memory or the data to be written to memory.
  • Accumulator (ACC)
    • Stores the result of arithmetic and logic operations performed by the CPU.