0% found this document useful (0 votes)
9 views29 pages

Lecture 1

The document outlines the course structure for CPE 411/611 Digital Computer Architecture and Design, taught by Dr. Mircea Nicolescu, including contact information, grading criteria, and required textbook. It covers course objectives, topics of study such as computer evolution, performance, and architecture, as well as the distinction between computer architecture and organization. Additionally, it highlights the relevance of the course for various roles in computer engineering and software development.

Uploaded by

tegegne ayalew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views29 pages

Lecture 1

The document outlines the course structure for CPE 411/611 Digital Computer Architecture and Design, taught by Dr. Mircea Nicolescu, including contact information, grading criteria, and required textbook. It covers course objectives, topics of study such as computer evolution, performance, and architecture, as well as the distinction between computer architecture and organization. Additionally, it highlights the relevance of the course for various roles in computer engineering and software development.

Uploaded by

tegegne ayalew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

CPE 411 / 611

Digital Computer Architecture


and Design

Instructor: Mircea Nicolescu

Lecture 1
Contacts
• Instructor: Dr. Mircea Nicolescu
− E-mail: mircea@cse.unr.edu
− Office: SEM 232
− Office Hours: Wednesday: 9:00am-12:00pm

• Class web page:


− http://www.cse.unr.edu/~mircea/Teaching/cpe411_611

2
Assignments and Exams
• Homework assignments and quizzes (40%)
− Written exercises and small assembly programs
• Midterm exam (25%)
− Closed book, closed notes
• Final exam (30%)
− Closed book, closed notes
− Comprehensive, although focused on the second half
of the course
• Attendance and class participation (5%)

3
Late Submission Policy

• No late assignments will be accepted

Warning:

Dates in the calendar are closer than they appear!

4
Required Textbook
• Computer Organization & Architecture,
7th Edition, by William Stallings, Prentice Hall, 2006.

5
Course Objectives
• Review development of computer systems

• Examine the design and operation of the major


building blocks of a computer system

• Investigate performance enhancements for each


component

6
Introduction
• 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!

7
Introduction

• Best way to learn:


− Focus on a specific instance and study how it works
− Meanwhile, learn general principles and historical
perspectives

8
Classes of Computers
• Desktop computers
− A.k.a. personal computers
− Only about 30 years old!
− Good performance, single user, low cost
− Execute third party software

9
Classes of Computers
• Servers
− A.k.a. 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

10
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

11
What Are We Studying?
• Computer Evolution and Performance
− Organization and Architecture
• The Computer System
− Computer Interconnection Structures
− Cache Memory
− Internal Memory
− External Memory
− Input/Output
− Operating System Support

12
What Are We Studying?
• The CPU
− Computer Arithmetic
− Instruction Sets
− Characteristics and Functions
− Addressing Modes and Formats
− Processor Structure and Function
− RISC
− Superscalar Processors
• The Control Unit
− Control Unit Operation
− Microprogrammed Control
• Parallel Processing

13
Why 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
14
Why Study It?
• Relevant for computer engineers, but also for:
− Compiler writers
− Operating system designers
− Database programmers
− Most software engineers

15
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

16
Applications
• Applications desired but impractical not long ago:

− ATMs
− Embedded systems (e.g., computers in cars)
− Laptop computers
− World Wide Web

17
Trends in Computer Usage
• Four levels of increasing sophistication:

18
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
19
Programming Perspective
• Need to hide the lower-
level details

20
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?

21
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”

22
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?

23
Internet Resources
• http://WilliamStallings.com/COA/COA7e.html
− links to sites of interest
− errata list for book
• http://WilliamStallings.com/StudentSupport.html
− Math
− How-to
− Research resources

24
Internet Resources
• WWW Computer Architecture Home Page
• CPU Info Center
• Processor Emporium
• ACM Special Interest Group on Computer
Architecture
• IEEE Technical Committee on Computer
Architecture
• Intel Technology Journal
• Manufacturer’s sites
− Intel, IBM, etc.

25
Internet Resources
• comp.arch
• comp.arch.arithmetic
• comp.arch.storage
• comp.parallel

26
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)

27
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…
28
Announcements
• Readings
− Chapter 1

29

You might also like