Anda di halaman 1dari 32

Computer Hardware: Basic Denitions

Programming: The planning, scheduling, or performing of a task or event


Computer program: A sequence of instructions for a computer to execute
Computer: An electronic, programmable device that can store, retrieve, and process
data
Modern computers based on the von Neumann architecture
Information: General, abstract knowledge
Data: Information to be processed by a computer
Must be in form computer can understand
Computer converts data to information
Computer system consists of 2 general components:
1. Hardware
2. Software
Units
Unit Quantity symbol
Bit (binary digit) atomic piece of storage/memory b
Byte: 8 bits smallest standard size of storage/data B
Second s
Hertz Speed H
Common prexes
Prex Value Symbol Quantity
Tera 2
40
= 1, 099, 511, 627, 776 t memory, speed
Giga 2
30
= 1, 073, 741, 824 g memory, speed
Mega 2
20
= 1, 048, 576 m memory, speed
Kilo 2
10
= 1, 024 k memory, speed
Milli 10
3
(0.001) m time
Micro 10
6
(0.000001) time
Nano 10
9
(0.000000001) n time
1
Computer Hardware: Basic Denitions (2)
Approximations
Prex Approximate Value
Tera 10
12
= 1, 000, 000, 000, 000
Giga 10
9
= 1, 000, 000, 000
Mega 10
6
= 1, 000, 000
Kilo 10
3
= 1, 000
2
Computer Hardware: Basic Components
Represents physical components
2 general types
Computer proper
1. Main memory
2. Central Processing Unit (CPU)
3. Bus
Peripherals
Add-ons
E.g., printer, DVD drive, hard disk
3
Computer Hardware: Memory - Intro
Refers to data storage components of computer
Hierarchy of memory types:
Type Speed Cost Nature
Register fastest most expensive volatile
Cache volatile
RAM slowest least expensive volatile
ROM nonvolatile
Volatile memory loses its contents when computer is powered o
Stores everything used by the computer:
programs, data, ...
Stored electronically
Standard approach uses bi-stable (two-state) device
Transistors used - electronic switches
When voltage applied to base, electricity ows from collector to emitter
Switch is on
No voltage to base, no ow
Switch is o
Transistor represents a bit(binary digit) of data
Each transistor can represent 2 values:
on, and
o
Values represented as 1 and 0
Byte considered basic unit of storage
4
Computer Hardware: Memory - RAM
RAM stands for Random Access Memory
Consists of a linear sequence of storage locations (cells, words, ...)
Each byte has a unique address, numbered from 0 to total amount of memory - 1
Often, bytes grouped together into words
Memory generally measured in terms of mega or gigabytes
RAM is primary storage area for computer during operation
Often referred to as primary storage, main memory
Stores both programs and data
When power turned o, all switches open
Memory becomes 000000000000000...
Contents must be loaded during operation
Physically exists as an array of cells
Each row and column has a wired connection
To access a particular memory cell, activate the connections for its row and
column
5
Computer Hardware: Memory - RAM (2)
Types of RAM
Dynamic (DRAM)
Electricity stored in a capacitor
Transistor controls amount (voltage) stored
If greater than about 50% capacity 1
If less than about 50% capacity 0
Capacitors lose charge over time (msec)
Computer must refresh value in each bit on a regular basis
Done thousands of times per second
Hence: dynamic RAM
Static (SRAM)
Uses multiple transistors per bit
Value does not need to be refreshed
Compared to DRAM
1. Faster (no need to refresh)
2. More expensive
3. Larger
Hence, not used for main memory
Typical time to access data: 50 nsec
6
Computer Hardware: Memory - ROM
ROM stands for Read Only Memory
Often called BIOS (Basic Input Output System)
Data permanently stored - cannot be changed
Hardwired using diodes
Stores parts of operating system needed to start computer
7
Computer Hardware: Seconday Storage - Intro
Secondary storage refers to memory that is not part of the computer proper
Examples:
Disks
Tapes
CDR
DVD
Flash memory
These types of memory are nonvolatile:
They retain their contents when unpowered
Without secondary storage, programs, data, etc. would need to be typed into a
computer every time it was turned on
These devices generally are magnetic or optical in nature
8
Computer Hardware: Secondary Storage - Magnetic Devices
1. Disks
Typical disk structure:
Bits stored as alignments of magnetic particles
Microscopic magnetic particles have north and south poles
One alignment corresponds to a 1 bit, the other to a 0 bit
Data bits appear sequentially along a track
Disk addresses consist of track, block, and byte oset
Block size multiple of 512 bytes
Data transfer is a whole block at a time
9
Computer Hardware: Secondary Storage - Magnetic Devices (2)
Read/write process: Given a disk address to access
Disk spins
Typically 7200 rpm
8.33 msec per 1 rotation
Position arm over appropriate track
Called seek time
E.g., 0.02 msec to move to adjacent track
Wait until appropriate block rotates under head - latency time (fast)
Called (rotational) latency
E.g., 0.02 msec to move to adjacent track
Best case: 0 msec
Worst case: 8.33 msec
Read the block
Called read time
Requires 8.33/n msec, where n is number of blocks per track
10
Computer Hardware: Secondary Storage - Magnetic Devices (3)
Disk pack
Set of disks packaged as a rigid unit
Each arm has 2 read/write heads - one for each adjacent surface
Actuator moves arms as a unit
Disk address will include surface
Cylinder: set of tracks that can be read/written for a given position of the
actuator
Data transfers ow through a buer
Part of memory reserved for data transfers
Usually can hold several disk blocks
Want ecient data transfer
Factors that aect transfer speed:
Physical record structure
File organization
Buer management
11
Computer Hardware: Secondary Storage - Magnetic Devices (4)
Disk is a random access device
Can access disk address independently of others
2. Tape
Tape has 8 tracks
Each track stores one bit
Bytes stored sequentially along tape
Tape is sequential access device
Given an address, must pass over all data that precedes it
Signicantly slower than disk
Used for long-term storage of les
12
Computer Hardware: Secondary Storage - Optical Devices
CDR and DVD basically the same
Structure is similar to disk structure, except have continuous spiral instead of sepa-
rate tracks
Bits stored as dierences of reectivity
Laser shines on disk
Light is reected into a sensor
Bright interpreted as 1, dull as 0
CDROM
Plastic substrate has bumps burned in with laser
Shiny aluminum coated over the substrate
Laser light shining on a bump reected away from sensor, so appears dark (rep-
resenting a 0)
Data cannot be changed
13
Computer Hardware: Secondary Storage - Optical Devices (2)
CD-R
Uses a heat-sensitive, translucent dye instead of bumps
When heated, dye becomes opaque
To write a 0, heat spot on CD with write laser
More powerful than read laser
Read laser not strong enough to aect dye
Can only be written once
14
Computer Hardware: Secondary Storage - Optical Devices (3)
CD-RW
Uses a phase-change chemical
In crystalline form, is translucent
In amorphous form, is opaque
When melted and cooled quickly, becomes amorphous
When melted and cooled slowly, becomes crystalline
Initially, compound in crystalline form
To write a 0, melt and cool quickly
To overwrite a 0 with a 1, melt and cool slowly
15
Computer Hardware: Flash Memory
Flash memory is like ROM on the motherboard
However, it uses an EEPROM - Eelectronically Erasable Programmable ROM
Using transistors and quantum eects at the atomic level, a charge can be semi-
permanantly stored in a memory cell
The charge can be removed at a later date
16
Computer Hardware: Representation
1. Integers (whole numbers)
Each digit of a binary integer represents a power of 2
In decimal (base 10), each digit represents a power of 10:
1826
10
= 1 10
3
+ 8 10
8
+ 2 10
1
+ 6 10
0
In binary (base 2), each digit represents a power of 2:
10110101
2
= 1 2
7
+0 2
6
+1 2
5
+1 2
4
+0 2
3
+1 2
2
+0 2
1
+1 2
0
=
1 128 + 0 64 + 1 32 + 1 16 + 0 8 + 1 4 + 0 2 + 1 1 = 181
10
Note that the largest value that can be represented is limited by the amount of
storage allocated
If 1 byte is used for integers, the largest integer that can be represented is
11111111 = 2
8
1 = 255
If 2 bytes are used for integers, the largest integer that can be represented is
1111111111111111 = 2
16
1 = 65535
To convert decimal representation to binary: Cast out 2s
Steps:
(a) Divide decimal representation by 2
(b) Write down the remainder
(c) Repeat the previous 2 steps, using the quotient for the dividend
(d) Continue until quotient is 0
(e) Write the remainders in the reverse order in which they were calculated
Example: 53
10
(a) 53/2 = 26R1
(b) 26/2 = 13R0
(c) 13/2 = 6R1
(d) 6/2 = 3R0
(e) 3/2 = 1R1
(f) 1/2 = 0R1
(g) Answer = 110101
17
Computer Hardware: Representation (2)
Negative integers are represented using a leading 1
Ones complement
A leading 1 means a negative number
A leading 0 means a positive number
Remaining digits interpreted as above
Example: 10110101
2
=
(0 2
6
+ 1 2
5
+ 1 2
4
+ 0 2
3
+ 1 2
2
+ 0 2
1
+ 1 2
0
) =
(1 128 + 0 64 + 1 32 + 1 16 + 0 8 + 1 4 + 0 2 + 1 1) =
53
10
There is a problem with this representation:
1000000
2
= 0
10
0000000
2
= +0
10
Twos complement
Developed to eliminate above problem
To represent an integer in twos complement representation:
(a) Write the binary representation as usual
(b) Flip all the digits (1 0, 0 1)
(c) Add 1
Example: 53
10
(a) Binary representation of +53: 00110101
(b) Flip all the digits: 11001010
(c) Add 1: 11001011
Note that using either approach cuts the size of the largest integer that can
be represented in half
Ones complement:
Largest positive integer (1 byte): 01111111 = 127
10
Smallest negative integer (1 byte): 11111111 = 127
10
Twos complement:
Largest positive integer (1 byte): 01111111 = 127
10
Smallest negative integer (1 byte): 10000000 = 128
10
18
Computer Hardware: Representation (3)
2. Floating point (real) numbers
Represented using scientic notation:
32.746 10
7
= 327, 460, 000
In the computer, only the values are stored:
sign mantissa sign exponent
Since storage is of xed size, a xed set of bits are used for the mantissa and
exponent
In addition, the decimal point is assumed to be in a specic location
For example (base 10):
(a) Assuming decimal is in front of rst digit of mantissa
(b) 4 digits for mantissa
(c) 2 digits for exponent
327, 460, 000 = .32746 10
9
+3274 + 09
This leads to loss of precision (inability to represent all digits in original)
It increases the range of values that can be represented:
Largest value: 9999 10
99
(As opposed to 9999999 in decimal using 8 digits)
Binary representation is used for mantissa, exponent, and signs in the computer
19
Computer Hardware: Representation (4)
3. Characters
There is no direct correlation between printable characters and binary represen-
tation
Arbitrary codes are used
ASCII (American Standard Code for Information Interchange)
Standard code for representing characters
Uses 7 bits
A represented by 65
10
= 01000001
a represented by 97
10
= 01100001
1 represented by 49
10
= 00110001
Note: Character 1 not the same as the integer 1
Unicode
Extension of ASCII
Uses up to 4 bytes
EBCDIC
IBM standard for mainframes
4. Parity bits
Extra bit to help insure data integrity
Odd parity means the number of 1s in a byte will add to an odd number
The parity bit is set to insure this is the case
For example:
00110101 100110101
00110100 000110100
If an extended byte does not have the proper parity, an error has occured
20
Computer Hardware: Representation (5)
5. Hexadecimal
Used to simplify representation of binary values
Hexadecimal is base 16
Requires 16 digits
Uses letters in addition to the digits 0 - 9
hex digit 0 1 2 3 4 5 6 7 8 9 A B C D E F
value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Every byte can be represented by a pair of hex digits
Example:
11010010
2
is represented as 1101 = 13
10
= D, 0010 = 2
10
= 2, or D2
16
21
Computer Hardware: Central Processing Unit (CPU)
Brains of computer
Components:
1. Registers
Special high-speed memory cells local to the CPU
2. Arithmetic Logic Unit (ALU)
Performs computations
3. Control unit (CU)
Controls operation of the system
22
Computer Hardware: Central Processing Unit (CPU) (2)
Operation based on von Neumann architecture
1. Computer composed of following systems
(a) Memory
(b) CPU
(c) IO system
2. Programs are stored in memory
3. Program statements are executed sequentially
23
Computer Hardware: CPU - Registers
Storage local to CPU
High-speed memory directly accessible to CPU components
Examples:
1. General purpose registers to hold operands and results of computations
2. Accumulator - Specially designated register for operands and results
3. 0
4. +1
5. -1
6. Memory Address Register (MAR)
Stores address of memory location to be accessed
Must be large enough to store largest address in memory address space
E.g., 4GB = 2
30
memory requires 31 bits
7. Memory Data Register (MDR)
Stores data to be retrieved from or saved to memory
One or more bytes in width
8. Instruction Register (IR)
Holds instruction being executed
Must be large enough to hold largest instruction
E.g., 4, 8, 16 bytes
9. Program Counter (PC)
Holds address (in memory) of next instruction to be executed
Must be large enough to store largest address of memory reserved for holding
programs
24
Computer Hardware: CPU - ALU
Types of operations performed:
Arithmetic
Addition
Subtraction
Logic
AND
1 0
1 1 0
0 0 0
OR
1 0
1 1 1
0 1 0
NOT
1 0
0 1
EXCLUSIVE OR
1 0
1 1 0
0 0 1
Shifts
Shift left
11001010 10010100
Shift right
11001010 01100101
Rotate left
11001010 10010101
Rotate right
11001010 01100101
25
Computer Hardware: CPU - ALU (2)
Operands can be loaded from registers, or from elsewhere
Results can be stored into a register, or elsewhere
The control line selects the operation to be performed
Can be designed to perform more complex operations
But requires more circuitry
26
Computer Hardware: CPU - CU
Manages operation of computer
Operates using following cycle
1. Retrieve instruction from memory
(a) This step referred to as a fetch
(b) A copy of the instruction is loaded into the IR
(c) Increment the PC
It now holds the address of the next instruction to be executed
2. Decode the instruction
Each instruction is in binary format
Instructions of form opcode operands
There is one opcode for each specic operation the CPU can perform
Operands may take the form of actual values (e.g., 105, c) or addresses (where
values are stored)
Instructions may have from 0 to 3 operands
For example:
10100101 01100000
11010101 00000110
10000101 01100001
8 bit opcode, 8 bit operand
Performs x = y + 6
27
Computer Hardware: CPU - CU (2)
The instruction decoder circuit reads the opcode of the instruction
The circuitry of this decoder converts the opcode into signals that carry out
the execution of the instruction; e.g.
To add the contents of 2 registers and store the results into another register
To load the value at a particular memory address into the MDR
The signals enable various bus lines and devices needed for the task
3. Execute instruction
The circuitry carries out the task
28
Computer Hardware: CPU - Memory Access
Execution may require transfer of data between memory and CU
Fetch (read)
1. Load address into MAR
2. Copy contents of address into MDR
3. A fetch is non-destructive - contents of address are unaected
29
Computer Hardware: CPU - Memory Access (2)
Store (write)
1. Load address into MAR
2. Load value into MDR
3. Copy contents of MDR into address
4. A write is destructive - original contents of address are lost
30
Computer Hardware: CPU - Cache Memory
To speed up processing, CPU may have cache memory
This is high-speed memory local to CPU
Access time about 10 ns
Generally a few KB in size
Operation based on Principle of Locality:
What has been recently accessed is likely to be accessed again in near future
Used as follows:
When CPU needs something from memory
Search cache for item
if not found in cache
retrieve from main memory
store in cache
To see how it improves speed:
Assume memory fetch requires 50 ns
Assume memory fetch requires 10 ns
Assume data will be found in cache 60% of the time
Average time to fetch a piece of data:
(0.60 10) + (0.4 (10 + 50)) = 6 + 24 = 30 ns on average
Why not use cache for RAM if so fast?
Expensive
31
Computer Hardware: CPU - Processing Speed
Speed measured in
Hertz (mega, giga)
This refers to how fast the system clock ticks
MIPS (Millions of Instructions Per Second)
May require more than one clock tick per instruction
FLOPS (FLOating Point operations per Second)
Considered a more realistic measurement of speed
The system clock controls the speed at which instructions are executed
In general, each major step in CPU takes one clock cycle:
Fetch
Decode
Execute
Fetch data from memory
Write result to memory
Bus width aects transfer speeds
If bus width is 16 bits, but data is 32 bits, requires 2 memory fetches
32