(1) Basics Flashcards
Definition Data
Raw facts
Definition Information
Data with context or meaning
How is information represented in digital computers?
In digital computers, information is represented as Bits. A Bit is the smallest unit of storage used in computing and the quantity of information required to distinguish two mutually exclusive states (0 and 1) from each other
How can we store strings?
- Split up into letters
2. Code letters with numbers (ASCII)
How can we store images?
- Split up into pixels
- Save pixel positions
- Code colors of pixels as numbers (RGB) - Store in binary format
How can we store sound?
- Sample sound amplitude
2. Quantize as numbers (PCM)
Which basic components does a computer have?
- Memory
- The Arithmetic-Logic-Unit (ALU)
- The Control Unit
- Input/Output Devices
Definition Memory
- Stores the program and the data (stored program architecture)
- Stores the state of our computation
Definition Arithmetic-Logic-Unit
- Performs the arithmetic and logic operations
- It is the “brain” of the computer
Definition Control Unit
- Orchestrates the execution of the program
Definition Input/Output Devices
- Transfer data between peripheral devices and memory
What types of memory exist and what are their characteristics?
Internal Memory:
- Typically fast, not that large and volatile (requires energy)
- Examples: RAM, Caches, Registers
External Memory:
- Typically large, slow but persistent (keeps content without power)
Examples: SSD, HDD
What is the key concept of the von Neumann architecture?
- Data and program are stored in the same memory
- Operations (program) are fetched from memory and executed
Definition Program
A series of instructions.
Which different levels of abstractions exist for programs?
- High-level programming language (y = 4 + 3)
- Assembler (add #4,#3,2198)
- Machine language (01110101010)
Definition Machine Language
Binary representation of a computer‘s
instruction set
Definition Assembly Language
Introduces mnemonics, symbolic addresses
Definition High-level programming languages
Offer advanced constructs for data specification (decimal numbers, strings) and control flow
How can high-level constructs be transformed to machine language?
Compiler or Interpreter