Looks like no one added any tags here yet for you.
Computer
A computer is an electronic device that can accept input, process it according to instructions, store the instructions and the result and output information.
Data
Data refers to information/facts that is processed or stored by a computer to provide information.
Hardware
The physical components of a computer system, allowing input and output
Software
Programs that tell the computer what to do
5 Basic Hardware Components
Input devices, CPU, Primary Storage, Secondary Storage, Output devices
John Vonn Neuman Model
Input unit, Memory unit, ALU, CU, Output unit.
Harvard Architecture
Stores data and instructions in separate memory units
Basic Data Formats
Numeric, Alphanumeric, Graphic, Audio, Video
Bit
The smallest unit of data in a computer, representing a binary value of either 0 or 1
Byte
A unit of data that is a group of 8 bits, used to represent a single character of data (letter , number , symbol etc.)
Kilobyte to byte?
1 Kilobyte = 2^10 bytes = 1,024 bytes
3 Performance Measures
MIPS, MFLOPS, Gigahertz.
MIPS
A general measure of “the amount of work a computer can do”. It stands for "Million Instructions Per Second" and indicates the speed of a computer's instruction processing.
MFLOPS
A measure of a computer's performance, specifically the number of million floating-point operations it can perform per second.
Gigahertz
Unit of measure of the “clock speed” of the processor.
Computer Classification
Supercomputers, Mainframes, Minicomputers, Microcomputers
Supercomputer
Have most processing power available, used for scientific / military work or large simulation models
Mainframes
Used by corporations with large databases ( banks etc.), has high storage etc.
Minicomputers
Midrange computers, small, cheap and compact, somewhat obsolete ( replaced by servers).
Microcomputers
Built around 1 chip processor, relatively small, designed for one individual, “Personal Computers”.
Binary Numbers
Term comes from a Latin word and means ‘two’ in
English (0 and 1).
This means that while counting in binary you cannot
exceed 1.
Unsigned Binary
Direct binary equivalent of any decimal number. Range of 0-255
Binary Coded Decimal
Digit-by-digit binary. Numbers stored as 4 bits per digit.
Signed Magnitude ( Binary )
Using leftmost digit as representation of sign ( + or - ). Range of [-127, -0 , +0 , 127]
ONE’s Complement Process
Magnitude of negative numbers is represented by taking 1’s compliment of each bit. If there is a “carry 1”, we add it to the result.
TWO’s Compliment Process
Turning numbers into negative is: 1. Taking one’s compliment, 2. Adding 1 to that result to ignore carry bits.
Octal Numbers Range
Octal numbers are built from 8 octal digits: 0, 1, 2, 3, 4, 5, 6, 7.
Hexadecimal Numbers Range
Hex numbers are built from 16 digits: 0-9 and A-F
Boolean Algebra
Implies something that can be either true or false ( 0 or 1 ).
4 Main Boolean Operators
NOT, AND, OR, XOR
NOT Boolean Operator
Given a Boolean A, is the opposite of A.
AND Boolean Operator
Given 2 Booleans (A and B), is true if both A and B are true.
OR Boolean Operator
Given 2 Booleans (A and B), is true if either or both A or B are true.
XOR Boolean Operator
Given 2 Booleans (A and B), is true if either but not both A or B are true.
Truth Table
Mathematical table used to represent outputs of a Boolean function of all possible input combinations. n variables = 2^n rows.
Logic Gates
Boolean logic in computers is done through gates, made of transistor switches and others.
De Morgan’s Theorem
( A + B )’ = A’ * B’ or ( A * B )’ = A’ + B’
Boolean Functions
A Boolean function is a mathematical expression consisting of Boolean variables and operators ( OR, AND, NOT).
Literal: Boolean Functions
The variables used (A, B, C’)
Product term: Boolean Functions
Expression of literals combined by AND operator
Sum Term: Boolean Functions
Expression of literals combined by OR operator
Sum of Products: Boolean Functions
The sum of product terms
Product of Sums: Boolean Functions
The product of sum terms
Normal Term: Boolean Functions
A term without repeated variables
Shannon’s Expansion Theorem Steps
Identify pos or neg cofactors (e.g A = 1 and A = 0),
Apply theorem: (e.g. A · f (1, B, C) + A′ · f (0, B, C))
Substitute cofactors into equation
Combinatorial Logic
Digital logic where the result depends only on present inputs of the operation
Sequential Logic
Digital logic where the result depends not only on current inputs but also on past ones
Switches
A switch simply lets current flow completely or not at all. There are:
Relay (mechanical)
Vacuum tubes (electronic)
Transistors (electronic)
IC’s (tiny transistors)
Transistor
A 3 terminal electronic device made of semiconductor material. When input voltage at Base is below a certain value, transistor turns off and has HIGH output, and vise versa.
Universal gates
NOR and NAND. Easier to make many of same gates than many different gates.
Karnaugh Maps
Convenient way of representing a Boolean Function, with combinations in order: 00, 01, 11, 10. n variables = 2^n squares
Bus
A physical connect that allows transfer of data from one system location to another
Bus Width
Number of bits that can be sent through the bus (measured: bits)
Bus Speed
How quickly data can transfer across the bus. (measured: MHz)
3 Types of Bus Lines
Address Bus
Data Bus
Control Bus
Address Bus
Defines the location of communication
Data Bus
Defines data being communicated
Control Bus
Controls operations (e.g. start / end of transmissions etc.)
System Bus
Bus used to connect CPU, Memory, and a set of I/O modules
Point-to-Point Bus
Bus that carries signals from one specific location to a specific destination (e.g. ports)
Multipoint Bus
Bus that connects many points together
Memory
Electronic circuitry that holds data and program instructions. Often referred to as “primary Storage”
4 Types of Memory
RAM, ROM, Cache, and Virtual
2 Memory Categories (power related)
Volatile (needs power : RAM)
Nonvolatile (doesn’t need power: ROM)
2 Memory Categories (RAM related)
DRAM (Dynamic RAM): cheaper, needs less power, needs refresh, e.g. RAM)
SRAM (Static RAM): expensive\, complex, no need of refresh, e.g. Cache)
RAM
“Main Memory” , temporarily stores data during processing.
Properties of RAM
Grid of digital circuits representing 1 bit
Transistors to change bit value
1-bit circuits group into bytes
Each byte has a specific address
Volatile
Memory Address
Each memory cell has a unique address, to read or write from the cells via the address
Representation of 8 bits on a memory cell (RAM)
Part of an integer / real number
One alphanumeric character
small sound sample
One pixel value (8-bit color)
1/3 pixel value (24-bit color)
Clock Speed of CPU
Measured in GHz, determines processing speed. E.g. 2 GHz = 2 billion times/second
Cache
Smaller, faster memory between CPU and Main Memory for frequently used information.
Cache Hit
CPU looks in cache for data, if data is found: cache hit!
Cache Miss
CPU looks in cache for data, if data is not found: cache miss
Locality of Reference Principle (Cache)
What was accessed previously is likely to be accessed again, what is near previously accessed is more likely to be accessed.
L1 Cache
Even smaller, faster memory put directly onto CPU chip
L2 Cache
Sits between CPU and Main Memory, is checked after L1.
Virtual Memory
Virtual memory is used to “pretend” we have enough memory, e.g. a Hard Disk which creates a large virtual memory space. Ram is divided into pages, inactive pages go into Hard Disk and active ones into RAM. When a page is needed, they are swapped out.
Hard Drive’s Disk Cache
Hard Drives have their own cache, because of the dramatic difference between Hard Drive and Memory. The cache is put in the Hard Drives "Disk Controller”
ROM
Integrated circuit programmed with specific data when it’s manufactured. It has instructions for:
Starting computer
Runnings system diagnostics
Controlling BIOS.
You cannot reprogram or rewrite a ROM chip.
4 Types of ROM
PROM: Programmable ( Only once)
EPROM: Erasable Programmable ( Can be erased and rewritten with tools, after being removed and erased )
EEPROM: Electrically Erasable Programmable ( Can be erased with no special tools, does not have to be removed or FULLY erased, is slow )
FLASH Memory: Type of EEPROM, writes in chunks (is faster)
BIOS
“Basic Input/Output System”
Most common use of Flash Memory.
Boots OS
POST (power-on-self-test): ensure HW functions correctly
Activates other BIOS chips (e.g. Graphics card)
Provides instructions to OS for different HW devices
Structure of a Processor
Internal Interconnections (value transfer among components)
Controller (oversees operations, coordinates, manages timing)
Computational Engine (directed by controller, one operation at a time e.g. arithmetic, logical, bitwise)
Local Storage (temporarily store data values for operations)
External Interface (provides interaction with external: memory or I/O devices)
5 Processor Categories
Coprocessor
Microcontrollers
Embedded System Processors
Micro-sequencers
General Purpose Processors (CPU)
Coprocessor : Processor Categories
Works in conjunction and under control of other processors
Can perform a single task at high speed.
E.g. FPU, GPU
Microcontrollers : Processor Categories
Programmable
Control physical systems ( external HW)
Disadv : Tiny memory, slow processing capabilities
Adv: Require Limited power
E.g. Automatic doors, airplane landing gear, remote controls, toys etc.
Embedded Systems Processors : Processor Categories
Run sophisticated electronic devices
E.g. DVD Player (commands from remote or front panel), tablets, smartphones etc.
Micro-sequencers : Processor Categories
Controls coprocessor and others within a LARGER processor.
Does not perform operations, but generates addresses used by microprograms in CU.
CPU
Heart and Brain of a computer.
Carries out programs instructions, operates on the data stored in memory.
All circuits are stored on a single circuit
4 Main Components of the CPU
Control Unit
Arithmetic/Logic Unit
Registers
Clock
CPU - Memory Interaction
CPU:
Fetches data/instructions
Decodes and Executes
Stores data back to memory
next …
Registers
Single, permanent location in CPU for a specific purpose
Holds a binary value temporarily for:
storage
manipulation
simple calculations
Registers ( what they can hold )
Data being processed
Instruction being executed
Address to be accessed
Binary codes for other purposes
Registers ( operations performed on them )
Loading values (previous one destroyed)
Arithmetic operations on the value
Bit shifting (bits shifted left/right by 1 or more)
General Purpose Registers (GPR’s)
Can hold both data and memory addresses
Control Unit Registers
Program Counter ( PC )
Instruction Register ( IR )
Memory Address Register ( MAR )
Memory Data Register ( MDR / MBR )
ALU Registers
Accumulator: Temporarily holds data used for arithmetic or logical operations
Program Counter ( PC )
Holds address of next instruction to be executed
Instruction Register ( IR )
Holds instruction being executed
Memory Address Register ( MAR )
Holds memory address being accessed
Memory Data Register ( MDR / MBR )
Holds data to or from the memory address