comp122- midterms

Cards (41)

  • Instruction Set Architecture (ISA) is an abstract model of a computer that defines how the CPU is controlled by software
  • ISA acts as an interface between hardware and software, specifying what the processor can do and how it's done
  • ISA defines supported data types, registers, memory management, key features like virtual memory, instructions a microprocessor can execute, and input/output models
  • Some virtual machines like Smalltalk, Java virtual machine, and Microsoft's Common Language Runtime support bytecode as their ISA
  • ISA is an abstract model of a computer in computer science, also known as computer architecture
  • ISA realization, like a CPU, is called an implementation
  • ISA Classification:
    • Complex Instruction Set Computer (CISC)
    • Reduced Instruction Set Computer (RISC)
    • Very Long Instruction Word (VLIW)
    • Explicitly Parallel Instruction Computing (EPIC)
  • CISC:
    • Executes several low-level operations or multi-step operations within single instructions
  • RISC:
    • Implements frequently used instructions efficiently, less common operations are subroutines
  • VLIW:
    • Controls parallel execution of instructions
    • Deals with complexity by depending on the compiler
  • EPIC:
    • Provides features for compiler enhancements of instruction-level parallelism (ILP)
    • Keeps hardware complexity relatively low
  • Register Pressure:
    • Availability of free registers during program execution
    • High register pressure leads to frequent register content spilling into memory
  • Code Density:
    • Combined size of all instructions needed for a task
    • Computers with high code density have complex instructions for various operations
  • Minimal Instruction Set Computers (MISC):
    • Form of stack machine with few separate instructions
    • Takes little silicon to implement, can be realized in FPGA or multi-core form
  • Design of instruction sets is a complex issue with historical stages like CISC and research leading to instruction set simplification
  • Instruction Set Implementation:
    • Any instruction set can be implemented in various ways
    • Different implementations provide the same programming model
  • Compiler:
    • Translates a program from a source language to a target language
    • Compilers can also improve programs and find errors at compile time
  • Assembler:
    • Translates assembly code into machine code
    • Checks each instruction for correctness and generates object code
  • Interpreter:
    • Translates single statements of a source program into machine code and executes them immediately
    • Moves to the next line only after removing errors
  • Microarchitecture describes the attributes of a system as seen by the programmer, distinct from the organization of data flow and controls, the logical design, and the physical implementation
  • Advanced Micro Devices (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets
  • AMD brand names include Athlon and Ryzen
  • Pipelining is a technique where multiple instructions are overlapped during execution, increasing the overall instruction throughput
  • Computer memory operates at a high speed compared to storage, and modern memory is implemented as semiconductor memory
  • Volatile memory requires power to maintain stored information, while non-volatile memory can retain information even after power is removed
  • Examples of non-volatile memory include Flash memory, Read Only Memory (ROM), Programmable Read-only Memory (PROM), Erasable Programmable Read-only Memory (EPROM), and Electrically Erasable Programmable Read-only Memory (EEPROM)
  • Examples of volatile memory include Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), and Video Random Access Memory (VRAM)
  • Cache memory is an extremely fast type that acts as a buffer between RAM and the CPU, holding frequently requested data and instructions for immediate access
  • Cache architecture refers to a memory architecture that uses a hierarchy of memory stores based on varying access speeds to cache data
  • Direct Memory Access (DMA) allows an I/O device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations
  • A computer bus is a communication link used in a computer system to send data, addresses, control signals, and power to various components
  • Types of busses include Address bus, Data bus, and Control bus
  • Advantages of computer buses include versatility, low cost, and ease of adding new devices
  • Disadvantages of computer buses include creating a communication bottleneck and limiting the maximum I/O throughput
  • I/O devices are hardware pieces used to communicate with a computer, such as keyboards, computer mice, monitors, printers, modems, and network cards
  • the heap is used to allocate memory dynamically at runtime
  • a pointer is an address that points to another location in the computer's memory
  • The stack is used to store local variables and function parameters
  • the stack is used to store function calls, local variables, and return addresses
  • Registers are typically used to hold frequently accessed data or instructions during program execution.