![Page 1: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/1.jpg)
1
CCSE251 CCSE251 Introduction to Computer Introduction to Computer
OrganizationOrganization
OverviewOverview
![Page 2: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/2.jpg)
2
What is Computer Organization about?What is Computer Organization about?
Computer Organization refers to the level of abstraction above the digital logic level, but below the operating system level.
At this level the major components are functional units or subsystems that correspond to specific pieces of hardware (e.g., memory, register) built from the lower level building blocks (e.g., logic gates)
How does a computer work???
![Page 3: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/3.jpg)
3
Why Study Computer Organization?
• Gain an understanding of the underlying implementation of code.– pointers, memory usage, code constructs
• Design better programs.– including system software such as compilers, operating
systems, and device drivers.
• Learn important computer science concepts.– dual between hardware and software
• Optimize program behavior.
• Understand time, space, and price tradeoffs.– hardware or software decisions?
![Page 4: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/4.jpg)
4
Principle of Equivalence of Hardware Principle of Equivalence of Hardware and Softwareand Software
• Anything that can be done with software can also be done with hardware, and anything that can be done with hardware can also be done with software.
• Assumes speed and cost are not a concern.
• Hardware is almost always faster and more expensive.
![Page 5: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/5.jpg)
5
Computer ComponentsComputer Components
• At the most basic level, a computer is a device consisting of three pieces:
![Page 6: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/6.jpg)
6
Computer Level HierarchyComputer Level Hierarchy
• A hierarchical design divides a computer system into manageable layers.
– Each layer can be implemented without intimate knowledge of the other layers.
– Each layer is an abstraction of the level below it.
• Each layer executes their own particular instructions, calling upon lower layers to perform tasks as required.
• Computer circuits ultimately carry out the work.
![Page 7: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/7.jpg)
7
Computer Level HierarchyComputer Level Hierarchy
![Page 8: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/8.jpg)
8
Computer Level HierarchyComputer Level Hierarchy
• Level 6: User– Program execution
and user interface level.
– The level with which we are most familiar.
![Page 9: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/9.jpg)
9
Computer Level HierarchyComputer Level Hierarchy
• Level 5: High-Level Language– The level with
which we write programs in languages such as C, Pascal, Lisp, and Java.
![Page 10: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/10.jpg)
10
Computer Level HierarchyComputer Level Hierarchy
• Level 4: Assembly Language– Acts upon
assembly language produced from Level 5, as well as instructions programmed directly at this level.
![Page 11: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/11.jpg)
11
Computer Level HierarchyComputer Level Hierarchy
• Level 3: System Software– Controls executing
processes on the system.
– Protects system resources.
– Inserts system library code.
– Assembly language instructions often pass through Level 3 without modification.
![Page 12: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/12.jpg)
12
Computer Level HierarchyComputer Level Hierarchy
• Level 2: Machine– Also known as the
Instruction Set Architecture (ISA) Level.
– Consists of instructions that are particular to the architecture of the machine.
![Page 13: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/13.jpg)
13
Computer Level HierarchyComputer Level Hierarchy
• Level 1: Control– A control unit
decodes and execute instructions and moves data through the system.
– Internal to the microprocessor and can be microprogrammed or hardwired.
![Page 14: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/14.jpg)
14
Computer Level HierarchyComputer Level Hierarchy
• Level 0: Digital Logic– This level is
where we find digital circuits (the chips).
– Digital circuits consist of gates and wires.
– These components implement the mathematical logic of all other levels.
Note: Gates are abstractions of actual hardware.
![Page 15: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/15.jpg)
15
We are going to coverWe are going to cover
![Page 16: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/16.jpg)
16
von Neumann Modelvon Neumann Model
• von Neumann computers have the following characteristics:– Three hardware systems:
• A central processing unit (CPU)• A main memory system• An I/O system
• The capacity to carry out sequential instruction processing.
• A single data path between the CPU and main memory.– This single path is known as the von Neumann
bottleneck.
![Page 17: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/17.jpg)
17
von Neumann Architecturevon Neumann Architecture
• This is a general depiction of a von Neumann system:
• These computers employ a fetch-decode-execute cycle to run programs as follows . . .
![Page 18: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/18.jpg)
18
von Neumann Architecturevon Neumann Architecture
• The control unit fetches the next instruction from memory using the program counter to determine where the instruction is located.
![Page 19: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/19.jpg)
19
von Neumann Architecturevon Neumann Architecture
• The instruction is decoded into a language that the ALU can understand.
![Page 20: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/20.jpg)
20
von Neumann Architecturevon Neumann Architecture
• Any data operands required to execute the instruction are fetched from memory and placed into registers within the CPU.
![Page 21: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/21.jpg)
21
von Neumann Architecturevon Neumann Architecture
• The ALU executes the instruction and places results in registers or memory.
![Page 22: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/22.jpg)
22
History of Computing DevicesHistory of Computing Devices
• Generation Zero: Mechanical Calculating Machines (1642-1945)
• First Generation:Vacuum Tube Computers (1945-1953)
• Second Generation:Transistorized Computers (1954-1965)
• Third Generation:Integrated Circuit Computers (1965-1980)
• Fourth Generation:VLSI Computers (1980-present)
![Page 23: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/23.jpg)
23
Generation Zero:Generation Zero:Mechanical Calculating Machines Mechanical Calculating Machines
(1642-1945)(1642-1945)
• Calculating Clock - Wilhelm Schickard (1592 - 1635).• Pascaline - Blaise Pascal (1623 - 1662).• Difference Engine - Charles Babbage (1791 - 1871), also
designed but never built the Analytical Engine.• Punched card tabulating machines - Herman Hollerith (1860
- 1929).
![Page 24: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/24.jpg)
24
Generation Zero:Generation Zero:Mechanical Calculating Machines Mechanical Calculating Machines
(1642-1945)(1642-1945)
• Charles Babbage
• Analytical Engine• Started in 1834• Never finished• No Hertz Rating
![Page 25: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/25.jpg)
25
First Generation:First Generation:Vacuum Tube Computers (1945-1953)Vacuum Tube Computers (1945-1953)
• Atanasoff Berry Computer (1937-1938)– John Atanasoff and Clifford Berry of Iowa
State University– solved systems of linear equations.
• Electronic Numerical Integrator and Computer (ENIAC) (1946) – John Mauchly and J. Presper Eckert of
University of Pennsylvania– First general-purpose computer.
![Page 26: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/26.jpg)
26
First Generation:First Generation:Vacuum Tube Computers (1945-1953)Vacuum Tube Computers (1945-1953)
Eckert and Mauchly
• 18,000 Vacuum tubes• 1,800 instructions/sec• 3,000 ft3
![Page 27: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/27.jpg)
27
Second Generation:Second Generation:Transistorized Computers (1954-1965)Transistorized Computers (1954-1965)
• IBM 7094 (scientific) and 1401 (business)• Digital Equipment Corporation (DEC) PDP-1• Univac 1100• Control Data Corporation 1604• . . . and many others
![Page 28: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/28.jpg)
28
Third Generation:Third Generation:Integrated Circuit Computers (1965-Integrated Circuit Computers (1965-
1980)1980)• IBM 360• DEC PDP-8 and PDP-11• Cray-1 supercomputer• . . . and many others
• By this time, IBM had gained overwhelming dominance in the industry.– Computer manufacturers of this era were characterized
as IBM and the BUNCH (Burroughs, Unisys, NCR, Control Data, and Honeywell).
![Page 29: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/29.jpg)
29
Fourth Generation:Fourth Generation:VLSI Computers (1980-present)VLSI Computers (1980-present)
• VLSI (very large scale integration) enable more than 10,000 components per chip.
• The first was the 4-bit Intel 4004.– first microprocessor
• Later versions, such as the 8080, 8086, and 8088 spawned the idea of “personal computing.”
![Page 30: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/30.jpg)
30
Fourth Generation:Fourth Generation:VLSI Computers (1980-present)VLSI Computers (1980-present)
Intel 8086• 29,000 transistors• 33 mm2
• 5 MHz• Introduced in 1979
– Basic architecture of the IA32 PC
![Page 31: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/31.jpg)
31
Fourth Generation:Fourth Generation:VLSI Computers (1980-present)VLSI Computers (1980-present)
Pentium• 3,100,000 transistors• 296 mm2
• 60 MHz• Introduced in 1993
– 1st superscalar implementation of IA32
![Page 32: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/32.jpg)
32
Multi Core ProcessorsMulti Core Processors
• A single chip has multiple processing units– Dual core has 2 processing units– Quad core has 4 processing units
• Allows multiple programs to be executed at once.• Programs can also take advantage of multiple processing
units.– Software must be specifically designed to do this.– Software is hard to write
• Faster than having multiple processors (each on a separate chip)– Processing elements are “closer”– Communication off-chip is slow
![Page 33: CCSE251 Introduction to Computer Organization](https://reader036.vdocuments.us/reader036/viewer/2022062408/568137d1550346895d9f7212/html5/thumbnails/33.jpg)
33
What next?What next?
• Enormous improvements in computational power require departure from the classic von Neumann architecture.
• Possible 5th generations?– A computer that would use artificial intelligence
techniques to learn, reason, and converse in natural languages resembling human languages.