Lecture 2. How computer work? - Department of Computer Science

Download Report

Transcript Lecture 2. How computer work? - Department of Computer Science

Lecture 2. How does the
computer work?
Prof. Sin-Min Lee
Department of Computer Science
• Practice, Practice, Practice!
Use casette tape recorder to listen, practice
Try videotaping
Seek feedback from friends
Use phrases, not sentences
Notes separate from slides (don’t read slide)
Pick appropriate font, size (~ 24 point to 32 point)
Estimate talk length
2 minutes per slide
Use extras as backup slides (Question and Answer)
Use color tastefully (graphs, emphasis)
Don’t cover slides
Use overlays or builds in powerpoint
‘Computer” of the day
Jacquard loom
late 1700’s
for weaving silk
“Program” on punch cards
“Microcode”: each hole
lifts a set of threads
“Or gate”: thread lifted if
any controlling hole punched
Card Punch
• Early “programmers” were well-paid (compared to loom operators)
Computer Architecture =
Instruction Set Architecture + Machine Organization + …
Instruction Set Architecture
• Instruction set architecture is the attributes of a
computing system as seen by the assembly
language programmer or compiler. This includes
– Instruction Set (what operations can be performed?)
– Instruction Format (how are instructions specified?)
– Data storage (where is data located?)
– Addressing Modes (how is data accessed?)
– Exceptional Conditions (what happens if something goes
wrong?)
• A good understanding of computer architecture is
important for compiler writers, operating system
designers, and general computer programmers.
Understanding Computer Basics
Computer Case- The part of a computer system that houses the microprocessor, the RAM
(Random Access Memory), and the Motherboard. This case also houses the disk drives.
CPU (Central Processing Unit) - A chip or circuit that interprets and executes programs by
processing a list of machine instructions which perform binary operations on data stored in
memory. The portion of hardware in a computer which interprets instructions and then
executes them. It is the heart of any computer system.
Memory-
The internal component that the computer uses to temporary store data and
programs . There are two kinds of computer memory: RAM (Random Access Memory) and
ROM (Read-Only Memory). RAM loses its data if the power is turned off; ROM retains its
information whether the computer has power or not. Users are unable to erase ROM. Not to be
confused with storage devices such as hard drives, floppy disks, or other such devices. Data is
processed in RAM memory; it is stored on a storage device.
Motherboard- The main circuit board in the computer.Every device is connected
to the Motherboard. Also called planar, system board, or backplane, depending on
the architecture of the board.
Aug. 31, 2004, 12:05AM
Big gain in small package
Intel test chip boasts technology to add to
speed
Intel, the world's biggest semiconductor maker, said Monday
it built a test chip with a new process that creates faster
circuits by packing 10 million transistors into an area the size
of the tip of a ballpoint pen.
Intel, based in Santa Clara, Calif., has made the first working
memory chip that uses so-called 65-nanometer technology to
shrink the circuits inside chips, Intel researcher Mark Bohr
said during a conference call.
Video Card –This card connects to the Motherboard and the computer monitor
connects to the videocard. That is how images are interpreted and displayed to the
monitor.
Network card- Device connected to the motherboard which is used for communicating
on a network to other computers, printers and other electronic devices (ex. Phones, cell
phones ect…)
Network Card- Device connected to the motherboard which is used for
communicating on a network to other computers, printers and other electronic devices
(ex. Phones, cell phones ect…)
Network Card Driver- A program that instructs the device on how to operate.
Hard Drive- A device that is connected to the motherboard and is used for storage of
data files. Usually this device is referred to as your c:\ drive. Storage capacity can be
measured in Kb, Mb, Gb and Tb.
Floppy Drive- A device that is also connected to the motherboard that allows you to
use a portable storage media called floppies;which are used to store data. The floppies
come 5 ¼’’(which are no longer popular) and 3 ½’’ sizes (which is still the most
widely used media up-to-date.). The floppies storage capacity is no where near the
storage capacity of a harddrive. ( Ex. 1Gb Harddrive can hold information that is on
695 floppies);Get the point?
Bit
so a k is...
k in computing is short for kb or kilobyte
where kilo means the same as anywhere else in our measurement system:
1000
so a k is 1000 bytes
how about Mb?
b for byte again, and M for mega: megabyte
big M for mega, small m means milli, or one thousandth, 1/1000
as in mm, thousandths of a metre
mega in our measurement system means one million, 1 000 000
or a thousand thousand, so a megabyte is a thousand kilobytes or one million
bytes
how about GB?
you can now buy hard disk drives in Gb, gigabytes, thousands of Mb or
thousands of millions of bytes, so a 5Gb HDD holds 5000 Mb of data
with some large computers storing up to Tb, terabytes...
yup, thousands of Gb...
so one terabyte (Tb) = 1000 gigabytes (Gb) = 1000 000 megabytes (Mb) =
1000 000 000 kilobytes (kb) = 1 000 000 000 000 bytes or one thousand
billion bytes of information
CD-ROM DRIVE- means Compact Disk - this drive uses a laser to read (read-only) the
information in the tiny but complex pattern stamped permanently onto computer compact disks.
Read Only Memory CD's are much tougher than floppies, and hold more than 600Mb of
information CD-writer drives are now available,so people can burn their own CDs, e.g. to backup
files permanently established computer shops or print shops now have their own CD-writers, and
will backup your files by burning them.You can also record your music CD.
What is a Computer?
•
•
•
•
•
•
Data
Primitive Operations
Sequence Control
Data Access
Storage Management
Operating
Environment
May be actual hardware
computer or softwaresimulated computer.
Most computers a
combination of the
two.
In mathematics you don't understand things. You just get
used to them.
John von Neumann
Typical Machine Layout
Two cycles:
•Fetch cycle - get instruction
•Execute cycle - do operation
Typical Machine Execution
Typical fetch cycle: (M(x) means contents of x)
1. M(IC)  MAR [Memory Address register]
2. IC +1  IC [Instruction Counter]
3. Read memory into MDR [Memory Data
Register]
4. MDR  IR [Instruction Register for
decoding]
Typical Machine Execution
(continued)
Typical execute cycle: (OP R,X, DISP is instruction)
1. IR decoded into OP R, EA
–
–
–
OP is operation code (e.g., 8 bits)
R is register (e.g., 4 bits -- 16 registers)
EA is effective address (e.g., 20 bits)
2. M(X)+DISP  MAR (EA  MAR)
3. Read memory into MDR
4. M(R)  ALU; M(MDR)  ALU
5. Do operation OP in ALU; ALU  R
For 500 MHZ: Each instruction 9-10 cycles (50 MIPS)
By overlapping fetch and execute cycles, get 60-70 MIPS
Typical Machine Translation
Instruction format:
Opcode
register, index, offset
load
R1, R2, 24
For example: As we see later, memory for data in blocks of storage
pointed to by a register:
X=Y+Z
could be translated as:
load R1, R2, 28
[Location of Y]
add R1, R2, 40
[Location of Z]
store
R1, R2, 24
[Location of X]
Ways to Construct a Computer
• Hardware Realization
– Any precisely defined algorithm or data
structure may be realized in hardware.
• Firmware Realization
– Microprogramming or emulation
• Virtual Machine
– Provided by a language environment
• Combination
Von Neumann Model of Execution
Instruction
Obtain instruction from program storage
Fetch
Instruction
Determine required actions and instruction size
Decode
Operand
Locate and obtain operand data
Fetch
Execute
Result
Store
Next
Instruction
Compute result value or status
Almost all Modern
Computers are
Von Neumann
machines
Deposit results in storage for later use
Determine successor instruction
Decimal system, base 10
•
•
•
•
•
•
•
History -- we have 10 fingers
253 means 2*100 + 5*10 + 3*1
1,10,100 (from R to L) are the “weights”
10 digits, values 0 through 9
After 9 comes 10 (double digits)
Grade school learn by rote 7*9 = 63
Nothing magic -- we are trained on it
Octal system, base 8
•
•
•
•
•
•
•
Mickey Mouse has 8 fingers
253 means 2*64 + 5*8 + 3*1
1, 8, 64 are the weights
8 digits, values 0 through 7
After 7 comes 10
Used to display memory addresses in some
older computers e.g., 177462
Hexadecimal system, base16
•
•
•
•
•
•
16 digits, values 0 - 9 and A-F
3B6 means 3*256 + B*16 + 6*1
1, 16, 256 are the weights
After F comes 10
Used to display memory addresses in most
modern computers e.g., 3C0F 95EA
Binary system, base 2
•
•
•
•
•
2 digits, values 0 and 1
1011 means 1*8 + 0*4 + 1*2 + 1*1
1, 2, 4, 8 are the weights
After 1 comes 10
Count 0 1 10 11 100 101 110 111 1000
Binary system, base 2
• Used to do calculations in all computers
• Used to store values in memory and on disk
• Not practical for people
•
100101011101 = 4701
Best way to use number systems
• Binary system inside the computer
• (storage and calculations reduce to simple
•
logic, the main subject of Comp 120)
• Input-Output done in decimal for user
• Software translates in both directions
Convert Binary to Decimal
• Binary Value 10101
• 1*16 + 0*8 + 1*4 + 0*2 + 1*1 = 21
•
•
•
•
Convert these:
1100 = ?
1001 = ?
0111 = ?
Convert Decimal to Binary
Given decimal value 53
53
64
21
32
1
18 = ?
31 = ?
5
16
1
8
0
4
1
2
0
1
1
1
Decimal notation with fractions
•
•
•
•
•
•
72.53 means:
7*10 + 2*1 + 5*.1 + 3*.01
The “.” is the decimal point
Weights are 100 10 1 “.” .1 .01 .001
This is not scientific notation
This is not floating point storage
Binary notation with fractions
•
•
•
•
•
•
•
110.10 binary means:
1*4 + 1*2 + 0*1 + 1*.5 + 0*.25 = 6.5 dec
The “.” is the binary point
Weights are 8 4 2 1 “.” 1/2 1/4 1/8
This is not scientific notation
This is not floating point storage
11.11 binary = ? decimal
Memorize dec, hex, binary counts
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
8
9
10
11
12
13
14
15
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
Convert Binary to Power 2 base
• Very easy -- convert digit-by-digit
• A27F <=> 1010 0010 0111 1111 (Hex-Bin)
• 327 <=> 011 010 111 (Octal-Binary)
• B4C5 = ?
• 1010 0110 1001 = ?