Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Organization

Similar presentations


Presentation on theme: "Computer Organization"— Presentation transcript:

1 Computer Organization
David Monismith Jan. 12, 2015 Based on notes from Dr. Bill Siever and from the Patterson and Hennessy Text

2 Before we start with notes
Syllabus Review Class Roll

3 Recommendations Take notes in class
I'll use pptx slides and write on the white board Outline of class notes should be posted online before each class I will make mistakes, feel free to correct me as necessary Start on assignments early Why? Programming is a nonlinear process The amount of effort put into a project doesn't always correlate linearly with the results Attend class Attend office hours and help sessions if you get stuck Don't give up!

4 What is Computer Organization?
How system internals are organized, how a computer works, design tradeoffs Basic parts of a computer are CPU, Interconnect, Main Memory, Secondary Storage, and I/O We will discuss layering of software, hardware, and programming tools Application layer resides atop Operating System Operating System manages resources to interact with hardware

5 Programs as Layers High level language (like Java)
Assembly language (low level language between what the machine understands and high level language) add r1, r2, r3 Machine Code (code the computer understands) Zeroes and ones

6 Hardware Layers Basic computer parts (CPU, Main Memory, etc.)
Subsystems/Sub-components (ALU, Control Unit, Registers, etc.) Logic gates (AND, OR, NOT, NOR, XOR, etc.) Electrical/Electronic Circuits (resistors, capacitors, transistors, diodes, amplifiers, etc.) Be aware that hardware is one layer out of many that exist in a computer. Software is another layer.

7 Course Overview Computer Organization - internal organization of a computer, what are the basic components, how does a computer work, what are the tradeoffs in design, etc. Building blocks of a computer Machine Representation of Data Digital Logic State Machines Performance Measures Memory Organization Communication between components Advanced topics

8 Course Overview – Building Blocks
Logic gates – and, or, not, nor, xor, nand, etc. Flip-flops – not the kind you wear Used to store a bit Registers – not the kind for cash Fast memory to store data on the CPU Interconnects – used to connect components together (e.g. CPU and Main Memory) Control – how to make things happen in the computer Memory – data storage (temporary, semi permanent, and permanent)

9 Course Overview – Machine Representation of Data
Bits, bytes, words Number bases Low-level machine organization von Neumann machine control unit instruction sets and types

10 Course Overview – Digital Logic
Boolean algebra Logical expressions Logic gates Clocks

11 Course Overview – Performance Measures
Cycles Per Instruction (CPI) Floating Point Operations Per Second (FLOPS) Millions of Instructions Per Second (MIPS) Average Memory Access Time (AMAT) Speedup And many more…

12 Course Overview – State Machines and Memory Organization
Mealy and Moore Machines Deterministic vs. Non-Deterministic Memory Cache (memory on CPU) Main Memory (e.g. RAM) Secondary Memory (Hard disks and SSDs) Data structures for management including Translation Lookaside Buffer

13 Course Overview - Advanced Topics
Parallelism (implicit and explicit) Multiprocessing Pipelining Superscalar Architectures SIMD instructions CUDA And more…

14 Software Tools MARS JLS Linux Assembly Language IDE for MIPS Simulator
MIPS = Microprocessor without interlocked pipeline JLS A Digital Logic simulator Can simulate gates (AND, OR, NOT, etc.) Simulate parts of the CPU (Control Unit, ALU, etc.) Linux

15 Hardware Tools Breadboards Physical logic gates and wiring
Used to power and build real logical circuits, microcontrollers and very simple computers Physical logic gates and wiring LittleFe – a cluster computer for educational use Your laptops and university desktops

16 A Brief History of Computers
Computers are used for symbolic manipulation Symbols are used to represent an idea Hieroglyphs and abacus used to keep track of trading, crops, money in agrarian societies Need to keep track of information!

17 Early Symbolic Manipulators
Written symbols Abacus and Slide rule Difference Engine and Analytical Engine (Charles Babbage) (1830s s) Ada Lovelace recognized as the first programmer for programs for Babbage's invention Joseph Jacquard developed a loom that could follow a process in 1810 Pascal developed adding machines in the 1600's

18 Early Computers Large, power hungry, and slow Filled entire buildings
ENIAC (mid 1940's) by J. Presper Eckert and John Mauchly Used to find artillery range based upon trajectories Grace Hopper recorded the first computer bug (a moth) in 1945 She helped to coin the term debugging UNIVAC (1951) was used by US Census Bureau

19 Next time More history and introduction to performance


Download ppt "Computer Organization"

Similar presentations


Ads by Google