Datorarkitektur: Course Information
Datorarkitektur: Course Information
com
Datorarkitektur
F 1 - 1
Datorarkitektur
F 1 - 2
Course Information
DATORARKITEKTUR
(Advanced Computer Architecture) Examination: written, 19 december 2000 kl. 14 - 18
Paul Pop Institutionen fr Datavetenskap (IDA) Linkpings Universitet email: [email protected] http://www.ida.liu.se/~paupo phone: 28 5628 E++ building
Lecture notes: available from the web page at least 24 hours before the lecture
Text book: William Stallings: Computer Organization and Architecture, 5th edition, Prentice Hall International, Inc., 2000.
Datorarkitektur
F 1 - 3
Datorarkitektur
F 1 - 4
Lectures 7 and 8. Superscalar Architectures: Instruction level parallelism and machine parallelism, Hardware techniques for performance enhancement, Data dependencies, Policies for parallel instruction execution, Limitations of the superscalar approach.
Lectures 9 and 10. VLIW Architectures: The VLIW approach - advantages and limitations. Compiling for VLIW architectures. The Merced (Itanium) architecture.
Lectures 3 and 4. Instruction Pipelining: Organization of pipelined units, Pipeline hazards, Reducing branch penalties, Branch prediction strategies.
Lectures 5 and 6. RISC Architectures: An analysis of instruction execution for code generated from high-level language programs, Compiling for RISC architectures, Main characteristics of RISC architectures, RISC-CISC trade-offs.
Lectures 11 and 12. Architectures for Parallel Computation: Parallel programms, Performance of parallel computers, A classication of computer architectures, Array processors, Multiprocessors, Multicomputers, Vector processors.
www.jntuworld.com
Datorarkitektur
F 1 - 5
Datorarkitektur
F 1 - 6
What is a computer?
1. What is a Computer/Computer System? 2. The von Neumann Architecture 3. Application Specic vs. General-Purpose 4. Representation of Data and Instructions 5. Instruction Execution 6. The Control Unit 7. The Computer System 8. Main and Secondary Memory 9. Input - Output Devices Computer Central Processing Unit (CPU)
A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main memory.
Main memory
data control
Datorarkitektur
F 1 - 7
Datorarkitektur
F 1 - 8
Computer peripherals include input devices, output devices, and secondary memories.
Computer system
Input device
Computer
Output device
Data and instructions are both stored in the main memory (stored program concept); The content of the memory is addressable by location (without regard to what is stored in that location); Instructions are executed sequentially (from one instruction to the next, in order of their location in memory) unless the order is explicitly modied. The organization (architecture) of the computer: - a central processing unit (CPU); it contains the control unit (CU), that coordinates the execution of instructions and the arithmetic/logic unit (ALU) which performs arithmetic and logic operations; - (main) memory. Computer
Secondary memory
Main memory
www.jntuworld.com
Datorarkitektur
F 1 - 9
Datorarkitektur
F 1 - 10
they can solve very different problems depending on the program they got to execute!
Main memory The primary function of a CPU is to execute the instructions fetched from the main memory. An instruction tells the CPU to perform one of its basic operations (an arithmetic or logic operation, to transfer a data from/to main memory, etc.). The CU is the one which interprets (decodes) the instruction to be executed and which "tells" the different other components what to do. The CPU includes a set of registers which are temporary storage devices typically used to hold intensively used data and intermediate results.
Datorarkitektur
F 1 - 11
Datorarkitektur
F 1 - 12
Representation of Data
Machine Instructions
A CPU can only execute machine instructions; Each computer has a set of specic machine instructions which its CPU is able to recognize and execute. A machine instruction is represented as a sequence of bits (binary digits). These bits have to dene: - What has to be done (the operation code) - To whom the operation applies (source operands) - Where does the result go (destination operand) - How to continue after the operation is nished 0 0 0 01 0 1 11 0 0 01 0 1 1
opcode operand operand (memory) (register)
Inside a computer, data and control information (instructions) are all represented in binary format which uses only two basic symbols: "0" and "1". The two basic symbols are represented by electronics signals.
Numeric data are represented using the binary system, in which the positional values are powers of 2: 100101 = 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 10110 = 0*20 + 1*21 + 1*22 + 0*23 + 1*24 Binary numbers are added, subtracted, multiplied and divided (by the ALU) directly; it is not needed to convert them to decimal numbers rst. 100101 + 10110 = 111011
The representation of a machine instruction is divided into elds; each eld contains one item of the instruction specication (opcode, operands, etc.); the elds are organized according to the instruction format.
www.jntuworld.com
Datorarkitektur
F 1 - 13
Datorarkitektur
F 1 - 14
Instruction Execution
The following four instructions perform Z:=(Y+X)*3:
Machine instructions are of four types: - Data transfer between memory and CPU registers - Arithmetic and logic operations - Program control (test and branch) - I/O transfer
Address 0 0 0 01 0 0 0 0 0 0 01 0 0 1 0 0 0 01 0 1 11 0 0 01 0 1 1
Move addr of Y Reg 3
0 0 0 11 0 1 11 0 0 00 0 1 1
Add addr of X Reg 3
Important aspects concerning instructions: - Number of addresses - Types of operands - Addressing modes Instruction set design - Operation repertoire - Register access - Instruction format
0 0 0 01 0 1 0
0 0 1 01 0 0 00 0 0 11 0 1 1
Mul operand "3" Reg 3
0 0 0 01 0 1 1
0 0 0 10 0 1 11 0 0 10 0 1 1
Move addr of Z Reg 3
.................................... 0 1 1 10 0 0 0 0 1 1 10 0 0 1 0 1 1 10 0 1 0 0 0 0 00 0 0 00 0 0 01 0 1 1 0 0 0 00 0 0 00 0 0 00 0 1 1 0 0 0 00 0 0 00 0 1 01 0 1 0
X Y Z
Datorarkitektur
F 1 - 15
Datorarkitektur
F 1 - 16
CPU
Control unit
ALU
Control unit
ALU
0 0 0 01 0 1 11 0 0 01 0 1 1 Instruction Register
0 0 0 00 0 0 00 0 0 00 0 1 1 Register R3
0 0 0 11 0 1 11 0 0 00 0 1 1 Instruction Register
0 0 0 00 0 0 00 0 0 01 1 1 0 Register R3
data
instructions
instructions
Main memory 0 0 0 01 0 1 11 0 0 01 0 1 1 0 0 0 11 0 1 11 0 0 00 0 1 1 0 0 1 01 0 0 00 0 0 11 0 1 1 0 0 0 10 0 1 11 0 0 10 0 1 1 0 0 0 00 0 0 00 0 0 01 0 1 1 0 0 0 00 0 0 00 0 0 00 0 1 1 x x x xx x x xx x x xx x x x
0 0 0 01 0 1 11 0 0 01 0 1 1 0 0 0 11 0 1 11 0 0 00 0 1 1 0 0 1 01 0 0 00 0 0 11 0 1 1 0 0 0 10 0 1 11 0 0 10 0 1 1 0 0 0 00 0 0 00 0 0 01 0 1 1 0 0 0 00 0 0 00 0 0 00 0 1 1 x x x xx x x xx x x xx x x x
www.jntuworld.com
Datorarkitektur
F 1 - 17
Datorarkitektur
F 1 - 18
CPU
CPU
Control unit
ALU
Control unit
ALU
0 0 1 01 0 0 00 0 0 11 0 1 1 Instruction Register
0 0 0 00 0 0 00 0 1 01 0 1 0 Register R3
0 0 0 10 0 1 11 0 0 10 0 1 1 Instruction Register
0 0 0 00 0 0 00 0 1 01 0 1 0 Register R3
data
instructions
instructions
Main memory 0 0 0 01 0 1 11 0 0 01 0 1 1 0 0 0 11 0 1 11 0 0 00 0 1 1 0 0 1 01 0 0 00 0 0 11 0 1 1 0 0 0 10 0 1 11 0 0 10 0 1 1 0 0 0 00 0 0 00 0 0 01 0 1 1 0 0 0 00 0 0 00 0 0 00 0 1 1 0 0 0 00 0 0 00 0 1 01 0 1 0
0 0 0 01 0 1 11 0 0 01 0 1 1 0 0 0 11 0 1 11 0 0 00 0 1 1 0 0 1 01 0 0 00 0 0 11 0 1 1 0 0 0 10 0 1 11 0 0 10 0 1 1 0 0 0 00 0 0 00 0 0 01 0 1 1 0 0 0 00 0 0 00 0 0 00 0 1 1 x x x xx x x xx x x xx x x x
Datorarkitektur
F 1 - 19
Datorarkitektur
F 1 - 20
Each instruction is performed as a sequence of steps; the steps corresponding to one instruction are referred together as an instruction cycle.
Fetch instruction
www.jntuworld.com
Datorarkitektur
F 1 - 21
Datorarkitektur
F 1 - 22
How are the elements inside the CPU and the interface to the external datapath controlled (synchronized) in order to work properly?
To perform this control, thats the task of the Control Unit System Bus CPU Registers
ALU
IR PC
Address Bus
Control Bus
Data Bus
Datorarkitektur
F 1 - 23
Datorarkitektur
F 1 - 24
Status&Cond. Flags
Control signals internal to the CPU Control unit Control signals on system bus Signals from system bus
CPU
Clock Techniques for implementation of the control unit: 1. Hardwired control 2. Microprogrammed control
CPU + main memory constitute the "core" of the computer system. Secondary memory + I/O devices are the so called peripherals. Communication between different components of the system is usually performed using one or several buses.
www.jntuworld.com
Datorarkitektur
F 1 - 25
Datorarkitektur
F 1 - 26
Memories
The main memory is used to store the program and data which are currently manipulated by the CPU. The secondary memory provides the long-term storage of large amounts of data and program. Before the data and program in the secondary memory can be manipulated by the CPU, they must rst be loaded into the main memory. The most important characteristics of a memory is its speed, size, and cost, which are mainly constrained by the technology used for its implementation. Typically - the main memory is fast and of limited size; - secondary memory is relatively slow and of very large size.
address decoder
data buffer
The main memory can be viewed as a set of storage cells, each of which can be used to store a word. Each cell is assigned a unique address and the addresses are numbered sequentially: 0,1,2,... . Besides the storage cells, there are a memory address buffer (storing the address of the word to be read/written) and a data buffer (storing the data read/to be written), the address decoder and a memory control unit.
Datorarkitektur
F 1 - 27
Datorarkitektur
F 1 - 28
Secondary Memory
The Main Memory (contd) Hard Disk: The most widely used technology to implement main memories is semiconductor memories. Data are recorded on the surface of a hard disk made of metal coated with magnetic material. The disks and the drive are usually built together and encased in an air tight container to protect the disks from pollutants such as smoke particle and dust. Several disks are usually stacked on a common drive shaft with each disk having its own read/write head. Main features: - Direct access - Fast access: seek time 10 ms data transfer rate 5 MB/s - Large storage capacity (8MB - several GB)
The most common semiconductor memory type is random access memory (RAM). The information stored in a RAM semiconductor memory will be lost when electrical power is removed.
www.jntuworld.com
Datorarkitektur
F 1 - 29
Datorarkitektur
F 1 - 30
Diskette: Data are recorded on the surface of a oppy disk made of polyester coated with magnetic material. A special diskette drive must be used to access data stored in the oppy disk. It works much like a record turntable of gramophone. Main features: - Direct access - Cheap - Portable, convenient to use Main standards: - 5 1/4-inch. Capacity 360 KB/disk - 3 1/2-inch. Capacity 1.44 MB/disk (about 700 pages of A4 text)
Magnetic tape: Magnetic tape is made up from a layer of plastic which is coated with iron oxide. The oxide can be magnetized in different directions to represent data. Its operation uses a similar principle as in the case of a tape recorder. Main features: - Sequential access (access time about 1-5 s) - High value of storage (50 MB/tape) - Inexpensive It is often used for backup or archive purpose.
Datorarkitektur
F 1 - 31
Datorarkitektur
F 1 - 32
Secondary Memory (contd) Optical Memory: CD-ROM (Compact Disk ROM): The disk surface is imprinted with microscopic holes which record digital information. When a low-powered laser beam shines on the surface, the intensity of the reected light changes as it encounters a hole. The change is detected by a photosensor and converted into a digital signal. - huge capacity: 775 MB/disk(550 diskettes). - inexpensive replication, cheap production. - removable. - read-only. - long access time (could be half a second). WORM (Write-Once Read-Many) CD: A laser beam of modest intensity equipped in the disk drive is used to imprint the hole pattern. - good for archival storage by providing a permanent record of large volumes of data.
Input-Output Devices
Input and output devices provide a means for people to make use of a computer. Some I/O devices function also as an interface between a computer system and other physical systems. Such interface usually consists of A/D and D/A converters.
Efcient for inputting Relatively slow, speed text depends on operator Easy to use Efcient for iconbased input, and menu selection Needs much software to make it versatile Needs much software support Needs much software support Slow
As above Used for games and Fast control Graphics input Copy pictures User friendly Input picture and freehand sketch
Erasable Optical Disk: combination of laser technology and magnetic surface technique. - can be repeatedly written and overwritten - high reliability and longer life than magnetic disks.
Fast input of graphics Bit-mapped graphics only No hands needed Limited vocabulary, Speech recognition software needed
www.jntuworld.com
Datorarkitektur
F 1 - 33
Datorarkitektur
F 1 - 34
Summary
Input-Output Devices (contd) Typical Output Devices
Device Main features Advantages Disadvantages Speed
Most versatile, Display Screen both text and graphics Line printer Dot matrix printer Inkjet printer Impact printer, Very fast. Versatile text and graphics
No waste No hard copy of paper etc. Can cope with high volume Large versions up to are very noisy 6000 cps up to 200 cps ~20 line/sec 20 000 line/min possible Pen up to 1 meter/s Normal speech
Mechanically si- small size; lower quality inexpensive then laser milar to above; printers dot produced by ejected ink droplet High quality text and graphics High quality graphics Very fast, high volume (used to be) expensive
Laser printer
large graph- Large ics output machine, possible expensive Limited range of sounds
Computer = CPU + Main Memory Computer System = Computer + Peripherals The CPU executes instructions stored together with data in the main memory. Von Neumann computers are general-purpose, programmable computers. Data and instructions are represented in binary format. Machine instructions are specic to each computer and are organized according to a certain instruction format. An instruction is performed as a sequence of steps; this is the instruction cycle. The currently manipulated program and data are stored in the main memory. This is organized as a set of storage cells each one having a unique address. Secondary memory can be a hard disk, diskette, magnetic tape or an optical device. Input-output devices provide a means for people to exchange information with the computer.
Datorarkitektur
F 1 - 35
We are interested in some advanced issues, typical to modern microprocessors and computer systems.
These advances are at the origin of high performance achieved with todays computers.
Advanced CPU structures and instruction execution strategies: - pipelining - RISC architectures - superscalar architectures - VLIW architectures