Beruflich Dokumente
Kultur Dokumente
Introduction to Microprocessors
Monday, May 15
What this course is about: Syllabus, Labs, etc.
Review of Number Systems, including simple math
You learned this in ECE102 or its equivalent.
Read: Chapters 1 and 2
Lecture #1 2
EE 251 Introduction to Microprocessors
Course Syllabus: Summer 2017
Instructor: Christopher Robbiano, Scott 321
email: iamchris@rams.colostate.edu
Office hours: By appointment
Lecture #1 3
Course Description: Microprocessor organization, assembly language, I/O
techniques, real-time interfaces, applications, hardware and software.
Labs: There are a series of 8 labs, one and two weeks long. Lab is held MW 11-
1:30 every week. There are two lab practical exams in lab during the course,
focused on programming skills. Successful completion of all labs is required for a
passing course grade. No late labs will accepted!
Lecture #1 4
Attendance (Physical and Mental)
Lecture #1 5
ECE 251 Course Outline
Lecture #1 6
ECE 251 Course Outline (continued)
As time permits: Fixed Point Numbers, Floating Point Numbers, Adding Memory
Lecture #1 7
ECE 251 Lab
We will use the Texas Instruments Tiva C Series TM4C123G LaunchPad Evaluation Kit.
Tiva TM4C123GH6PMI
Microcontroller.
Lecture #1 8
ECE 251 Lab (continued)
Each student will be provided a LaunchPad board.
Board replacements will be available for broken boards, but you are
responsible for the cost of any required replacement (about $12 ).
Boards will be available through your Lab TA starting at this weeks lab.
You will work as INDIVIDUALS on most, but not all, lab projects
Writing Programs
Wiring Hardware
Demonstrating requested functionality
You must successfully complete ALL lab projects to pass the course!
Lecture #1 9
Important Information about the Labs
BOTH lab sections are held MW 11-1:30 and are taught
simultaneously. Only one TA is available during the
summer.
This means that the no collaboration rule will be revised a
bit. In order to ensure all questions get asked in a timely
manner, the students who with better understanding of the
material will be encouraged to help others.
Thanks for whatever help you can provide.
Lecture #2 10
Some Helpful Tools
But Not Required
You might find it beneficial to have a 3+ digit voltmeter, wire strippers, diagonal
wire cutters, needle nose pliers, and (maybe) a soldering iron.
Lecture #1 11
Enough!
Lets Get Going!
Lecture #1 12
Brief Review--Number Systems (see text: 2.2-2.4)
We can view a number as represented by:
This is an excellent representation for digital systems, but poor for us to use. Why?
Hint: Quick, what is 1001011110102?
Lecture #1 13
Number Systems (contd)
E.g.: 1001011110102 = 100 101 111 0102 = ___________ 8
HEX advantage: Common bit lengths in computers (e.g. 16, 32, 64, 128 bits) are exact
multiples of 4. I.e. they can be represented by complete hex digits.
E.g. A 16-bit computer has a 16-bit address, which is represented by exactly
4 hex digits (4x4 = 16).
How many octal digits would it take to represent a 16-bit address? _______
Similarly, a 32-bit address can be represented by exactly _______ hex digits.
Lecture #1 14
2s Complement Representation
Lets use an 8-bit example: b7b0
number = -27 b7 +26 b6...+20 b0
Therefore, if high-order bit is 0, number is a positive
seven-bit number: 0100 0101= 0x45 = 69.
Also, if high-order-bit is 1, the number is negative, but
with an offset of -27 = -128.
E.g. 1100 0101= -128 + $45 = -128 + 69 = -59.
A quick way to compute the magnitude of a negative number
is to take the negative of that number. Algorithm:
Complement each bit
Increment (add one to) the result.
E.g. 1100 0101->0011 1010 + 1 0011 1011 = 0x3B = 59
Sure enough, the negative of -59 is 59!
Lecture #1 18
Lab 1 Starts This Week (TODAY!)
When you complete this lab, you should be able to:
Lecture #1 20
Questions?
Next Lecture will be on
Microcontrollers and their components
Our Processors Register Model
How Programs are Executed
Short Review of State Machines (ECE102)
Maybe more on number representation-if time permits
Read Chapters 1, 2, and 3 (.1, .2, .4) in text
Check this out regarding ARM:
What do these letters stand for?
What do the letters in the R word stand for?
ARM is a business. What do they make? Are they in the
news lately?
Lecture #1 27
Modular Math--Addition
So whats an adder? Its a combinatorial circuit that combines (adds)
distances around this wheel:
010 2
+101 +5
111 7
011 3
+110 +6
Cout + 001 9
What gives?!
Lecture #1 28
Modular Math--Addition
Now lets do the same addition, interpreting the data as 2s complement:
(Remember to get the magnitude of a negative 2s comp.
number, complement each bit and add 1 to this.)
010 2 2
+101 +5 + -3
111 7 -1
011 3 3
+110 +6 + -2
Cout + 001 9 1
Lecture #1 29