ECE 3430 – Intro to Microcomputer Systems

Slides:



Advertisements
Similar presentations
Microprocessors Typical microprocessor controlled devices: Camera, mobile phone, stereo, mp3 player, electronic toys… High-level microprocessor controlled.
Advertisements

What is memory? Memory is used to store information within a computer, either programs or data. Programs and data cannot be used directly from a disk or.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Computer Organization Prepared by:Anh Q. Vu Course:CS-147 Professor:Sin-Min Lee Date:Summer
IT Systems Memory EN230-1 Justin Champion C208 –
Microcontroller based system design
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Memory Hierarchy.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Lesson 3 — How a Computer Processes Data
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
Introduction to Computing: Lecture 4
Random access memory.
CPS120: Introduction to Computer Science Introduction to Computers.
Components of a Computer Prepared by: Mrs. McCallum-Rodney.
CIM101 : Introduction to computer Lecture 3 Memory.
Lesson 3 — How a Computer Processes Data Unit 1 — Computer Basics.
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
Memory and Register. Memory terminology read/write operation volotile/non volatile determine the capacity from input and output timing requirements of.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
Computer operation is of how the different parts of a computer system work together to perform a task.
IC 3 BASICS, Internet and Computing Core Certification Computing Fundamentals Lesson 2 How Does a Computer Process Data?
Introduction to Programming. Key terms  CPU  I/O Devices  Main memory  Secondary memory  Operating system  User interface  Application  GUI 
COMPUTER HARDWARE & SOFTWARE INTRODUCTION TO LIBRARY & INFORMATION SCIENCES (5501) WORKSHOP SPRING 2013 By: Huma Malik Librarian, Preston University, Islamabad.
Index What is an Interface Pins of 8085 used in Interfacing Memory – Microprocessor Interface I/O – Microprocessor Interface Basic RAM Cells Stack Memory.
Introduction to Computers - Hardware
Chapter 2 content Basic organization of computer What is motherboard
COMP2121: Microprocessors and Interfacing
Unit Microprocessor.
OPERATING SYSTEM CONCEPT AND PRACTISE
Introduction to Computer System
Computer Operations Part 2.
Computer Components ICS 3U0.
Operating System & Application Software
ECE 3430 – Intro to Microcomputer Systems
COURSE OUTCOMES OF Microprocessor and programming
Chapter 1: An Overview of Computers and Programming Languages
Computer Hardware – System Unit
ECE 3430 – Intro to Microcomputer Systems
Microprocessors and Programming Department of Mechatronics Engineering
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Chapter 7.2 Computer Architecture
Module IV Memory Organization.
Computer Organization & Assembly Language Chapter 3
Introduction of microprocessor
introduction to computer
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
ECE 3430 – Intro to Microcomputer Systems
Electronics Technology
IB Computer Science Topic 2.1.1
الجزء السابع الجزء السادس الجزء الخامس الجزء الرابع الجزء الثالث الجزء
Introduction to Microprocessors and Microcontrollers
Subject Name: Embedded system Design Subject Code: 10EC74
Computer Science I CSC 135.
Computers: Hardware and Software
ECE 3430 – Intro to Microcomputer Systems
Module IV Memory Organization.
Computer Memory BY- Dinesh Lohiya.
Introduction to Computer Architecture
Introduction to Computing Chapter 0
Today’s agenda Hardware architecture and runtime system
MICROPROCESSOR MEMORY ORGANIZATION
2.C Memory GCSE Computing Langley Park School for Boys.
Chapter 5 Computer Organization
Microprocessors and Programming Department of Mechatronics Engineering
Presentation transcript:

ECE 3430 – Intro to Microcomputer Systems ECE 3430 – Introduction to Microcomputer Systems University of Colorado at Colorado Springs Lecture #2 Agenda Today 1) Computer Hardware/Software 2) Operating Systems 3) HC11 Hardware Block Diagram 4) Peripheral Interfacing Techniques (Lab Breadboard Layout) Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software All microprocessors and microcontrollers employ both hardware (HW) and software (SW) to get things done. Computer Hardware circuitry executes program instructions handles input & output devices has memory to load/store programs/data CPU “Central Processing Unit” contains: Registers - Storage locations within the CPU. Faster than memory, used to hold data and/or memory addresses during execution of an instruction. Arithmetic Logic Unit - (ALU) Circuitry that performs numerical calculations and logic functions. Control Unit - State Machine that decodes program instructions and controls the execution of the instructions. Also allocates HW resources within the CPU. Why software? Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software Typical Computer System X-bit processor processor capable of manipulating X-bits in 1 operation Abbreviations Microprocessor = uP Microcontroller = uC Non Volatile Memory (program memory, ROM, Disk, CD) CPU - ALU - Control Unit - Registers Volatile Memory (data memory, RAM) I/O (Input/Output, Keyboard, Display) Program memory typically non-volatile in uC systems. BIOS is non-volatile in uP systems. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software Limits of a uP - requires external memory - cannot directly interface to I/O devices, needs other integrated circuits (ICs) - needs glue logic to interface to external memory and peripheral ICs Benefits of uC - combines all needed circuitry on one IC - CPU, memory, I/O interface, glue logic Types of Memory RAM - Random Access Memory, volatile (loses contents when power is lost), by convention is read/write ROM - Read-Only Memory (still randomly accessible), non-volatile, keeps data when power is removed Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software RAM: SRAM - Static RAM, faster more expensive, 4-6 transistors per memory cell DRAM - Dynamic RAM, slower, cheaper, needs special refresh circuitry to maintain memory contents, 1 transistor per memory cell ROM: MROM (or just ROM) - Masked Programmed ROM, uses metal layers in fab to write (cannot ever be changed) PROM - Programmable ROM, user can program electrically, fuse based, one-shot EPROM - Electrically Programmable ROM, user can program electrically but cannot erase electrically, shine UV light through window on top of chip to erase, long erase time (15-20 minutes) EEPROM - Electrically Erasable Programmable ROM, user can electrically erase and reprogram the memory, high voltage (can erase individual bytes) FLASH EEPROM - new EEPROM technology, erased and programmed “in system”, normal voltage (cheaper than EEPROMs – erase in sectors) Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Traditional EEPROM vs. Flash EEPROM Traditional EEPROMs have a larger cell size than Flash EEPROMs—so for a given amount of silicon, you get more memory with Flash than Traditional. Write time for Flash is faster than Traditional—but erase time is faster for Traditional. Traditional EEPROMs use Fowler-Nordheim tunneling to erase and write new data (this requires higher voltages). Flash EEPROMs use Fowler-Nordheim tunneling to erase only and hot electron injection to write new data. Oscillators and a charge-pump can be used to generate the higher voltage on-chip. Traditional EEPROMs can erase a single byte—while Flash EEPROMs erase sectors (maybe the whole chip). Flash EEPROMs will typically wear out quicker than Traditional EEPROMs (10,000 erase/write cycles vs. 100,000 erase/write cycles). Read access time for Traditional EEPROMs is faster than Flash EEPROMs. Read and write access time for RAM is faster than all EEPROM technologies (at least the write time is)! Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software Hardware Execution of Software 1) A program is written and inserted into memory. 2) The CPU initializes and sets up an internal register (called a program counter) to point to the first instruction the CPU is to execute. 3) The CPU with “fetch” an instruction from the memory address that the program counter points to. 4) The Control Unit decodes the instruction. 5) The Control Unit tells the ALU to perform an operation using the internal registers. 6) The program counter increments to the next instruction. Mention BIOS and reset vectors. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software Software Terminology: Program - A set of instructions that the computer HW can execute. Stored in memory as binary #’s. Machine Code - The binary #’s representing the program (ex, A+B = 0001 1011). Instruction - Each CPU has a set of instructions that it knows how to execute (ADD, SUB, LOAD). The instruction set is specific to the hardware. Assembly Language - It is very difficult to program in machine code. Assembly programming simplifies this by giving each instruction a mnemonic representation (ex, $1B = Machine Code, ABA = Assembly Instruction). Source Code - The file of assembly mnemonics that the programmer creates. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Computer Hardware/Software Software Terminology (continued)… Assembler - A program that translates the “source code” at the assembly level into machine instructions. Object Code - The output of the assembler. Cross-Assembler - An assembler ran on one computer but generates machine code to be executed on another computer (i.e., using a PC to assemble an HC11 program). Native Assembler - Assembler on the same machine the program will be executed on. High Level Language - Makes programming more general, easier to read, can handle larger programs (C/C++). Compiler - Program that translates high-level source code into machine instructions. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

ECE 3430 – Intro to Microcomputer Systems Operating Systems Operating systems (OS’s) can be thought of as programs which build a virtual environment in which other programs can be run. Operating systems insulate programmers from hardware complexity and provide memory and I/O device management. Operating systems use device drivers to communicate with specific hardware peripherals. Device drivers are either compiled into the operating system or plug into an existing operating system. Between the operating system and its associated drivers, programmers can write application programs with ease. Most modern operating systems work to maximize CPU throughput by creating a notion of concurrently running processes and threads. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

ECE 3430 – Intro to Microcomputer Systems Operating Systems On most microcomputer systems, the basic input output system (BIOS) contains the first instruction executed by the processor. After various power-on operations, control is transferred to the operating system. Other programs run on behalf of the OS. Microcomputer systems are not required to run an operating system. Microprocessor-based systems almost always use operating systems—while microcontroller-based systems usually don’t. Operating systems give life to the terms multiprocessing, multitasking, process, thread, et cetera. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

ECE 3430 – Intro to Microcomputer Systems Operating Systems Example operating systems: Microsoft DOS, Windows 95, 98, ME, NT, 2000, XP, Vista, CE… Early versions of Windows (pre-95) we not operating systems—but rather graphical shells that ran on DOS technology. Windows 2000, XP, and Vista are later versions of Windows NT technology (NT 5.0, 5.1, and 6.0 respectively). UNIX (lots of variants: BSD, HP-UX, Sun Solaris) Linux (lots of variants: Debian, Red Hat, Mandrake, SuSE) Apple Mac OS (“Classic”, Mac OS X) IBM OS/2 Warp Operating systems are designed to support certain processor and hardware architectures. We are not using an operating system to control the HC11 in lab. You will write the first instruction executed by the HC11. Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

ECE 3430 – Intro to Microcomputer Systems HC11 Block Diagram Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Peripheral Interfacing Peripherals are input or output devices that interface to a microcomputer system. Input devices: sensors Mice Keyboards Toggle switches Pushbuttons Thermocouples Output devices: actuators Monitors/Liquid Crystal Displays (LCD) Light-Emitting Diodes (LEDs) Buzzers Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Peripheral Interfacing Active-High Sensor Interfacing: Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Peripheral Interfacing Active-Low Sensor Interfacing: Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Peripheral Interfacing Active-High Actuator Interfacing: Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Peripheral Interfacing Active-Low Actuator Interfacing: Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009

Lab Circuit (Breadboard) Lecture #2 ECE 3430 – Intro to Microcomputer Systems Fall 2009