ECE291 – Comp Eng II
Lecture 1 – Overview and Review
ECE291 Web SIte
www.ece.uiuc.edu/ece291
Everything you need to know about ECE291
ECE291 Lab
Location: 238 Everitt Lab
Hours: 24 Hour Access
Assignments
Homework is distributed, completed,and graded online.
MP Handouts are online.
Your textbook is online.
Access all of these from the 291 web site.
NT Accounts
Go to www.ece.uiuc.edu/oics and click on “Create Account” to obtain your computer account for use in the
ECE291 lab. You should do this at least 24 hours prior to using the lab.
Evaluation
Your grade will be based on:
5 Homeworks
4 Machine Problems
1 Final Project
2 Exams
1 Final
Occasional Unannounced Quizzes
Course Goals I
ECE290 ECE291 (Everything in between)
Programming Classes
Binary numbers
digital logic,
state machines
Machine-level operations, computer
organization, data movement
High-level languages and algorithms
ECE291 bridges the gap between your logic classes and programming courses through assembly-level
programming of a real (80x86) computer
Course Goals II
You will become proficient in assembly-level programming
You will learn to organize large programs.
You will learn how to interface to hardware
Course Overview
Course Syllabus
Lecture, Exam, Homework, MP Schedule
Lab Staffing Schedule
Today’s Topics
History of computing
Rapid changes (Moore’s Law)
Review of previous classes
A very short historyand historical perspective
1642
Blaise Pascal invents his mechanical calculator (counting device)
1830
Charles Babbage’s “Difference Engine”
First steam-powered “Analytical Engine”
1880’s
John H. Patterson’s Mechanical cash register (NCR)
First applications for computing devices
1930’s
Claude Shannon suggests use ofthe binary system for use
with electronic circuits
1940’s
John Von Neumann proposes reconfigurable computing by storing
programs in memory
1940’s – 1950’s
First electronic computersVacuum tubes &
mechanical relays: UNIVAC, ENIAC
30 tons150 Kwatts80 bytes of
memory
1940’s – 1950’s
ILLIACMetze et. al. play Illinois fight song on accumulator bit – first computer music
1948
John Bardeen, Walter Brattain, and William Schockley file patent on
invention of the transistor
1958
Jack Kilby introduces concept of the “Integrated Circuit”
1960’s
Computers begin to usetransistors and integrated circuits
1965
Gordon Moore observes that every chip produced contains roughly twice the capacity of its predecessor and that new generations of chips were being
released every 18-24 months
Late 1960’s
IBM MainframesPowerful, centralized CPU’s with terminalsAge of the “big iron”
1970’s
DEC PDP-11sLow-cost Mini-computersAge of the “Vaxen”
1974
Microprocessors Intel introduces the 8080 (a “toy”)Bill Gates is a sophomore at Harvard
1974
Altair 88008080 CPUAffordable ($379 kit)No screen (LEDs on
front panel)No storage4KB memory
1974
Bill Gates and Paul Allenstart writing BASIC
Your instructor was born.
1977
Radio Shack TRS-80
Apple II
Commodore-64
1980
IBM meets with Bill Gates to license BASIC and MSDOS (QDOS)
1981
IBM Personal Computer16-bit microprocessor: 4.77 MHz 8088ROM BASICCassette interface360KB floppy drive (optional)DOS 1.0~$5000
1982
Illiac-IV decommissioned
1983
Low cost computing10 MB hard disk costs just $3000640 KB of memory costs $1000
Compaq introduces“Portable Computing”
1984
Macintosh: GUI based on work at Xerox
IBM introduces PC-AT: 80286-based system
Record year for IBM
1985
First 32-bit 80x86 CPU’s Intel introduces the 80386Addresses up to 4 GB of memory
1986
First 32-bit 80x86 SystemsCompaq introduces first
80386-based system
1989
Intel introduces 80486,includes math co-processor or
floating-point unit (FPU)
1992
AMD/Cyrix 486 (Compatible CPU’s)
Intel introduces Pentium (64-bit memory bus)
1995
AMD/Cyrix introduces 5x86
1 GB hard drive costs $300 (1000 times cheaper/MB than in 1983!)
1996
Use of Reduced Instruction Set Computer (RISC) core to execute 80x86 instructions AMD K5 (RISC Ops = ROPS) Intel Pentium Pro
Superscalar Execution AMD K5/K6 Cyrix M1 (6x86) Intel Pentium Pro
1996
Powerful entry-level systems100 MIP CPU’s32MB DRAM12x CDROM’s
1997
Single Instruction Multiple Data (SIMD), Multimedia Extensions / Matrix Math Extensions (MMX)AMD, K6 Intel Pentium IICyrix/IBM M2 (6x86 MX)
1997
Low-cost computing233 MHz CPU w/MMX: $30064MB RAM: $300 (300 times cheaper/MB
than in 1983!)
1998
Low-power portable computing
Single Instruction Multiple Data (SIMD) for floating point ops (AMD K6-2)
Integrated CPU/Video/Audio (Cyrix/NSM MediaGX)
1998
Low-cost computing300 MHz MMX CPU + 3D: $12564 MB SDRAM: $7510 GB hard disk: $200
1999
More floating point parallelism (Pentium III Katmai)Faster bus architectures (on-chip full speed caches)Explicit instruction-level floating-point parallelism (Itanium)Ubiquitous computing)Active networks
2000
1 GHz processors from AMD and Intel
Judge rules to breakup Microsoft
Rapid ChangesMoore’s Law
Moore’s Law
Estimates that the number of transistors per chip doubles every 18 months
Exponential growth!
Has been true for 20 years!
Moore’s Law
2^(20 years / 1.5 years / double) = 2^13.3 = 10,000 x performance!
Moore’s Law
“If we had similar progress in automotive technology, today you could buy a Lexus for about $2. It would travel at the speed of sound, and get about 600 miles on a thimble of gas.”
- Randall Tobias: Former Vice Chairman of AT&T
Material Reviewfrom previous classes
Prerequisite Knowledge
ECE290 is the official prerequisite
Number systems
Base conversions
Signed and unsigned numbers
Number Systems I
Base 10 representation (decimal) (0..9): d[n]*10^n + d[n-1]*10^(n-1) + ... +
d[2]*10^2 + d[1]*10^1 + d[0]*10^0 Eg: 3045
= 3*10^3 + 4*10^1 + 5*10^0 = 3000 + 40 + 5 = 3045
Number Systems II
Base 2 representation (binary) (0..1): d[n]*2^n + d[n-1]*2^(n-1) + ... + d[2]*^2 +
d[1]*2^1 + d[0]*2^0 Eg: 101101
= 1*2^5 + 1*2^3 + 1*2^2 + 1*2^0 = 32 + 8 + 4 + 1= 45
Number Systems III
Base 16 representation (hex) (0..9,A..F): d[n]*16^n + d[n-1]*16^(n-1) + ... +
d[2]*16^2 + d[1]*16^1 + d[0]*16^0 3AF
= 3*16^2 + 10*16^1 + 15*16^0 = 3*256 + 10*16 + 15= 943
Number Systems IV
Pop quiz: Question 1
What is the decimal representation of the hexadecimal number C0FFEE?
Number Systems V
Addition OperationCompute sum of digits, modulo basePropagate carries to next digitMust use like bases when performing
arithmetic
Number Systems VI
Pop quiz: Question 2
Add 128 and 58. The resultshould be in base 8
Base Conversion I
Division/Remainder method: Long division by largest power of base
Example: Convert 45 to binary 45 divides by 32 (2^5) once, leaves 13 13 divides by 8 (2^3) once, leaves 5 5 divides by 4 (2^2) once, leaves 1 1 divides by 1 (2^0) once, leaves nothing [done] Thus: 45 (base 10) == 101101 (base 2)
Base Conversion II
Pop quiz: Question 3
Convert the decimal 112 into Base 3
Signed Numbers I
We need a way to represent negative numbers
Simple idea: use the first bit as a sign bit!s = 0: positive (+)S = 1: negative (-)
Signed Numbers II
Problem: There are TWO zeros1…0 and 0…0
Difficult to process negative numbers (special case)
There is a better way to handle negative numbers!
Signed Numbers IIITwo’s complement
Numeric Formula: -d[n]*2^n + d[n-1]*2^(n-1) + ... + d[2]*2^2 + d[1]*2^1 + d[0]*2^0
Notice the negative sign in front of d[n]
Signed Numbers IV
To subtract A-B, perform A+(-B).
Now the addition operator works for negative numbers
Notice: First bit still represents the sign of the numbers = 0: positive (+)s = 1: negative (-)
Signed Numbers V
Three methods to compute a negative number (n) (choose one method) Inverting bits then add 1Take largest number (all ones), subtract n,
add 1Scan n from right to left. copy zeros, copy
1st one, invert rest
Signed Numbers VI
Examples (8-bit): -1 = 1111,1111 -2 = 1111,1110 -128 = 1000,0000 +1 = 0000,0001 +127 = 0111,1111 +128 = Invalid
Signed Numbers VII
Examples: (16-bit) -1 = 1111,1111,1111,1111 -2 = 1111,1111,1111,1110 -32,768 = 1000,0000,0000,0000
Signed Numbers VIII
ObservationsWhen you move a piece of data to a larger
register (increasing the number of bits), just extend the Nth bit to the left.
Signed Numbers IX
Pop quiz: Question 4
Calculate the 2’s compliment binary representation of –56.
Use the minimum number of bits to represent this number.
For Next Time…
Read Hyde (online):Sections 1.0-1.3, 1.7
Read Brey:Chapter 1, Browse Chapter 2
Read Lab Manual: Table of Contents, Sections 1, 2-1, and 2-2
Start HW0 (Due Thursday)
Next Lecture
80x86 Organization and Architecture, memory, segmentation, registers, C/assembler similarities.
Top Related