Introduction to Microcontroller Based Systems
(A first course in computer architecture)
Outline of the course
General guidelines and policies
A basic overview of computer architecture
The Von Neumann Architecture
The Harvard architecture
Microprocessors and Microcontrollers
This is ECE 265
Introduction to Microprocessor
A basic understanding of computer
architecture, specifically microcontrollers, along with
an understanding of the uses and application of
General guidelines and policies
Generally a quiz each week. Typically on Wednesday.
Quiz will not necessarily be announced each week. Lowest
NO MAKEUP QUIZZES
Homework due two classes after assigned. NO LATE
HOMEWORKS will be accepted. Homework will be
delivered to a
will not close
but no submissions after due date will be graded.
Midterm exam will be announced one week prior.
Final exam is during Finals Week
Monday March 12 11:30
1:18 in this room.
Other details on syllabus
A Basic Overview of Computer
For your reference you can find much of this
information on Wikipedia.
But can you trust wikipedia?
When was the first computer created?????
Early computing technology
Early computing could be traced back to the abacus.
When was the abacus in use?
Around 2700 B.C.
In the mid 1600’s
Pascal designed and
implemented a mechanical calculator.
Today we use voltage level to represent a logical
TRUE and FALSE. There is no reason that the physical
position of a mechanical component cannot do the same
A little more modern
Charles Babbage 1792
The Difference Engine
The Difference Engine 2
Basically a programmable calculator
Calculated artillery tables
The Analytic Engine
a more advanced machine
Used punch cards for input
A precursor to the modern computer
Still, a little more modern
The von Neumann
computer that uses a
central processing unit
and a single separate
storage structure that
hold both instructions
Basic operation of architecture
Instructions are executed in
First step during execution
Send contents of PC (Program
counter) to memory
Memory responds with the
contents at that address placing
it on the data bus.
Increment the PC
The values on the data bus are
loaded into the instruction
Decode Instruction and execute
Say the instruction was a
This means that the next
word in the instruction
stream is the data that
we want loaded into the
Operation is now
Also increment the PC
More von Neumann
Earliest computers had fixed programs
such as a desk
The von Neumann architecture introduced the concept
of a stored program. In fact, in early computers, they
often wrote programs that self modified.
is now seen as a
practice (also, it really isn’t needed).
von Neumann’s was very familiar with Alan Turing’s
the Turing Machine (1936).
Both von Neumann and Turing wrote papers on stored
Some Early von Neumann architectures
ORDVAC (U of Ill)
IAS machine (Princeton)
MANIAC I (Las Alamos)
ILLIAC (U of Ill)
AVIDAC (Argonne National Labs)
ORACLE at Oak Ridge
JOHNNIAC at RAND Corp
BESK in Stockholm
PERM in Munich
The Intel 4004
pin DIP package
92,000 instructions per sec
10.8 microseconds per instruction
Processor had a small address space for data and a small
address space for instructions
Designed for use in calculators
Was the core element for the early electronic calculators
early calculators did basic arithmetic.
Early microprocessors were often programmed in assembler
or machine code. Compilers and many modern high level
programming languages just didn’t exist.
The Harvard Architecture
In the traditional von Neumann architecture memory
holds both programs and data
In the Harvard Architecture you have separate
memory spaces for data and programs. (term that
came into use during the late 1990s)
This is not really a new concept as the 4004 had
separate data and program memory address
Microprocessor vs. Microcontroller
Basically a features issue.
the physical processor chip
Composed of control unit, register, arithmetic and logic units
, No direct external I/O ports
Does have pins for a data bus and an address bus
When implemented in a PC, add a keyboard for input, a monitor, a mouse, a
Central core of microprocessor but limited capabilities in regards to registers,
memory size, and speed.
On board memory
I/O configurable ports
In implementation, may or may not have a keyboard, rather a keypad/switches
for input or other types of control, often does not have monitor
What will be covered by this course and how the course
The syllabus, general guidelines and policies
An introduction to the history of computing
are not new
The von Neumann architecture
Other architecture focuses
What is a Turing machine?
Write up what a Turing machine is and how
a Turing Machine executes a program. (submit to
dropbox HW1) Write 2/3 to 1 ½ pages.
Due dates on web page.
There are many sources for this assignment
Google web search