Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr. Izzeldin Ibrahim Mohamed

Similar presentations


Presentation on theme: "Dr. Izzeldin Ibrahim Mohamed"— Presentation transcript:

1 Dr. Izzeldin Ibrahim Mohamed
SEE 3223: Microprocessors Dr. Izzeldin Ibrahim Mohamed P08-117/ VeCAD LAB Ext.: 36117, HP: Department of Microelectronics and Computer Engineering (MiCE) Faculty of Electrical Engineering Universiti Teknologi Malaysia Consultation: Tuesday 11:00 – 12:55 a.m. Thursday 11:00 – 12:55 a.m.

2 Introduction Module 0 Objektif: Komponen-komponen komputer
Kitar Suruhan Jenis-jenis komputer Evolusi mikropemproses Pengenalan mikropemproses 68000 Introduction

3 Microprocessor SEE3223 Aim Learning Outcomes
This subject introduces the principle and the usage of microprocessor. Few topics that are emphasized are processor architecture, assembly language and basic interfacing in a microprocessor-based systems. Learning Outcomes At the end of this course, students will be able to : Describe and differentiate all the component of microprocessor- based systems. Analyze and design AVR Atmega32 assembly language programs. Analyze and design AVR Atmega32 microprocessor systems. Work with AVR Studio and communicate effectively in a team to solve complex AVR Atmega32 design problems.

4 SEE3223 Microprocessor Systems
What’s in this course: Assembly language programming Microprocessor concepts Hardware interfacing Pre-Requisites Number representation, coding, registers, state machines Realization of simple logic circuits Integrated circuit technologies Designing with MSI components Flip-Flops Counters and sequential MSI components Register transfer logic

5 Course Policy Punctuality is expected. Attendance is compulsory.
You are responsible for whatever is taught in the lecture. If you miss a class, it is your responsibility to find out about assignment, quizzes and exam from elearning. Punctuality is expected. Makeup quizzes will not be given except in the case of actual emergencies with written evidence. You are encouraged to collaborate (not copy) on assignment problems with your "study buddies.”

6 Grading Policy Assessment Breakdown: 4 Quizzes x 10% = 30%
1 Group Assignment = 20% Final = 50%

7 Material Will be posted
Lecture notes Will be posted Textbooks Muhammad Ali Mazidi and, Sarmad Naimi and Sepehr Naimi (2010), The AVR Microcontroller and Embedded Systems: Using Assembly and C, 1st Ed., Prentice Hall.

8 Microprocessor-Based Systems
Module 1 Objektif: Komponen-komponen komputer Kitar Suruhan Jenis-jenis komputer Evolusi mikropemproses Pengenalan mikropemproses 68000 Microprocessor-Based Systems

9 Microprocessor-Based Systems
Aims To review the main elements of a microprocessor system. Intended Learning Outcomes At the end of this module, students should be able to: Define and explain important terms associated with both hardware and software elements of a microprocessor system Tell the difference between general purpose computing and embedded computing List down the major components inside a computer & processor Tell the difference between computer, processor, microprocessor and microcontroller Explain instruction execution cycles of a generic microprocessor

10 What is Computer ? Data Processing Computer Data Storage

11 Basic Functions of Computer
Data Processing Data Storage Data Movement Control

12 Microprocessor-Based Systems
Whenever the word microprocessor is mentioned, it conjures up a picture of a desktop or laptop PC running an application such as a word processor or a spreadsheet. While this is a popular application for microprocessors, it is not the only one and the fact is most people use them indirectly in common objects and appliances without realizing it. Without the microprocessor, these products would not be as sophisticated or cheap as they are today. I

13 Microprocessor-Based Systems
Computing systems are everywhere. Its probably no surprise that millions of computing systems are built every year destined for desktop computers (Personal Computers, or PCs), workstations, mainframes and servers. What may be surprising is that billions of computing systems are built every year for a very different purpose: they are embedded within larger electronic devices, repeatedly carrying out a particular function, often going completely unrecognized by the devices user. Creating a precise definition of such embedded computing systems, or simply embedded systems, is not an easy task. I

14 Computer Classifications
Classification of computers: Servers: Big, expensive, available 24x7 (read “24 by 7” or 24 hours a day, 7 days a week. Mainframes are old servers made by IBM. Desktops: computers on your desk Laptops: computers you carry in your bag PDA (personal digital assistants): computers you carry in your pocket Embedded systems: computers that don’t look like computers! An embedded system is a type of computer

15 What is an Embedded System?
An embedded system is a microprocessor-based system that is built to control a function or range of functions and is not designed to be programmed by the end user in the same way that a PC is. An embedded system is a special-purpose computer system designed to perform certain dedicated functions. It is usually embedded as part of a complete device including hardware and mechanical parts I

16 Embedded System: Example
Embedded microprocessors are more deeply ingrained into everyday life than any other electronic circuit that is made. A car may have over 50 microprocessors controlling functions such as the engine through engine management systems, brakes with electronic anti-lock brakes, transmission with traction control and electronically controlled gearboxes, safety with airbag systems, electric windows, air-conditioning and so on. I

17 Other Processors in Embedded Systems
Embedded Controllers: More powerful (32 bits) than microcontrollers (8 bits) Normally contains only processor and input/output, memory is external Digital Signal Processors: Embedded processors optimized for digital signal processing Commonly found in hand-phones, modems, communications systems Graphics Processors: Very powerful processors found in graphics cards of workstations Programmable Logic Controllers: Microprocessor boards usually found in industrial applications Advantages of Microcontrollers: Pin count down Design time down, Board layout size down Upgrade path easier – matching between peripherals Cost down – bulk purchases Reliability up Common software / hardware design available from manufacturer

18 General Purpose Computing vs Embedded Systems
Intended to run a fully general set of applications Runs a few applications often known at design time End-user programmable Not end-user programmable Faster is always better Operates in fixed run-time constraints, additional performance may not be useful/valuable Differentiating features: Speed (need not be fully predictable) Software compatibility Cost (eg RM3k vs RM5k per laptop) Power Cost (eg RM2 vs RM2.50) Size Speed (must be predictable)

19 To design a µP System, we must know…
Fundamentals: What’s inside a computer What’s inside a processor Programming: What happens in the processor when it’s running a program What do we need to write a program How to create a program How to run a program How to fix a program error Hardware design: Timing diagrams Interfacing with other chips

20 A Computer System – Simplified View

21 A Computer System – Simplified View
Stores and retrieves data Moves data between the computer and its external environment CPU Memory Input/Output Processor: The brain of the computer As known as the CPU (central processor unit) Memory Stores information Input/Output Devices: Gets information in & out of the computer Buses: Links all components Controls the operation of the computer Performs its data processing functions Address bus Provides communication among CPU, main memory and I/O Data bus Control bus An embedded system also has the same structure but at a smaller size

22 What is Microprocessor ?
Central Processing Unit (CPU): Control the operation of the computer and performs its data processing functions; often simply referred to as PROCESSPR CPU

23 Processor or Central Processing Unit (CPU)
The Processor consists of … Registers: Small high speed memory to store the currently needed data ALU (Arithmetic & Logic Unit) Manipulate information using arithmetic and logic operations Control Unit: Control the operation of the processor

24 Processor (CPU): Control Unit (CU)
The Central Processing Unit (or P) To synchronize and control the overall operation of the P system To decode instruction and pass the necessary control signals to CU Control Unit & Instruction Decoder To perform the arithmetic and logical operations within the CPU Arithmetic/Logic Unit A set of internal storage locations within the CPU Registers

25 Processor (CPU): Registers
Control & Instruction Registers Program Counter User-Visible Registers Instruction Register ... General-Purpose Reg. Address Register Data Register Flag Register

26 Microprocessor – Basic concept
CPU 16-bit / 32-bit / 64-bit wide Address bus bidirectional 8-bit / 16-bit / 32-bit / 128-bit Data bus Timing signals, ready signals, interrupts etc Control bus Microprocessor, by-itself, completely useless – must have external peripherals to Interact with outside world

27 Microprocessor – Basic concept
CPU Address Control Boot ROM Used at startup Instruction (program) ROM Data RAM Trans- ducers Keyboard Screen UART Parallel interface etc Data Microprocessor, by-itself, completely useless – must have external peripherals to Interact with outside world

28 Number of addresses 2N (where N is an integer)
Memory Memory Address-1  Memory Address-2  Memory Location-n Memory Address-n  Memory Location-1 Memory Location-2 5 6 7 8 1 2 3 4 1 byte = 8-bit data 1 word= 2 bytes 1 double = 2 words Number of addresses 2N (where N is an integer)

29 Memory Devices Read-Only Memory Random Access Memory
Non-volatile memory: contents is retained even without power In embedded systems, used to store application programs and test routines Contents can be set by fixing it during manufacturing or “burning” it using a programming device Common types include MROM, PROM, EPROM and flash memory Erasable types can only be rewritten a fixed number of times Random Access Memory Contents lost without power (volatile memory) Used to store temporary data. In embedded system, very little RAM is required. Some systems don’t even have RAM at all! No limit to number of writes the device can handle Fast writes (unlike EPROM/EEPROM) Two major types are SRAM and DRAM Daftar Istilah: BM BI Meruap volatile Tak meruap non-volatile Ingatan capaian rawak random access memory (RAM) Ingatan baca sahaja read-only memory (ROM) MROM masked ROM PROM programmable ROM EPROM erasable programmable ROM EEPROM electrically-erasable programmable ROM OTPROM one-time programmable ROM NOVRAM non-volatile RAM

30 Data & Address Buses Smallest transferable amount of data from memory to CPU (and vice versa) is one byte. Each byte has a unique location or address. The address of each byte is written in hexadecimal (hex). For AVR, the prefix ‘0x’ means a hex value. The range of addresses accessible by the processor is the memory space. (Limited by the size of the address bus). The Atmega32 (and many other AVR models) does not have direct support for an external memory interface. 24-bit address bus 16-bit data bus Data bus 16 bits CPU Memory 15 2 24 -1= 8M locations Address bus 24 bits 0x000000 0xFFFFFF

31 Microcontroller – Basic concept

32 Microcontroller – Basic concept
CPU Address Control Boot ROM Program ROM Data RAM Trans- ducers Some I/O Data Microcontroller - put a limited amount of most commonly used resources inside one chip

33 Microprocessor vs Microcontroller
A chip that contains only the processor Need other chips to make a working system More flexible Can have very few I/O or many I/O devices using the same processor chip Microcontroller: A chip that contains all the components of a computer – processor, memory and input/output Less flexibility Less component count in system Less powerful Advantages of Microcontrollers: Pin count down Design time down, Board layout size down Upgrade path easier – matching between peripherals Cost down – bulk purchases Reliability up Common software / hardware design available from manufacturer No matter what is the system size, the most important component is still the processor.

34 Software Computer software Program: Instruction:
Computer programs are known as software Program: Sequence of instructions that perform a task Instruction: The simplest operation performed by the processor Think of it as a note coming from a musical instrument How the computer works: Fetch an instruction from memory Decode the instruction Execute the instruction Repeat Programming is like choosing the correct note coming from the a musical instrument to make beautiful music Daftar Istilah: BM BI Suruhan instruction Aturcara program Perkakasn hardware Perisian software

35 Machine & Assembly Language
Machine instruction A sequence of binary digits which can be executed by the processor, e.g Hard to understand for human being Assembly language An assembly program consists of assembly instructions An assembly instruction is a mnemonic representation of a machine instruction e.g. MUL may stand for “multiply” Assembly programs must be translated into object code before it can be executed -- translated by an assembler. Assemblers can be of two types: cross assembler and native assembler. Cross assembler runs on one computer and generates machine instructions that will be executed by another computer that has different instruction set, e.g. freeware ASM68K. Native assembler runs and generates instructions for the same computer. Drawbacks of assembly programs are: dependent on hardware organization, difficult to understand long programs, low programmer productivity

36 High-level language (HLL)
Syntax of a high-level language is similar to English A translator is required to translate the program written in a high-level language into object code -- done by a compiler. There are cross compilers that run on one computer but translate programs into machine instructions to be executed on a computer with a different instruction set. Main drawback is slower execution speed of the machine code obtained after compiling an HLL program. However, C language has been extensively used in microcontroller programming in industry.

37 Instruction Cycle (Fetch-Execute)
The processor executes instructions one-by-one according to the sequence found in memory Everything is controlled by, what else, the control unit in the CPU. To execute an instruction, the processor must fetch it from memory. The complete steps the processor takes to execute one instruction is the instruction cycle or the fetch-execute cycle Kenapakah langkah 0 hanya dilakukan sekali sahaja? Fetch Execute

38 Instruction Cycle Details
On program start: 0. Load the program counter (PC) with the address of the first instruction Fetch phase: 1. Read the instruction and put it into the instruction register (IR) 2. Control unit decodes the instruction; updates the PC for the next instruction Execute phase: 3. Find the data required by the instruction. 4. Perform the required operation. 5. Store the results. 6. Repeat from Step 1. What’s a PC? A register that contains the address of the NEXT instruction. What’s an IR? An internal register that’s invisible to the programmer. Why repeat from Step 1? Step 0 is required only once; to locate the address of the first instruction. Address of subsequent instructions are based on the address of the current instruction

39 Instruction Cycle 1-39

40 CPU How computers work Address bus Data bus Control bus A ALU B PC: C
B  A A  [6] AA+B [7]A 1 2 3 4 5 6 7 31h C4h 26h 81h EAh 0h 5h CPU Logic circuit Address bus Data bus Control bus Write Read ALU B A D C registers PC: 1 I/O 16 I/O 17 I/O 18 I/O n Inst. Dec.

41 CPU How computers work SEE3223 Mikropemproses 17 Address bus Data bus
B  A A  [6] AA+B [7]A 1 2 3 4 5 6 7 31h C4h 26h 81h EAh 0h 5h CPU 17 Logic circuit Address bus Data bus Control bus Write Read ALU B A D C registers PC: 1 9 I/O 16 I/O 17 I/O 18 I/O n Inst. Dec. 31 Pengenalan

42 CPU How computers work 17 Address bus Data bus Control bus A ALU B PC:
C4h 26h 81h EAh 0h 5h A [17] B  A A  [6] AA+B [7]A 1 2 3 4 5 6 7 C4 26 5 CPU 17 6 Logic circuit Address bus Data bus Control bus Write Read 9 9 ALU B A D C registers PC: 3 2 1 2 1 I/O 16 I/O 17 I/O 18 I/O n Inst. Dec.

43 CPU How computers work Address bus Data bus Control bus ALU B A D C
1 2 3 4 5 6 7 31h C4h 26h 81h EAh 0h 5h A [17] B  A A  [6] AA+B [7]A 81 EA CPU 7 Logic circuit Address bus Eh Data bus Control bus Write Read 5 E 5 ALU B A D C registers + E 9 9 PC: 5 4 3 4 3 I/O 16 I/O 17 I/O 18 I/O n Inst. Dec.

44 Review Questions 1

45 Review Questions 2

46 Review Questions 2 (Cont’d)

47 Selecting a Microprocessor
Choose the right one for your application Primary criteria: Cost, Power, Size, Speed Others: package options, integrated peripherals, potential for future growth Choose one with good software development support development environment - good compiler and debugger availability evaluation boards in-circuit emulators for those with deep pockets Operating system availability Other considerations Code density: affects power consumption, performance and system cost Hardware availability: make sure you can actually purchase the microcontroller before designing it in Prior expertise, licensing, etc

48 Summary Microprocessors and embedded controllers are a ubiquitous part of life today Concept of a microprocessor & microcontroller Understand how a µP works Headhunters report that EEs familiar with µC, µP design are in the highest possible demand Web Resources: How Microprocessors Work: Great Microprocessors of the Past and Present: Great Moments in Microprocessor History:


Download ppt "Dr. Izzeldin Ibrahim Mohamed"

Similar presentations


Ads by Google