Вы находитесь на странице: 1из 19

CE224: Computer Organization

Chapter 1: Basic Structure of Computers

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Chapter Outline

Computer types, structure, and operation Instructions and programs Numbers, arithmetic operations, and characters Performance issues Historical perspective

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Types of computers

Embedded computers Personal computers Servers and Enterprise systems Supercomputers and Grid computers Cloud computing

9/9/2013

CE224 - Dr. Hassanein Shaban

Classes of Computer Applications

Desktop computers: designed for use by an individual, usually incorporating a graphics display, keyboard, and mouse. Servers: used for running larger programs for multiple users or programs that require continuous online access. They are typically accessed only via a network. Supercomputers: A class of computers with the highest performance and cost. They are configured as servers and typically cost millions of dollars. Embedded computers: are inside another device used for running one predetermined application or collection of software. Examples: cell phones, video games, digital TVs, PDAs, etc.

9/9/2013

CE224 - Dr. Hassanein Shaban

What is Computer Organization?

The high level organization of the computer hardware (Above logic design level of abstraction) Cache size, multiplier algorithm, interconnect datapath width, etc. Result is a hardware specification that can be implemented in particular technologies

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Functional units

Input: Typical devices keyboard, touchpad, mouse, microphone, camera, communication lines, the Internet Output: Typical devices text and graphics displays, printers

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Functional units (Contd)


Primary memory (also called Main memory)

semiconductor bit cells, organized into words of typically 32 bits a 32-bit word contains four 8-bit bytes a personal computer memory might hold 2 to 4 Gigabytes (109 bytes) programs and their data must be in this memory to be executed

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Functional units (Contd)


Secondary memory

magnetic disks, optical disks, flash memory devices these devices are used to store program and data files a magnetic disk can store 500 or more Gigabytes

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Functional units (Contd)


Cache memory

an adjunct to the main memory, fabricated on the processor chip much smaller and faster than the main memory holds sections of the program and data currently being executed

9/9/2013

CE224 - Dr. Hassanein Shaban

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Functional units (Contd)


Processor

logic circuits for performing arithmetic and logic operations on word-size data operands timing and control circuits for fetching program instructions and data from memory, one after another registers (typically 16 or 32), each of which hold one word of operand data

Moores Law (mid 60s): integrated circuit density doubles every 18 months, and its been true for 35 years running!
9/9/2013 CE224 - Dr. Hassanein Shaban 10

Components of the Computer


Memory 10010011 00011101 10010011 00011101 Input Output

Keyboard Disk

Monitor

01011010 11000011
Mouse

Printer Scanner

CPU
ALU Registers

Control Unit

9/9/2013

CE224 - Dr. Hassanein Shaban

11

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Instructions and Programs

An instruction specifies an operation and the locations of its data operands. A 32-bit word typically holds one encoded instruction A sequence of instructions, executed one after another, constitutes a program Both a program and its data are stored in the main memory

9/9/2013

CE224 - Dr. Hassanein Shaban

12

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Instruction types
Three basic instruction types:

Load - Read a data operand from memory or an input device into the processor Store - Write a data operand from a processor register to memory or an output device Operate - Perform an arithmetic or logic operation on data operands in processor registers

9/9/2013

CE224 - Dr. Hassanein Shaban

13

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Example program

A, B, and C, are labels representing memory word addresses; Ri are processor registers A program for the calculation C=A+B is: Load Load Add Store R2, A R3, B R4, R2, R3 R4, C

9/9/2013

CE224 - Dr. Hassanein Shaban

14

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Processor components

The program counter (PC) register holds the memory address of the current instruction The instruction register (IR) holds the current instruction General purpose registers hold data and addresses Control circuits and the arithmetic and logic unit (ALU) fetch and execute instructions

9/9/2013

CE224 - Dr. Hassanein Shaban

15

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

9/9/2013

CE224 - Dr. Hassanein Shaban

16

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Fetching and executing instructions


Example: Load R2, LOC

The processor control circuits do the following:


Send address in PC to memory; issue Read Load instruction from memory into IR Increment PC to point to next instruction Send address LOC to memory; issue Read Load word from memory into register R2

9/9/2013

CE224 - Dr. Hassanein Shaban

17

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Handling I/O devices


An application program can:

Read data (such as a keyboard character) from an input device Write data (such as letter character) to an output display screen Sense the readiness of an input or output (I/O) device to perform a transfer

9/9/2013

CE224 - Dr. Hassanein Shaban

18

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Interrupts
A device ( such as an alarm indicator) can raise an interrupt signal to cause a service program to be executed The interrupt signal causes the processor to suspend the current program and execute an interrupt-service program

9/9/2013

CE224 - Dr. Hassanein Shaban

19

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Numbers
A 32-bit integer in positional binary notation has its bits labeled as: B = b31 b30 . . . b1 b0

If bit bi = 1, then 2i is added into the sum that determines the value of B

9/9/2013

CE224 - Dr. Hassanein Shaban

20

10

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Numbers
For signed integers, the leftmost bit always indicates the sign: 0 for positive 1 for negative There are three ways to represent signed integers: Sign and magnitude 1s complement 2s complement

9/9/2013

CE224 - Dr. Hassanein Shaban

21

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

9/9/2013

CE224 - Dr. Hassanein Shaban

22

11

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

2s-complement integers
2s-complement representation is used in current computers Consider a four-bit signed integer example: The value +5 is represented as: 0101 To form the value -5, complement all bits of 0101 to obtain 1010 and then add 1 to obtain 1011

9/9/2013

CE224 - Dr. Hassanein Shaban

23

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Addition
Examples of adding 4-bit numbers 0001 + 0 1 011 -------------0110 +1 + +5 -------+6 0100 +4 + 1010 + -6 ------------- -----1110 -2

9/9/2013

CE224 - Dr. Hassanein Shaban

24

12

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Subtraction
Form the 2s-complement of the subtrahend and then perform addition 1110 - 1011 ------------2 - -5 -----+3 1110 + 0101 -------------0011

9/9/2013

CE224 - Dr. Hassanein Shaban

25

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Overflow
Two examples of overflow; that is, when the answer does not fit in the number range 0110 + 0100 -----------1010 +6 + +4 -----+10 1110 1001 ---------0111 -2 + -7 ------9

9/9/2013

CE224 - Dr. Hassanein Shaban

26

13

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Sign extension
Extend 4-bit signed integers to 8-bit signed integers 0101 1110 00000101 11111110

9/9/2013

CE224 - Dr. Hassanein Shaban

27

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Character encoding
American Standard Code for Information Interchange (ASCII) uses 7-bit codes Examples: character code A 1000001 7 0110111 + 0101011

9/9/2013

CE224 - Dr. Hassanein Shaban

28

14

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Floating-point numbers
32-bit signed numbers have a limited range Integers (with their binary point fixed at the right end) have a magnitude up to 1010 Fractions (with their binary point fixed just after the sign bit) have a magnitude down to 10-10

9/9/2013

CE224 - Dr. Hassanein Shaban

29

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Floating-point numbers
A larger range can be obtained by letting the binary point float to the left or right < ..1 1 0 1 0 1 > Arithmetic unit operations automatically adjust the binary point as computation proceeds

9/9/2013

CE224 - Dr. Hassanein Shaban

30

15

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Floating-point numbers
A floating-point number can be represented in a 32-bit word as follows: 1 8 23 bit for the sign of the number bits for a signed exponent to a base of 2 significant bits in the form 1.xx.x The value represented is: +/- 1.xx.x X 2exp

9/9/2013

CE224 - Dr. Hassanein Shaban

31

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Performance
How quickly can a program be executed ? Some factors: Speed of electronic circuits in the processor Access times to the cache and main memory Design of the instruction set Number of operations that can be done at the same time (parallelism)

9/9/2013

CE224 - Dr. Hassanein Shaban

32

16

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Parallelism

Multiple processors, called cores, can be fabricated on a single VLSI chip The cores can execute different parts of a program at the same time A large number of multi-core processors with multiple caches and memory modules can be organized into a multiprocessor system to execute programs at the same time

9/9/2013

CE224 - Dr. Hassanein Shaban

33

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Historical perspective

Up to the 1940s: mechanical devices, electromechanical relay devices

Konrad Zuse (Berlin, Germany), developed in 1935 with instruction cycle time: 6 s ~ 0.17 Hz.

9/9/2013

CE224 - Dr. Hassanein Shaban

34

17

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Historical perspective (Contd)

First generation computers, 1945-1955: vacuum tube circuits, magnetic core memories

John Von Neumann (1952) with his new machine

9/9/2013

CE224 - Dr. Hassanein Shaban

35

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Historical perspective (Contd)

Second generation, 1955-1965: transistor circuitry, magnetic disk data storage

In 1955, IBM unveiled its IBM704, First machine with floating point logic (5 kFlops, clock: 300 kHz)

9/9/2013

CE224 - Dr. Hassanein Shaban

36

18

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Historical perspective (Contd)

Third generation, 1965-1975: integrated circuits for processors and memory

Digital Equipment Corporation introduced the PDP-8 in 1965, the first TRUE minicomputer.

9/9/2013

CE224 - Dr. Hassanein Shaban

37

2011 McGraw Hill, Computer Organization and Embedded Systems, by C. Hamacher et. al.

Historical perspective (Contd)

Fourth generation, 1975-present: microprocessors on a single VLSI chip, personal computers, embedded systems, very high performance multiprocessors. Example: the Pentium 4 (2003)

9/9/2013

CE224 - Dr. Hassanein Shaban

38

19

Вам также может понравиться