Lecture 1 - Introduction to Microcontroller Systems

canolaokahumpkaΗλεκτρονική - Συσκευές

2 Νοε 2013 (πριν από 4 χρόνια και 2 μήνες)

97 εμφανίσεις

ECE 265

Introduction to Microcontroller Based Systems

(A first course in computer architecture)

9/28/2010

1

ECE265

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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