ECE265
ECE 265
Introduction to Microcontroller Based Systems
(A first course in computer architecture)
9/28/2010
1
Lecture Overview
2

Outline of the course
 Syllabus
 General

guidelines and policies
A basic overview of computer architecture
 The
Von Neumann Architecture
 The Harvard architecture
 Microprocessors and Microcontrollers
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
The Syllabus
3


This is ECE 265 – Introduction to Microprocessor
Based Systems
Objective – A basic understanding of computer
architecture, specifically microcontrollers, along with
an understanding of the uses and application of
microcontrollers.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
General guidelines and policies
4





Generally a quiz each week. Typically on Wednesday.
Quiz will not necessarily be announced each week. Lowest
Grade dropped.
NO MAKEUP QUIZZES
Homework due two classes after assigned. NO LATE
HOMEWORKS will be accepted. Homework will be
delivered to a dropbox in CARMEN. Dropbox 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
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
A Basic Overview of Computer
Architecture
5

For your reference you can find much of this
information on Wikipedia.
 But

can you trust wikipedia?
When was the first computer created?????
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Early computing technology
6




Early computing could be traced back to the abacus.
When was the abacus in use?
Around 2700 B.C.
In the mid 1600’s Blaise Pascal designed and
implemented a mechanical calculator.
Note: 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
thing.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
A little more modern
7

Charles Babbage 1792-1871
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


Boole 1815-1864

Boolean Algebra
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Still, a little more modern
8

The von Neumann
architecture – 1940s
and 50s
A
stored-program
computer that uses a
central processing unit
and a single separate
storage structure that
hold both instructions
and data.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Basic operation of architecture
9


Instructions are executed in
sequence
First step during execution

MEM(PC)  IR




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
(PC+1->PC)
The values on the data bus are
loaded into the instruction
register
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Decode Instruction and execute
10



Say the instruction was a
load immediate
This means that the next
word in the instruction
stream is the data that
we want loaded into the
accumulator
Operation is now
MEM(PC) Accum
 Also increment the PC

 Joanne E. DeGroat, OSU
ECE265
9/28/2010
More von Neumann
11





Earliest computers had fixed programs – such as a desk
calculator
The von Neumann architecture introduced the concept
of a stored program. In fact, in early computers, they
often wrote programs that self modified.
Self-modifying code is now seen as a very bad
programming practice (also, it really isn’t needed).
von Neumann’s was very familiar with Alan Turing’s
(1912-1954) work – the Turing Machine (1936).
Both von Neumann and Turing wrote papers on stored
program computers.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Some Early von Neumann architectures
12









ORDVAC (U of Ill) - 1951
IAS machine (Princeton) - 1952
MANIAC I (Las Alamos) - 1952
ILLIAC (U of Ill) - 1952
AVIDAC (Argonne National Labs) – 1953
ORACLE at Oak Ridge Ntl Lab– 1953
JOHNNIAC at RAND Corp – 1954
BESK in Stockholm – 1953
PERM in Munich - 1956
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Early Microprocessors
13



The Intel 4004 – 1971
16-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.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
The Harvard Architecture
14



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
spaces.
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Microprocessor vs. Microcontroller
15


Basically a features issue.
Microprocessor – (the physical processor chip)


Composed of control unit, register, arithmetic and logic units
NO Memory, MaybeTimers, 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
printer, etc.
Mircocontroller





Central core of microprocessor but limited capabilities in regards to registers,
memory size, and speed.
On board memory
Several Timers
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
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Lecture summary
16

Have covered
 What
will be covered by this course and how the course
will operate
 The syllabus, general guidelines and policies
 An introduction to the history of computing – computer
are not new
 The von Neumann architecture
 Other architecture focuses
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Assignment
17




What is a Turing machine?
HW1 - 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
 Wikipedia
 Library
 Joanne E. DeGroat, OSU
ECE265
9/28/2010
Descargar

Lecture 1 - Introduction to Microcontroller Systems