Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

Computer Architecture and

Organization (Eeng 3192)


Instructor: Eneyachew T.
1. Basic Info + Introduction
Basic Info
• Instructor: Eneyachew Tamir
• Email: wte97@yahoo.com
• Office: Power Lab, 4th door
• Important notes:
– Lecture and tutorial dates are changed:
• Lecture: Tuesday
• Tutorial: Friday
Important notes…
• Assessment
– Assignments:
• Assignment 1 (due Feb 05) from chapters 1 and 2 15%
• Assignment 2 (due Mar 28) from chapter 3 30%
• Assignment 3 (due April 26) from chapter 4 20%
• Assignment 4 (due May 13) from chapters 5 & 6 15%
– Quizzes:
• Quiz 1 (March) 10%
• Quiz 2 (April) 5%
– Mid Exam (April 05) 40%
– Final (as per the program) 60%
– Attendance 5%
Assignment submission
• Policy:
– No late assignments will be accepted
– Two or more assignments with EXACTLY SAME
solutions will all be disqualified
– Dates may vary
Course Objectives
• Review development of computer systems
• Examine the design and operation of the major
building blocks of a computer system
– Distinguish b/n architecture and organization
– Identify basic hardware components and how
they’re integrated
– Describe relationship b/n instruction sets and HW
• Investigate performance enhancements for
each component
Chapter 1 - Introduction
• In this chapter:
– Digital computers
– Computer organization and architecture
– Computer evolution and performance
Digital computers
• A digital computer is a digital system that performs
various computational tasks
– First digital computers – developed for computation
– Digital – info is represented by variables that take limited
no of discrete values
– Discrete values are processed internally by components
that maintain limited no of states
– In practice, digital computers function more reliably if
only 2 states are used. This is because:
• Limitation of components
• Human logic tends to be binary
– Info is represented in digital computers in groups of bits
Digital computers
• How do computers work?
• What do we mean by a computer?
− Different types: desktop, servers, embedded devices
− Different uses: general computation, graphics, finance,
genomics, automobiles…
− Different manufacturers: Intel, Apple, IBM, Sun…
− Different underlying technologies and different costs

• Historically, a computer was a job title, not a piece of


equipment!
Classes of computers
• Desktop computers
– Personal computers
– Only about 40 years old
– Good performance, single user, low cost
– Execute third party software
Classes of computers
• Servers
− mainframes, minicomputers, supercomputers
− Accessed via network
− Large workloads
− Single complex application (scientific, engineering, etc)
− Many small jobs (WWW)

− Customized applications, for particular function


− Emphasis on dependability
Classes of computers
• Embedded computers
− Found in cars, airplanes, washing machines, cell
phones, digital TVs
− One application only, or small set of applications
− Integrated with hardware
− Cost and power constraints
− Limited performance, but least tolerance for failure
What are we studying?
• Computer Evolution and Performance
– Organization and Architecture
• The computer system
– Basic components
– Interconnection
• The CPU
– Computer Arithmetic
– Instruction Sets
• Characteristics and Functions
• Addressing Modes and Formats
What are we studying
• The CPU …
– Processor Structure and Function
– RISC
– The Control Unit
• Control Unit Operation
• Implementation
• Memory Unit
– Memory hierarchy
– Cache memory
– Main memory
– External memory
What are we studying…
• Input output
– Peripheral devices
– I/O techniques
– DMA

• Operating systems
• Parallel processing
Why we study it
• Build software that people use (need performance)
• Make a purchasing decision or offer “expert” advice
• Understand the performance impact of both
hardware and software:
− Algorithm determines number of source-level statements
− Language/Compiler/Architecture determine machine instructions
− Processor/Memory determine how fast instructions are executed
Applications
• Applications that drive computer performance:
− Weather forecasting
− Oceanography
− Seismic/petroleum exploration
− Medical research and diagnosis
− Aerodynamics and structure analysis
− Nuclear physics
− Artificial intelligence
− Military
− Socio-economics
How do computers work?
• Need to understand abstractions such as:
– Applications software
– Systems software
– Assembly language
– Machine language
– Architectural issues: i.e., caches, virtual memory,
pipelining
– Sequential logic, finite state machines
– Combinational logic, arithmetic circuits
– Boolean logic, 1s and 0s
– Transistors used to build logic gates (CMOS)
– Semiconductors used to build transistors
– Properties of atoms, electrons, and quantum dynamics
Architecture and Organization
• Distinction between architecture and organization:
• Computer architecture:
− Attributes visible to the programmer
− Instruction set, number of bits used for data
representation, I/O mechanisms, memory addressing
techniques
− Example: Is there a multiply instruction?
Architecture and Organization
• Computer architecture – cont.:
− Baer:
− “The design of the integrated system which provides a useful
tool to the programmer”
− Hennessy and Patterson:
− “The interface between the hardware and the lowest level
software”
− Foster:
− “The art of designing a machine that will be a pleasure to
work with”
Architecture and Organization
• Computer organization
− How features are implemented
− Realize the architectural specifications
− Hardware details transparent to programmer
− Control signals, interfaces between computer
and peripherals, memory technology
− Example: Is there a hardware multiply unit or
is it done by repeated addition?
Architecture and Organization
• Computer manufacturers offer a family of models:
− Same architecture
− Different organizations
• Examples:
− All Intel x86 family share the same basic architecture
− The IBM System/370 family share the same basic
architecture
• What are the benefits?
− Code compatibility (at least backwards)
− Customization (different constraints on performance
and price)
Architecture and organization
• Example: instruction set architecture
– A very important abstraction
– Interface between hardware and low-level software
– Standardizes instructions, machine language bit
patterns, etc.
• Advantage
– Different implementations of the same architecture
• Disadvantage
– May prevent new innovations
• Modern instruction set architectures:
– IA-32, PowerPC, MIPS, SPARC…
Study:
Text – Chapter 1
Ref 1 – Chapter 1

Next class:
> performance
> chapter 2

You might also like