computer architecture ii - dmcsneo.dmcs.p.lodz.pl/archkomp/intro_ak2-en.pdf · computer...
TRANSCRIPT
1
Computer Architecture II
Contact:dr in ŜŜŜŜ. Witold Mara ńńńńdaDepartment of Microelectronics and Computer Sienceul. Wólcza ńńńńska 221/223, B18, room 50www.dmcs.p.lodz.pl
Final mark:examination: 70%laboratory: 30%
Course contentFundamentals of modern computer architectures:• computer number systems and arithmetics• basics of machine language• processor datapath and control• microprogrammed architecture• pipelined architecture• cache memory systems• virtual memory concept• advanced computer arithmetics
• redundant & residue numbering systems• fast adders and multipliers
Laboratory: arbitrary architecture simulator:• microprogramming• pipelined processing
2
References - textbooks
J. L. Hennessy, D. A. Patterson, Computer Organization & Design, 2nd Ed., Morgan-Kaufmann Publishers, 1998.3rd Ed., Morgan-Kaufmann Publishers, 2005.
A. S. TanenbaumStrukturalna organizacja systemów komputerowych.Wydanie V, Helion, 2006
W. Stallings, Organizacja i architektura systemu komputerowego, WNT, 2000.
Introductory lecture
A very brief
History of computation,numbering systems
and computing machines
3
Perceprion of Quantity
Natural human quantity perception does not exceed 3 or 4
In order to deal with anything more than 4 we need tools: numerals
Counting
without numbers
Human body can (and still) providebasic tools for complex counting.
Many names of numerals in modern languages originate from partsof human body.
5
Notation
Lycia (Asia Minor) 500-0 p.Chr.
Etruskan Civ. 600-400 p.Chr.
Numbering systems
Additive:• simplest and oldest• value is the sum of symbols• easy addition and subtraction• difficult multiplicatin and division
Positional:• currently in use• value is the position-weighted sum• concept of null symbol – zero• easy arithmetics: +,-,*,/ and other
6
Additive SystemAdditive SystemAdditive SystemAdditive System
X X X I I I123456
numberDigit position
X6 = X5 = X4 = tenPosition does not matter
Value is the sum of digits(with some minor modifications)
X X X I I I = X+X+X+I+I+I = 10
Digit (symbol) has constant valueX=VV=IIIIIIIIII, V=IIIII, I=1
Zero
0 1 2 3 4 5 6 7 8 9
Digit 0 has a very special meaning –- marks the lack of digit- marks the position
Number 10 – in any numbering system is the first composed number
1 2 3 4 5 6 7 8 9 10 ?
7
Positional System
1 3 4 1 ≠≠≠≠ 1 4 3 10123
numberdigit position
1 ≠≠≠≠ 1Digit position (!) does matter
1341 = 1·103+3·102+4·101+1 ·100
Value is the weighted sum of digits.The weights are successive powers of the base
Positional System
am·bm + am-1·bm-1+...+ a1·b1 + a0·b
0
am am-1 ... a2 a1 a0 b – basem...0 – position
eg. Decimal system: 0 1 2 3 4 5 6 7 8 91234 = 1*103 + 2*102 + 3*101 + 4*100 (decimal)
Octal system: 0 1 2 3 4 5 6 71207 = 1*83 + 2*82 + 0*81 + 7*80 (decimal)
Hexadecimal system: 0 1 2 3 4 5 6 7 8 9 A B C D E Fa2f5 = 10*163 + 2*162 + 15*161 + 5*160 (decimal)
8
Babylonian numeralsBabylonian numeralsBabylonian numeralsBabylonian numerals1900 BC
Sexagesimal positional system (base-60)
Binary System
The simplest of all: digits 0 i 1
Ideally suited to make use of any two-state phenome na:• sound: short/long: Morse code• color: black/while: stripe codes• voltage: high/low: bits in computer systems
Two-stated coding system is the fundation of reliab ility of digital technique – only two opposite state are a llowed,and no intermediate levels.
9
Natural Binary Code
NBC
Decimal value of NBC number:
an-1 ... a1 a0,
is calculated according to the formula:
an-1·2n-1 + ...+ a1·21 + a0·2
0
Binary digit (0 or 1) – bit ( binary digi t)
Bytes & Words
Binary numbers can be of arbitrary length,but the dominating practise is to use the following standards:
8-bits – Byte , B16-bits – Word , W32-bits – Long (Double) Word , L64-bits – Quad Word , Q
Byte: 0 ... 2 8-1 = 0 ... 255Word: 0 ... 2 16-1 = 0 ... 65,535L.Word: 0 ... 2 32-1 = 0 ... 4,294,967,295Q.Word: 0 ... 2 64-1 = 0 ... 18446744073709551615
Ranges (for NBC)
10
Kilo, Mega, Giga ...(in computer sciences)
The International System of Units (SI): 1 k = 1000, 1 M = 1000 k, 1 G = 1000 M
In computer memory systems, the smallest transferra bleamount of information is 1 Byte = 1 B (8 bits = 8 b ).Memory capacities are commonly expressed in B only,regardless the internal memory organization.
1 kB = 210 B = 1024 B1 MB = 210 kB = 1024 kB1 GB = 210 MB = 1024 MB
Hard drive: 500 GB 465 GBBussiness vs Computer Science
History of computation
Prehistory • numerals: one, two, ... many• tools: stones, bones, sticks
3000-500 BC.• abacus
11
History ...
17th century
1622 - slide rule,William Oughtred, England
1642 - adding machine (Pascalina), Blaise Pascal
History ...
17th century
Gottfried Leibniz (1646-1716), Germany
1673 - four-operation calculation machine
Discovery of binary system (Ying-Yang influence)
12
History ...Jacquard’s loom —
first programmable machine19th century
The Program(input)
The Machine(processing)
The Output(Woven Fabrics)
History ...
Charles Babbage machines:
"Difference Engine": value tables of polynoms
"Analytical Engine": basic idea of a universal computer
13
History ...
19th centurymechanical arithmometers (number crunchers) using punched cards (perforated cards)
20th century
Complex mathematical problems for military purposes:
• ballistics,• ciphering (Enigma),• nuclear weapon research
History ...
Alan Turing
• study on automated mathematical problem solving
• Idea of universal machine executing algorithm based on input data (symbols) and its internal state - Universal Turing Machine (UTM)
• conception of personality as a convoluted algorithm: "Turing Test" starts discussion/research about artificial intelligence.
HUMAN: "I don't have anything against my father. He was okay ..."ELIZA: "Tell me more about your family."
John von Neumann
• concept of modern computer that consists of: central processing unit, memory, peripherals. Computer processes program stored in memory.
14
History ...
• length 120m , height 2.5m, weight 5t, wires length 700km• 760.000 components, mostly electromechanical relays• use: military ballistic calculations• output device: electrical typewriter• speed: multiplication ca. 3s
1944 — Mark I : first electromechanical computer
History ...1944 — ENIAC (Electrical Numerical Integrator And Calculator) :vacuum tube technology: 1 st generation computers (1944-55)
17.468 tubes, 70.000 resistors, 10.000 capacitors, 1.500 relays, 6.000 manual switches and 5 million s older joints area 167 m 2, weight 30 tons, power 160 kilowatts(during turning on caused light dimming in nearby P hiladelphia)
Within 1s ENIAC (1000 times faster than any comput er built till this time)
performed: 5,000 summations, 357 multiplications or 38 divisions. Programming was based on electrical connecting modu les that were responsible for certain computations (hardwired programming) an d used to take weeks.Machine needed frequent and wearing maintenance.
15
History ...1947 — transistorsemiconductor electronics: 2nd generation computers (1956-1963)
• low voltage,• low power consumption, • small dimensions,• high reliability.
History ...1958 — integrated circuit: 3rd generation computers(1964-1972)
Complicated electronic device build on silicon plat e surface(transistors, diodes, resistors and connections)
fabricated in a single process,high density of components and low power consumptio n.
16
History ...1971 — microprocessor Intel 40044th generation computers(1973-1977)
Intel 4004 - dimensions: 3mm x 4mm consisted of 2300 transistors, computing power similar to ENIAC (18.000 tubes).In 1972r. space probe Pioneer 10 already used Intel 4004
Combine in a single integrated circuit: control uni t, general purpose and arithmetic registers.Next generations of microprocessors mostly differ o nly by components density (number of integrated elements). General id ea remains unchanged.
History ...
1976 — first microcomputerApple I
Steven Wozniak,Steve Jobs
Microprocessor:MOS 6502, 1 MHzRAM memory: 8 KBROM memory: 256 bytes
Personal computers (PC)
17
History ...
1977 - Apple II
Microprocessor: MOS 6502, 1 MHzRAM memory: 4 KB (do 64KB) ROM memory: 12 kBBuilt-in BASIC interpreterProduced in different versions till 1993.
1980 - Apple III
Microprocessor: MOS 6502A, 2 MHzRAM memory: 128 KB (up to 256KB) ROM memory: 16 kB
History ...1982 - Lisa/Lisa 2Microprocessor: Motorola MC68000, 5MHzRAM memory: 1 MBROM memory:16 kBSystem operacyjny: Lisa OS
1984 - MacintoshMicroprocessor: Motorola MC68000, 7.83MHzRAM memory: 128 KB (up to 512kB)ROM memory:64 kBOperating system: Macintosh System 1.0
1987 - Macintosh IIMicroprocessor: Motorola MC68020, 15.66MHzRAM memory: 1MB (up to 8MB)ROM memory:256 kBOperating system: Macintosh System 4.0
1989 - Macintosh PortableMicroprocessor: Motorola MC68HC000, 16MHzRAM memory: 1MB (up to 9MB)ROM memory:256 kBOperating system: MacOS 6.0.4 do 7.5.5
18
History ...
1981 — Personal Computer (PC) - IBM (5150)
• First 16-bit microprocessor Intel 8088, clock 4.77 MHz.
• 16kB memory, expandable to 256kB,• floppy disk drive, capacity 160kB,• color monitor,• price 1565$ (equivalent to present
4000$),• BASIC interpreter built-in ROM memory• DOS operating system (a little later)
“Open architecture” concept — the reason of great popularity until today
History ...1983 - IBM PC/XT (5160) Microprocessor: Intel 8088, 4.77MHzRAM memory: 64-640kB (depending on model)Video card: CGA (320x200 / 640x200)Operating system: MS-DOS 2.0FDD 5.25”, HDD 10,20MB
1983 - IBM PC JuniorMicroprocessor: Intel 8088, 4.77MHzRAM memory: 64 KB (do 640kB)Video card: CGA (320x200 / 640x200)Operating system: MS-DOS 2.0Mass storage.: tape, option: FDD 5.25”
1984 - IBM PC Portable (5155) Microprocessor: Intel 8088, 4.77MHzRAM memory: 256 KB (do 640kB)Video card: CGA (320x200 / 640x200)Operating system: PC-DOS 2.11x lub 2x FDD 5.25”
1984 - IBM PC/ATMicroprocessor: Intel 80286, 6MHzRAM memory: 512 KB (do 3MB)Video card: EGA (640x350)Operating system: MS-DOS 3.0HDD,FDD
19
PC ?
Ever growing complexity
SSI (small-scale integration): Up to 100 electronic components per chip MSI (medium-scale integration): From 100 to 3,000 e lectronic components per chip LSI (large-scale integration): From 3,000 to 100,00 0 electronic components per chip VLSI (very large-scale integration): From 100,000 t o 1,000,000 electronic components per chip ULSI (ultra large-scale integration): More than 1 m illion electronic components per chip
20
World of computers
Embedded computers:machine control and
signal conversion
Supercomputers –scientfic computations
Personal computers(PC)
Computer architecture
ALU
InternalRegisters
ROM, RAM
In/Out
CPU
• Computer is composed of processing unit (CPU), memo ry and I/O• Computer is executing commands stored in the memory .• Commands controll very simple operations with ALU a nd
internal registers and memory transfers.• Human-computer interaction is carried out with Inpu t/Output
(I/O) peripheral devices.
21
Machine code
0100100000001000110010100000101111111110
Memory spaceROM + RAM
48h
08h
CAh
0Bh
FEh
..., 48, 08, CA, 0B, FE, ...
• Computer instructions (program code) in memoryare stored as binary numbers
• Machine code is a sequence of binary numbers,that can be directly "understood" by the CPU
Programming directly in machine code is extremelydifficult, but it was a necessity for I and II generationof computers.
np.
Assembly language
48h
08h
CAh
0Bh
FEh
MOV BL,8
ADD BL,B
INC BL
e.g....MOV BL,8ADD BL,BINC BL...
• Every machine command can be assigned an easy to memorize abbreviationcalled "mnemonic".
• Writing programs with mnemonics is called assembly language, which isquite easy to use.
• Program in assembly language cannot be executed directly by CPUand requires a translation program called "assembler".
• Due to the direct connection between machine command and mnemonics,assembler are relatively simple programs.
• Reverse process, i.e. translations from machine code to assembleris called "disassembling"
...MOV BL,8ADD BL,BINC BL...
Asembler ..., 48, 08, CA, 0B, FE, ...
22
High-level languages
• Data abstraction - operation on variable without direct operationson internal registers or memory locations.
• Complex data types - easy declaration and use of tables, stacks, queues, trees, etc• Advanced and intuitive control instructions: IF-THEN-ELSE, FOR, DO-WHILE, etc.• Freedom in program composition - better adjustment to human preferences.• Managing the complex computer program is possible only at high level !
• High-level programs need very complex translators - compilers.• Process of compilation is usually long• Generated machine code is guaranteed NOT to be optimal (size, speed)• If something goes wrong, tracing back the cause is extremely difficult
Evolution of user interface
1945-1955
Users Application Type of user interface
experts calculator none
1955-1965 scientists calculations textual –simple commands
1965-1985 trainedpersonnel
data processing textual –complex command,semi-graphics
1985-1995 hobbyists work and leisure graphical –simple menusand forms
1995-2005 many people multimedia,contextual,task oriented
work,communication,leisure
2005- most of people intuitive (?)personalassistant
23
Future of user interface
Dealing with TB computer data capacities and PB resources of computer networksis beyond human perception.Classical file-based operating system becomes"uncomfortable" for majority of users
• Interpretation/guessing the user needs
• Informal/casual syntax of command
• Very high abstraction of system tasks
• Programming by demonstration
• Divers and disperse I/O's
• User bio-interfaces
More that just a machine
• Physical computer: processor, memory, main board, extension cards, monitor, etc...
• Logical computer: programs, documents, catalogs,data files, etc...
• Virtual computer: user interface, look&feel , WWW