Title: ECE 456 Computer Architecture
1ECE 456 Computer Architecture
- Instructor Dr. Honggang Wang
- hwang1_at_umassd.edu, II-209B
- Fall 2013
2Welcome to ECE456!
- Todays lecture
- Course Syllabus Operational Details
- Background Survey
- Introduction to Computer Systems
3Course Description
- 3 credit units
- meet on Mon Wed 200 315pm, in II- 212
- Prerequisites
- ECE 260 or equivalent basic digital logic design
and computer design - ECE 161 or CIS 215 or equivalent introductory
programming ability - Not a lab course
- Not a programming course either
4Course Topics
- Overview of computer organization and
architecture - Memory hierarchy and virtual memory
- Input/output virtual I/O, I/O methods
- CPU organization, registers, instruction sets,
pipelining - CPU design RISC vs. CISC, super-scalar
processors, IA-64 - Control unit implementation, micro-programming
- Parallel computers Flynn's taxonomy,
organizations
5Related Courses
- ECE 562 Advanced Computer Architecture (Spring,
required for CPE, elective for ELE) - ECE 561 Computer Systems (Graduate student)
- ECE 566 Microprocessor I
- (Fall, elective for both CPE and ELE)
- ECE 567 Microprocessor II
- (Spring, elective for both CPE and ELE)
6Learning Objectives (1)
- Upon completion of this course, you should be
able to - Gain an understanding of the role of each
component of a computer system such as CPU,
memory, I/O, and busses as well as how they work
together - Understand how interrupt mechanism works and its
role in contemporary computer architecture - Understand the memory hierarchy, and learn how
virtual memory works - Design memory according to required organization
schemes such as one-word-per-chip and
one-bit-per-chip - Design error detecting and correcting logic and
codes in memory - Understand the function and operation of the CPU
7Learning Objectives (2)
- Upon completion of this course, you should be
able to - Learn the modern CPU design techniques
- Learn how microprogramming and assembler
instructions are used to control the operation of
the CPU - Develop an understanding of the format of
instruction sets and the operation of the
instruction cycle - Write assembler routines using a given
instruction set - Understand the concept of pipelining and
parallelism - Acquire an understanding of how the modern
computers tolerate faults - Research and discuss an advanced topic in
computer organization and architecture
8Resources (1)
- Required Textbook
- W. Stallings, "Computer Organization and
Architecture Designing for Performance (8th Ed.,
2009)", NJ Prentice Hall - available in the university bookstore
- Lecture notes, available from the class website
9Resources (2)
- References
- M. Murdocca and V. Heuring, Computer
Architecture and Organization, John Wiley
Sons, 2007 - A.S. Tanenbaum, Structured Computer Organization
(5th Ed., 2005), NJ Prentice Hall - B. Parhami, Computer Architecture, Oxford
University Press, 2005 - J. L. Hennessy D. A. Patterson, "Computer
Architecture A Quantitative Approach (3rd Ed.)",
Morgan Kaufmann, 2002
10Resource (3) - Course Website
- Http//www.faculty.umassd.edu/honggang.wang/teachi
ng.html, click Click under ECE456 - News and announcements
- Syllabus, Major deadlines,
- Homework, Project
- Lecture notes, Exams
- Frequently asked questions on assignments, exams
- Relevant and useful links, click Bookmark
- Check frequently!
11Course Requirements
12Homework
- Complete all assignments on time. Assignments are
always due at the beginning of class on the due
date (200pm). - Assignments one day late subtract 10 two days
late loses 25 three days late loses 50. After
3 days the assignments will be considered a ZERO.
This penalty rule will be strictly enforced,
except for some exceptional cases (You must
inform the instructor ahead of time!) - Keep each homework for helping you prepare for
the exams - See website for details about submission
13Project
- Form
- state-of-art research survey
- team work
- See handout (or website) about project
description and guidelines for proposal, report,
and presentation - Required work and time-line
- Project team set-up (due Mon.. 9/23/13)
- Proposal (due Mon. 10/21/13)
- Final written report (due Wed. 12/4/13)
- Oral presentation (Mon. 12/9/13)
14Exams
- Exam 1
- Monday, Oct. 7, 2013 Tentative schedule
- Exam 2
- Monday, Nov. 11, 2013 Tentative schedule
- Final Exam
- Wed, Dec. 11, 2011 Tentative schedule
- (See Final exam schedule at http//www.umassd.edu
/calendar/finals/welcome.cfm) - No early/late-taken exams unless you have a
legitimate reason and your absence is excused by
your advisor or the student Dean
15Cancelled Classes and Exams
- If class is cancelled on the day an exam is
scheduled, we will have the exam the next time
the class meets. - If class is cancelled for the session prior to
the exam (the day for review and for asking
questions), then the next class meeting will be
the review session, and the exam will take
place in the class meeting after that.
16Attendance Policy
- Students are expected to attend every class and
all other scheduled activities related to the
course. - Students are required to attend all scheduled
project presentations at the end of the semester - Students who miss a lecture, must make
arrangements with colleagues to obtain any missed
material and information.
17Academic Honesty
- Unless specifically stated otherwise, all
homework assignments and exams in this class are
to be completed individually. Any collaboration
with others or use of work completed by others
for previous offerings of this class is
considered to be unauthorized aid. Furthermore,
you should explicitly acknowledge any sources of
ideas used that are not your own this includes
other people, books, papers, web pages, etc. - Academic dishonesty will be "rewarded"
- with a grade of "F".
http//www.umassd.edu/studenthandbook/academicregs
/ethicalstandards.cfm
18Other Course Requirements
- Please feel free to ask questions at any time, I
am here to help you. - Check the class website frequently the News
section will be used as a primary means of
notification - Do not surf the Internet while in class
- Disable cell phones, pagers, and other
distracting devices while in class
19Grading
- Homework 20
- Group Project 20
- Exam 1 20
- Exam 2 20
- Final 20
- In-class extra-credit problems
The letter grades will be assigned using the
following approximate scale (A,A) 100-90
(A-,B,B) 90-80 (B-, C,C) 80-70 (C-,D,D)
70-60 F60-0.
20In Case of Trouble
- If you feel yourself slipping behind, feel
free to come and see the instructor for advice.
If you do decide the class is not happening for
you at this semester, - the last day to Add/Drop is Tuesday, Sept. 10,
and - the last day to Withdraw is Wednesday, Nov. 13,
2013. - However, before you withdraw, discuss your
decision with the instructor and your advisor.
21Academic Support Services
- Academic Advising Center
- Science and Engineering Center
- Writing and Reading Center
- Disabled Student Service
http//www.umassd.edu/studenthandbook/univservices
/univservices1.cfm
22Contacting Instructor
- Please feel free to contact the instructor if you
have any - special needs
- questions about homework, projects, or exams
- comments, feedbacks on how to improve lectures
- interesting experiences or tips on how to do well
in the class - Constructive criticism will be appreciated
- IDÂ umass_ece546_at_hotmail.com
- PWD Â umass123456
Email hwang1_at_umassd.edu
voice 508-999-8469
Fax 508-999-8489
Office II-209B
Office Hours Mon./Wed. 1 2pm, Friday. 12 2 pm, or by appointment via email
23Welcome to ECE456
- Todays lecture
- Course Syllabus Operational Details
- Background Survey
- Introduction to Computer Systems
24Things To Do
- Finish the Background Survey before you leave
- Review the course syllabus and project materials
- Find your partners for the project
- Check out the class website
- Http//www.faculty.umassd.edu/honggang.wang/teachi
ng.html
25Enjoy the class!
Have A
Fruitful Joyful
Semester!
26Welcome to ECE456
- Todays lecture
- Course Syllabus Operational Details
- Background Survey
- Introduction to Computer Systems
27Introduction to Computer Systems
- History of computers
- Evolution of the Intel family
- Issue of performance balancing
28History of Computers
Table 2.2
29The 1st Generation Vacuum Tubes
30Vacuum Tubes
- Vacuum tubes are glass tubes with circuits
inside. - Vacuum tubes have no air inside of them, which
protects the circuitry.
http//en.wikipedia.org/wiki/Vacuum_tube
31ENIAC (Electronic Numerical Integrator And
Computer)
- First general-purpose electronic digital computer
- designed by Mauchly Eckert at the University of
Pennsylvania - started 1943, finished 1946
- disassembled 1955
- 18,000 vacuum tubes
- 30 tons
- 30 feet 50 feet
- 140 kw power consumption
32ENIAC (Contd)
- A decimal machine (not binary)
- 5000 additions per second
- Data was entered on punched cards
- Entering altering programs was extremely
tedious - programmed manually by setting switches and
plugging unplugging cables - programming for typical calculations required
from 1/2 hour to a whole day
33Stored-Program Concept
Programming could be facilitated if program could
be represented in a form suitable for storing in
memory alongside the data. Then a computer could
get its instructions by reading from memory, and
a program could be set or modified by setting
the values of a portion of memory
- Proposed by Von Neumann in 1945
- Developed by Turing about the same time
- Applied to IAS computer by Von Neumann et al.
34IAS Computer
- Named for the Institute for Advanced Study at
Princeton University - Began 1946, completed 1952
- The prototype of all subsequent
- general-purpose computers
- Structure
- Von Neumann machines
35First Computer Bug - 1945
- Grace Hopper found a moth stuck in a relay
responsible for a malfunction - An error in a computer program that prevents it
from working correctly or produces an incorrect
result
http//www.jamesshuggins.com/h/tek1/first_computer
_bug.htm
36The 2nd Generation Transistor
37First Transistor
- Invented at Bell labs in 1947
- Won a Nobel prize
- Uses Silicon
- Advantages
http//www.cedmagic.com/history/transistor-1947.ht
ml William Shockley (seated at Brattain's
laboratory bench), John Bardeen (left) and Walter
Brattain (right)
http//en.wikipedia.org/wiki/Transistor
38Transistor-Based Computers
- National Cash Register Radio Company of America
(NCR RCA, front-runners) - International Business Machines (IBM 7000 series)
- Digital Equipment Corporation (DEC, 1957, PDP-1)
39The 3rd Generation Integrated Circuits (Chips)
40First Chip
- Invented by Jack Kilby at Texas Instruments in
1958 - Integrated Circuits are transistors, resistors,
and capacitors integrated together into a single
chip - Won a Nobel prize
413rd Generation - Integrated Circuits
- Small-Scale Integration (SSI, 1965 on, 3rd
generation) - up to 100 devices/chip,
- Medium-Scale Integration (MSI, to 1971, 3rd)
- 100 - 3,000 devices/chip,
- Large-Scale Integration (LSI, 1972-1977, 4th)
- 3,000 - 100,000 devices/chip,
- Very Large-Scale Integration (VLSI, 1978 1991,
5th) - 100,000 - 1,000,000 devices/chip,
- Ultra Large-Scale Integration (ULSI, 1991
present, 6th) - More than 1 million devices /chip
42Moores Law
- Number of transistors on a chip will double
- every year - by Gordon Moore, Intel cofounder
in 1965 - The pace slowed to a doubling every 18 months and
sustained ever since 1970s (refer to Figure 2.8
in textbook)
43Moores Law (Contd)
- How long will Moore's Law hold?
- Moore (1997) It'll go for at least a few more
generations of technology. Then, in about a
decade, we're going to see a distinct slowing in
the rate at which the doubling occurs. I haven't
tried to estimate what the rate will be, but it
might be half as fast - three years instead of
eighteen months. - See class web-site (Lecture Reading) for details
44The FIRSTs
- The first general-purpose electronic digital
computer ENIAC (Electronic Numerical Integrator
And Computer), 1943 1955 - The first computer bug, found by Grace Hopper in
1945 - The first transistor, invented at Bell labs in
1947 (Nobel Prize) - The first chip (Integrated Circuit), invented by
Jack Kilby at Texas Instruments in 1958 (Nobel
Prize) - More
45The First Minicomputer - 1964
- DEC PDP-8
- Small enough to sit on a lab bench
- Embedded applications
- Flexible bus structure
...
Console controller
CPU
Main memory
I/O module
I/O module
Omnibus
46The First Microprocessor 1971
- The Intel 4004 had 2,250 transistors
- four-bit
- 108Khz
- Called Microchip
The Pioneer 10 spacecraft used the 4004
microprocessor. It was launched on March 2, 1972
and was the first spacecraft and microprocessor
to enter the Asteroid Belt.
47Part II Introduction to Computer Systems
- History of computers
- Evolution of the Intel family
- Issue of performance balancing
48Intel Pentium Evolution
- 4004 (1971, 4 bit)
- first microprocessor (all CPU components on a
single chip) - 8008 (1972, 8 bit)
- designed for specific applications
- 8080 (1974, 8 bit)
- first general-purpose microprocessor
- used in the first personal computer - Altair
- 8086/8088 (1978, 16 bit)
- instruction cache, 1 M (220)-byte addressable
memory - used in IBMs first PC
49Intel Pentium Evolution (Contd)
- 80286 (1982, 16 bit)
- 16 Mbyte addressable memory
- 80386 (1985, 32 bit)
- supporting multitasking
- 80486 (1989, 32 bit)
- powerful cache instruction pipelining
- built-in math co-processor
- Pentium (1993, 32 bit)
- superscalar
50Intel Pentium Evolution (Contd)
- Pentium Pro. (1995, 32 bit)
- register renaming, branch prediction, data flow
analysis, and speculative execution - Pentium II (1997, 32 bit)
- Intel MMX technology video, audio, graphics data
- Pentium III (1999, 32 bit)
- Additional floating-point instructions for 3D
graphics - Pentium 4 (2000, 32 bit)
- Further floating-point and multi-media
enhancements - Itanium (2001, 64 bit, IA-64 architecture, EPIC)
- Itanium 2 (2002, second member of 64-bit)
- Pentium M (2003, mobile technology)
51(No Transcript)
52(No Transcript)
53Evolution Characteristics
- The evolution of computers has been characterized
by - increasing processor speed
- decreasing component size
- increasing memory size
- increasing I/O capacity and speed
54Introduction to Computer Systems
- History of computers
- Evolution of the Intel family
- Issue of performance balancing
55Designing for Performance
- Performance mismatch among various components
prevents the system from achieving its potential
power, for example, - Performance balancing is a critical issue in
computer system design
56Welcome to ECE456
- Weeks lecture
- Course Syllabus Operational Details
- Background Survey
- Introduction to Computer Systems
- History of computers and evolution
characteristics - Evolution of Intel Pentium
- Performance balance is critical for the computer
system to achieve its potential power