190 likes | 270 Views
Introduction to Microcontroller Based Systems. 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. The Syllabus.
E N D
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 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. 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 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????? 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. 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 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. 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 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 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. 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 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. ECE265
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 spaces. ECE265
Microprocessor vs. Microcontroller • 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 ECE265
Lecture summary • 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 ECE265
Assignment • 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 ECE265