17
ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

Embed Size (px)

Citation preview

Page 1: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

ECE 265

Introduction to Microcontroller Based Systems

(A first course in computer architecture)

9/28/2010

1ECE265

Page 2: 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

Page 3: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 4: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 5: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 6: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 7: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 8: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 9: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 10: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 11: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 12: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 13: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 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

Page 14: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

Joanne E. DeGroat, OSU

The Harvard Architecture

9/28/2010ECE265

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.

Page 15: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

Joanne E. DeGroat, OSU

Microprocessor vs. Microcontroller

9/28/2010ECE265

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

Page 16: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

Joanne E. DeGroat, OSU

Lecture summary

9/28/2010ECE265

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

Page 17: ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/2010 1 ECE265

Joanne E. DeGroat, OSU

Assignment

9/28/2010ECE265

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