santos

Cards (149)

  • Computer
    A fast electronic calculating machine that accepts digitized input information, processes it as per the list of internally stored instructions, and produces the resulting information
  • Programs
    List of instructions
  • Computer memory
    Internal storage
  • Computer structure/architecture

    • Organization and design of the hardware components that make up a computer system
    • Includes the Central Processing Unit (CPU), memory, input/output devices, and other supporting components
  • Low-level languages

    Assembly and machine code that interact directly with the hardware components
  • Types of computers
    • Desktop computers
    • Personal computers (laptops)
    • Workstations
    • Enterprise systems (mainframes)
    • Servers
    • Supercomputers
    • Embedded systems
  • Desktop computers

    • Have processing and storage units, video and audio output units, keyboard and mouse input units
  • Personal computers (laptops)

    • Designed for personal use by individuals, come in various forms such as laptops and tablets
  • Workstations
    • High-performance computers with high resolution input/output graphics capability, designed for technical or professional use
  • Enterprise systems (mainframes)

    • Large, powerful computers used for business data processing in medium to large corporations, require much more computing power and storage capacity than workstations
  • Servers
    • Computers designed to provide services to other computers over a network, used for tasks such as file storage, email, and web hosting
  • Supercomputers
    • The most powerful and expensive computers, designed for tasks that require massive amounts of processing power
  • Embedded systems

    • Specialized computers designed to perform specific tasks within a larger system, often used in devices such as cars, appliances, and medical equipment
  • Functional units of a computer system

    • Input unit
    • Output unit
    • Memory unit
    • Arithmetic and Logic Unit (ALU)
    • Control Unit (CU)
    • Central Processing Unit (CPU)
    • Bus
  • Input unit

    Responsible for accepting input data and converting it into machine-readable form
  • Input devices

    • Keyboard, mouse, scanner, microphone
  • Output unit
    Responsible for presenting the results of processed input to the user in a human-readable form
  • Output devices

    • Monitor, printer, speaker
  • Memory unit

    Responsible for storing data and program instructions that the CPU uses during processing
  • Types of memory

    • Primary memory (e.g., RAM)
    • Secondary memory (e.g., hard disk drive)
  • Arithmetic and Logic Unit (ALU)

    Performs arithmetic and logic operations on the data stored in the memory
  • Control Unit (CU)
    Manages and controls the operation of the CPU and other units
  • Central Processing Unit (CPU)

    Consists of the ALU and the CU, responsible for executing instructions
  • Bus
    A communication channel that connects different components of the computer system, enabling the transfer of data between the CPU, memory, and input/output devices
  • Steps to execute an instruction
    1. The address of the first instruction is loaded into the PC
    2. The contents of the PC are transferred to the MAR and the control unit issues a Read signal to memory
    3. The instruction is read out of memory and placed into the MDR, then transferred to the IR
    4. The instruction is decoded and executed
    5. Operands are fetched into the processor
    6. The ALU performs the desired operation
    7. If the result is to be stored in memory, it is sent to the MDR and the address is sent to the MAR, and a Write cycle is initiated
    8. The contents of the PC are incremented to point to the next instruction
  • Programming language

    A set of rules that provides a way of telling a computer what operations to perform, a notational system for describing computation in a machine-readable and human-readable format
  • Types of programming languages
    • Machine language
    • Assembly language
    • High-level language
  • Machine language

    The natural language of a computer system that does not need any intermediate program or translator, the only language that a computer understands, consisting of binary numbers (0s and 1s)
  • Assembly language

    A low-level programming language that uses symbolic instruction codes (mnemonic codes) and operands, more appropriate for developing new operating systems or writing firmware codes
  • High-level language
    Programs written in human native languages like English, French, etc., user-friendly, easier to learn, write and debug, machine independent
  • Language translators

    Programs used to convert a program written in any other programming language besides the machine language to a machine language
  • Types of language translators

    • Interpreter
    • Compiler
    • Assembler
  • Interpreter
    Converts a program written in high-level language to machine language, step by step
  • Compiler
    Converts a program written in high-level language to machine language, the whole program at once
  • Assembler
    Accepts an assembly language program as input and produces its machine language equivalent (object code) along with information for the loader
  • Advantages of low-level programming languages

    • Direct hardware access
    • Performance
    • Efficient memory management
    • Portability
  • Disadvantages of low-level programming languages
    • Difficult to learn and use
    • Hardware dependent
    • Lack of abstraction
    • Difficult to debug and maintain
  • Addressing modes

    The way in which the operand of an instruction is specified
  • Types of addressing modes
    • Implied / Implicit
    • Stack
    • Immediate
    • Direct
    • Indirect
    • Register Direct
    • Register Indirect
    • Relative
    • Indexed
    • Base Register
    • Auto-Increment
    • Auto-Decrement
  • Direct addressing

    The memory location of an operand is specified directly in the instruction itself