ECE 265
Introduction to Microcontroller Based
Systems
(A first course in computer architecture)
9/28/2010
1
ECE265
 Joanne E. DeGroat, OSU
Lecture Overview
 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
9/28/2010
2
ECE265
 Joanne E. DeGroat, OSU
The Syllabus
 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.
9/28/2010
3
ECE265
 Joanne E. DeGroat, OSU
General guidelines and policies
 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
9/28/2010
4
ECE265
 Joanne E. DeGroat, OSU
A Basic Overview of Computer
Architecture
 For your reference you can find much of this
information on Wikipedia.
 But can you trust wikipedia?
 When was the first computer created?????
9/28/2010
5
ECE265
 Joanne E. DeGroat, OSU
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 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.
9/28/2010
6
ECE265
 Joanne E. DeGroat, OSU
A little more modern
 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
9/28/2010
7
ECE265
 Joanne E. DeGroat, OSU
Still, a little more modern
 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.
9/28/2010
8
ECE265
 Joanne E. DeGroat, OSU
Basic operation of architecture
 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
9/28/2010
9
ECE265
 Joanne E. DeGroat, OSU
Decode Instruction and execute
 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
9/28/2010
10
ECE265
 Joanne E. DeGroat, OSU
More von Neumann
 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.
9/28/2010
11
ECE265
 Joanne E. DeGroat, OSU
Some Early von Neumann
architectures
 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
9/28/2010
12
ECE265
 Joanne E. DeGroat, OSU
Early Microprocessors
 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.
9/28/2010
13
ECE265
 Joanne E. DeGroat, OSU
The Harvard Architecture
9/28/2010
ECE265
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
Microprocessor vs.
Microcontroller
9/28/2010
ECE265
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
Lecture summary
9/28/2010
ECE265
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
Assignment
9/28/2010
ECE265
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

Lecture 1 introduction to microcontroller systems

  • 1.
    ECE 265 Introduction toMicrocontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265
  • 2.
     Joanne E.DeGroat, OSU Lecture Overview  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 9/28/2010 2 ECE265
  • 3.
     Joanne E.DeGroat, OSU The Syllabus  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. 9/28/2010 3 ECE265
  • 4.
     Joanne E.DeGroat, OSU General guidelines and policies  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 9/28/2010 4 ECE265
  • 5.
     Joanne E.DeGroat, OSU A Basic Overview of Computer Architecture  For your reference you can find much of this information on Wikipedia.  But can you trust wikipedia?  When was the first computer created????? 9/28/2010 5 ECE265
  • 6.
     Joanne E.DeGroat, OSU 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 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. 9/28/2010 6 ECE265
  • 7.
     Joanne E.DeGroat, OSU A little more modern  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 9/28/2010 7 ECE265
  • 8.
     Joanne E.DeGroat, OSU Still, a little more modern  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. 9/28/2010 8 ECE265
  • 9.
     Joanne E.DeGroat, OSU Basic operation of architecture  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 9/28/2010 9 ECE265
  • 10.
     Joanne E.DeGroat, OSU Decode Instruction and execute  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 9/28/2010 10 ECE265
  • 11.
     Joanne E.DeGroat, OSU More von Neumann  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. 9/28/2010 11 ECE265
  • 12.
     Joanne E.DeGroat, OSU Some Early von Neumann architectures  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 9/28/2010 12 ECE265
  • 13.
     Joanne E.DeGroat, OSU Early Microprocessors  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. 9/28/2010 13 ECE265
  • 14.
     Joanne E.DeGroat, OSU The Harvard Architecture 9/28/2010 ECE265 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.
  • 15.
     Joanne E.DeGroat, OSU Microprocessor vs. Microcontroller 9/28/2010 ECE265 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
  • 16.
     Joanne E.DeGroat, OSU Lecture summary 9/28/2010 ECE265 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
  • 17.
     Joanne E.DeGroat, OSU Assignment 9/28/2010 ECE265 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