CPEN100

Subdecks (1)

Cards (112)

  • Microprocessor
    General-purpose programmable devices typically used for processing tasks in computers and other complex systems. Requires external components for memory, input/output, etc.
  • Microcontroller
    Evolution from early embedded systems to modern complex controllers. Founded by various individuals and companies like Texas Instruments, Intel, and Atmel.
  • Microprocessor
    • Founded by Ted Hoff, Federico Faggin, Masatoshi Shima, and Stanley Mazor
    • First microprocessor was the Intel 4004 in 1971
    • Intel continued to innovate with subsequent generations like the 8008, 8080, and x86 architecture
  • Microcontroller
    • Evolution from early embedded systems to modern complex controllers
    • Founded by various individuals like Gary Boone & Michael Cochran and companies like Texas Instruments, Intel, and Atmel
  • Successful MPUs
    • Intel Core series
    • AMD Ryzen series
    • ARM Cortex-A series
    • Qualcomm Snapdragon series
    • Apple A series
  • Leading MCUs
    • Atmel AVR series
    • Microchip PIC series
    • Texas Instruments MSP430 series
    • STMicroelectronics STM32 series
    • NXP LPC series
  • Microprocessors developed by

    Intel, mainly for general-purpose computing tasks
  • Microcontrollers developed by

    Various companies like Texas Instruments and Intel, motivated by the need for compact, self-contained computing solutions for embedded systems
  • Architecture and organization of MPUs and MCUs often change to meet evolving performance, power consumption, and integration requirements
  • Advances in technology lead to smaller feature sizes, higher clock speeds, and more integrated peripherals for MPUs and MCUs
  • Soft Processor
    Implemented using software emulation or FPGA. Flexibility to change instruction sets and functionalities. Slower performance compared to hard processors.
  • Hard Processor
    Implemented using dedicated hardware components. Fixed instruction sets and functionalities. Typically faster and more efficient than soft processors.
  • CPU (Central Processing Unit)
    • Responsible for executing instructions and performing calculations
    • Consists of the Arithmetic Logic Unit (ALU) and the Control Unit (CU)
  • Memory (RAM)

    • Stores data and instructions for quick access by the CPU
    • Volatile in nature, meaning it loses its contents when power is off
  • Storage (HDD, SSD)
    • Holds data permanently even when power is off
    • Examples include Hard Disk Drives (HDDs) and Solid State Drives (SSDs)
  • Motherboard
    • Circuit board that connects all components of the computer system
    • Contains slots for CPU, RAM, expansion cards, and peripheral connectors
  • Input Devices
    • Keyboards
    • Mice
    • Touchscreens
    • Scanners
  • Output Devices
    • Monitors
    • Printers
    • Speakers
    • Projectors
  • Power Supply Unit (PSU)

    • Converts AC power to DC power for computer components
    • Supplies power to motherboard, CPU, and peripherals
  • Expansion Cards

    • Graphics cards
    • Sound cards
  • Microprocessor Components & Functions
    • ALU (Arithmetic Logic Unit) - Performs arithmetic and logical operations on data
    • CU (Control Unit) - Manages instruction execution by fetching, decoding, and controlling data flow
    • Registers - Small, high-speed storage units for temporary data storage during processing
    • Cache Memory - High-speed memory near the CPU that stores frequently accessed data and instructions
    • Clock Generator - Produces clock signals to synchronize CPU and system operations
    • Instruction Decoder - Interprets fetched instructions to determine operations and data involved
    • Control Bus - Communication lines between CPU and other devices for control signals
    • Data Bus - Pathway for transferring data between CPU, memory, and peripherals
    • Address Bus - Transfers memory addresses between CPU and components for memory operations
    • Flags - Status indicators reflecting outcome of operations, used for decision making
  • Microcontroller Components & Functions
    • CPU Core - Executes instructions, handles data processing, and control tasks
    • Memory (RAM, ROM, FLASH) - RAM stores data temporarily, ROM stores firmware and instructions permanently, FLASH is non-volatile memory storing program code
    • I/O Ports - Facilitate communication with external devices, enable data exchange between microcontroller and external world
    • Timers/Counters - Generate precise time delays and count external events, essential for tasks like PWM signal generation and timing control
    • ADC (Analog-to-Digital Converter) - Converts analog signals into digital data for processing
    • PWM (Pulse Width Modulation) - Generates analog-like signals by varying pulse width, useful for controlling motors, LEDs, etc.
    • Serial Communication Interfaces - UART, SPI, I2C enable communication with other devices, facilitate serial data transfer over longer distances
    • Serial Port - Provides UART, SPI, I2C interfaces for external device communication
    • Interrupts - Temporarily halt normal program flow to handle specific events, allows quick response to external stimuli without continuous polling
    • DAC (Digital-to-Analog Converter) - Converts digital signals into analog voltages or currents, used for generating analog output signals
    • Bus - Collection of wires for communication between components
  • Microprocessor vs Microcontroller Structure
    • Microprocessor - Consists of CPU, ALU, CU, registers, cache memory, clock generator, and instruction decoder. Requires external components like memory (RAM, ROM) and I/O devices. Used for general-purpose computing tasks in PCs, servers, and high-performance systems.
    • Microcontroller - Integrates CPU core, memory (RAM, ROM, Flash), I/O ports, timers/counters, ADC, DAC, PWM, and serial communication interfaces. Includes built-in peripherals and memory, reducing need for external components. Designed for specific tasks and embedded systems in consumer electronics, automotive systems, and IoT devices.
  • Advantages of Microprocessors
    • High computational power and flexibility for wide range of applications
    • Easy upgradeability for improved performance
    • Supports multitasking and multiprocessing
    • Enables complex software development
  • Disadvantages of Microprocessors
    • Increased system cost and complexity due to external components
    • Higher power consumption
    • Larger physical footprint
    • Additional programming effort for interfacing
  • Von Neumann Architecture
    • Single memory space for both data and instructions
    • CPU fetches instructions and data from the same memory
    • Simple design with unified memory
    • Instructions and data share the same bus
    • Sequential execution of instructions
    • Flexibility in programming and data manipulation
  • Harvard Architecture
    • Separate memory spaces for instructions and data
    • CPU fetches instructions and data from different memories
    • Parallel fetching of instructions and data
    • Allows simultaneous access to instruction and data memories
    • Eliminates bottleneck in memory access
    • Enhances performance by allowing parallelism
  • Von Neumann Architecture
    Single memory space for both data and instructions, CPU fetches instructions and data from the same memory
  • Von Neumann Architecture
    • Simple design with unified memory, Instructions and data share the same bus, Sequential execution of instructions
  • Harvard Architecture

    Separate memory spaces for instructions and data, CPU fetches instructions and data from different memories
  • Harvard Architecture
    • Parallel fetching of instructions and data, Allows simultaneous access to instruction and data memories
  • Peripherals attached to microprocessors and microcontrollers
    • Input devices (keyboards, mice, scanners)
    • Output devices (monitors, printers, speakers)
    • Storage devices (hard drives, SSDs, USB drives)
    • Networking devices (Ethernet cards, Wi-Fi adapters)
    • Expansion cards (graphics cards, sound cards)
    • Sensors (temperature sensors, motion sensors)
    • Actuators (motors, relays, LEDs)
  • CISC (Complex Instruction Set Computer)

    • Instructions can perform complex operations directly, Variable-length instructions with multiple addressing modes, Emphasizes hardware-based complexity
  • RISC (Reduced Instruction Set Computer)

    • Simplified instruction set with basic operations, Fixed-length instructions with limited addressing modes, Emphasizes software-based complexity
  • Fetch Cycle
    Retrieves the instruction from memory that needs to be executed, Involves fetching the instruction from the memory address indicated by the Program Counter (PC) and loading it into the Instruction Register (IR), Prepares the CPU for the execution phase by placing the fetched instruction into the instruction decoding stage
  • Execute Cycle
    Carries out the operation specified by the fetched instruction, Decodes the instruction, determines the required operation, fetches operands if needed, and performs the operation, Executes arithmetic, logical, or control operations based on the instruction, utilizing the ALU and other relevant components
  • Acronyms
    • PC: Program counter
    • MAR: Memory address register
    • MDR: Memory data register
    • CIR: Current instruction register
    • CU: Control unit
    • ALU: Arithmetic logic unit
    • OPCODE: Operation code
    • ISA: Instruction Set Architecture
    • BIT: Binary Digit
    • MIL: Machine Learning
  • Instruction Cycle
    The complete cycle of fetching, decoding, executing, and storing an instruction
  • Clock Cycle
    The smallest unit of time in a computer system, determined by the system clock
  • Machine Cycle
    The time required to complete one operation of the CPU