Presentation on theme: "Microprocessor – Intro! Md. Atiqur Rahman Ahad. Introduction to Microcontrollers Parts of computer: CPU, memory, I/O CPU: Control and data path Memory:"— Presentation transcript:
Microprocessor – Intro! Md. Atiqur Rahman Ahad
Introduction to Microcontrollers Parts of computer: CPU, memory, I/O CPU: Control and data path Memory: Stores instruction and data Input/output: Interact with the outside of computers
Why Study Microprocessor Design?
°(as reported in Microprocessor Report, Vol 13, No. 5) Emotion Engine: 6.2 GFLOPS, 75 million polygons per second Graphics Synthesizer: 2.4 Billion pixels per second Claim: Toy Story realism brought to games! Sony Playstation 2000
Why Study Microprocessor Design? Wireless Sensor Networks Platform Power Metering Application
Microcontrollers vs Microprocessors A microprocessor is a CPU on a single chip. If a microprocessor, its associated support circuitry, memory and peripheral I/O components are implemented on a single chip, it is a microcontroller.
What is an Embedded System? A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In some cases, embedded systems are part of a larger system or product, as is the case of an anti-lock braking system in a car. Contrast with general-purpose computer. Examples range from washing machines, cellular phones to missiles and space shuttles.
Embedded Systems –Operations managed behind the scenes by a microcontroller Microcontroller (MCU) –An integrated electronic computing device that includes three major components on a single chip Microprocessor (MPU) Memory I/O (Input/Output) ports
What is an Embedded System? Electronic devices that incorporate a computer (usually a microprocessor) within their implementation. A computer is used in such devices primarily as a means to simplify the system design and to provide flexibility. Often the user of the device is not even aware that a computer is present.
Instrumentations: Data collection, oscilloscopes, signal generators, signal analyzers, power supplies. Industrial: Elevator controls, surveillance systems, robots. Home: Dishwashers, microwave ovens, VCRs, televisions, stereos, fire/security alarm systems, lawn sprinkler controls, thermostats, cameras, clock radios, answering machines. Printers, scanners, keyboards, displays, modems, hard disk drives, CD-ROM drives.
Embedded Rocks! Embedded processors account for 100% of worldwide microprocessor production! Embedded:desktop = 100:1
Embedded Systems is a big, fast growing industry $ 40 billions in 2000 $92.0 billion in 2008 $112.5 billion (estimated) by the end of 2013 Embedded hardware was worth $89.8 billion in 2008 and is expected to reach $109.6 billion in 2013 Embedded software generated $2.2 billion in This should increase to $2.9 billion in 2013 Microprocessors/Microcontrollers are the core of embedded systems.
Computer Technology Dramatic Change Processor –2X in speed every 1.5 years; 100X performance in last decade Memory –DRAM capacity: 2X / 2 years; 64X size in last decade –Cost per bit: improves about 25% per year Disk –capacity: > 2X in size every 1.0 years –Cost per bit: improves about 100% per year –250X size in last decade
Microcontroller Components – Memory Each memory location has a specific address We must supply an address to access the corresponding location R/W allows us to select reading or writing Various types of memory for different functions and speeds Memory location 0 Memory location 1 Memory location n-1 Memory location n-2 addressdata r/w
Microcontroller Components – Memory Read Only Memory - Memory that can only be read –Holds the program code for a microprocessor used in an embedded system where the code is always the same and is executed every time the system is switched on –Computer BIOS, boot-up information Other types of Read Only Memory –Erasable Programmable Read Only Memory (EPROM) – Similar to ROM but can be erased (exposure to ultraviolet light) and reprogrammed –Electrically Erasable Programmable Read Only Memory (EEPROM) – more common that EPROM because it can be erased by the microprocessor –Flash Memory, Ferroelectric RAM (FRAM), Magnetic Random Access Memory (MRAM)
Microcontroller Components – Memory Random Access Memory – used to store dynamic data when processor is running –Holds program code and data during execution –Can be accesses in any random order – unlike takes or disks Some types of RAM –Static RAM (SRAM) – Uses transistors to store bits, fast SRAM is used for cache –Dynamic RAM (DRAM) – Uses capacitors to store bits, must be refreshed, smaller and cheaper than SRAM Fast Page Mode (FPM), Extended Data Out (EDO) Synchrounous DRAM (SDRAM) – introduced in 1997 and replaced most DRAM in computers by 2000 Double Data Rate (DDR SDRAM) – uses both clock edges found today in most computers Direct Rambus DRAM (RDRAM) – somewhat of a flop
Microcontroller Components – CPU Smart part –Processes instructions and data –All the parts of a microprocessor Registers – fast memory used to store operands and other information –Condition register – positive/negative result –Exception register – overflow condition –Loop count register Load-store architecture Register 0 Register 1 Register n-1 data address r/w CPU ALU inst
Microcontroller Components – I/O Connection to the outside world Examples –Analog to Digital Converter –Temperature Sensor –Display –Communications Circuit
Microcontroller Components – BUS Group of wires used to transport information CPU to Memory –Address bus –Data bus CPU to I/O –Port mapped I/O – used when address space is limited, special instructions are needed for I/O –Memory mapped I/O – I/O looks like memory locations, easier to use and common in Reduced Instruction Set Computing (RISC)
MPU-Based Systems System hardware –Discrete components Microprocessor, Memory, and I/O –Components connected by buses Address, Data, and Control System software –A group of programs that monitors the functions of the entire system
MPU-Based Time and Temperature System
MCU-Based Systems Includes microprocessor, memory, I/O ports, and support devices (such as timers) on a single semiconductor chip Buses are generally not available to a system designer I/O ports are generally multiplexed and can be programmed to perform different functions
MCU-Based Time and Temperature System
Read -- Computer Architectures Princeton versus Harvard Architecture CISC versus RISC processors Microprocessors and Microcontrollers
Processor Performance CPU Time = # Cycles × Cycle Time = # Instructions × CPI × Cycle Time CPI: Cycles per instruction
Embedded System Programming Key factors in embedded programming –Speed – timing constraints, limited processing power –Code size – limited memory, power Programming methods –Machine Code – bits –Low level language – assembly –High level language – C, C++, Java –Application level language – Visual Basic, Access Levels of abstraction – factor out details to focus on few concepts at a time
Embedded System Programming Why use C in embedded programming? –Ease of management of large embedded projects –Provides an additional level above assembly programming –Fairly efficient –Supports access to I/O Why use assembly? –High speed, low code size –However, difficult to do a large project in assembly