Lecture - 1 Introduction. Outline Course assessment criteria PIC microcontrollers Basic computer architecture – CPU – Memory – I/O – Buses.

Slides:



Advertisements
Similar presentations
Microprocessors A Beginning.
Advertisements

+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
Department of Computer Engineering
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Processor System Architecture
© 2010 Kettering University, All rights reserved..
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CENTRAL PROCESSING UNIT
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Computer Organization and Assembly language
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
Microcontroller based system design
6. The CPU and Memory Chapt. 7.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
What’s on the Motherboard? The two main parts of the CPU are the control unit and the arithmetic logic unit. The control unit retrieves instructions from.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
The Microcomputer System In this presentation you will: Investigate the microprocessor Title Page.
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Higher Computing Computer Systems S. McCrossan 1 Higher Grade Computing Studies 2. Computer Structure Computer Structure The traditional diagram of a computer...
Introduction to Computing: Lecture 4
created by :Gaurav Shrivastava
Understanding Computers, Ch.31 Chapter 3 The System Unit: Processing and Memory.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Memory and Storage Dr. Rebhi S. Baraka
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Structure & Architecture 7b - CPU & Buses.
Computer Architecture Lecture 24 Fasih ur Rehman.
Computer Organization. The digital computer is a digital system that performs various computational tasks Digital computer use binary number system which.
Electronic Analog Computer Dr. Amin Danial Asham by.
MICROOCESSORS AND MICROCONTROLLER:
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
The Computer System.
Computer operation is of how the different parts of a computer system work together to perform a task.
Basic Concepts Computer Organization & Assembly Language Programming Instructor: Maram Alsahafi [Some of the contents Adapted from slides Dr Adnan Gutub,
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Overview of microcomputer structure and operation
CS 1410 Intro to Computer Tecnology Computer Hardware1.
Computers Are Your Future Tenth Edition Inside the System Unit 1.
Information Technology INT1001 Lecture 2 1. Computers Are Your Future Tenth Edition Chapter 6: Inside the System Unit Copyright © 2009 Pearson Education,
CH (5) Computer Organization
Block diagram of a computer system Basic components of a computer system using block diagrams: Cpu Memory Input and output unit Evolution of microprocessor.
MICROPROCESSOR AMARTYA ROY-72 ANGSHUMAN CHATTERJEE-80 ASHISH LOHIA-70 MOLOY CHAKRABORTY-60.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Chapter 2 content Basic organization of computer What is motherboard
COMP2121: Microprocessors and Interfacing
COURSE OUTCOMES OF Microprocessor and programming
Microprocessor and Microcontroller Fundamentals
Introduction to Microprocessors
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
Introduction of microprocessor
Introduction to Microprocessors
Microprocessor & Assembly Language
Chapter 5: Computer Systems Organization
MICROPROCESSOR MEMORY ORGANIZATION
Chapter 5 Computer Organization
Presentation transcript:

Lecture - 1 Introduction

Outline Course assessment criteria PIC microcontrollers Basic computer architecture – CPU – Memory – I/O – Buses

Microcomputer system design ( ) Instructor: Dr. Omar Sonbul Lecture hrs: 3, Lab hrs: 3, credit hrs: 4 Catalog description : Microcomputer system design, Hardware and Software design considerations, Selection of Memories, I/O devices and Peripherals. Practice of design of a microcomputer systems using PIC18, testing, programming, debugging and troubleshooting. Assessment: Laboratory: 25% Project: 20% Periodical exams: 15% Final exam: 40%

Textbook Muhammad ali mazidi, Rolin D. mckinlay, Danny causey, "PIC microcontroller and Embedded systems: using assembly and C for PIC 18", Pearson international edition, 2008

PIC microcontrollers The PlC (programmable interface controller) microcontrollers are a series of RISC (reduced instruction set computer) integrated circuits produced by Microchip Technology Incorporated. ( Variations are currently available in package sizes of as small as 18 pins and as large as 128 pins.

Basic computer architecture Memory I/O Central processing unit (CPU) Data Input Output Program ALU Control unit

CPU size At its core is the CPU (central processing unit) the controlling element of the system. Central processors can be of any size and have been anything from 4 bits in width to 64 bits. The size of the CPU is determined by its memory address width and its arithmetic and logic unit, A 4-bit microprocessor performs these operations on 4-bit integers (called nibbles), whereas a 64-bit microprocessor performs them on integers of a maximum size of 64-bits.

CPU clock speed The clock speed varies considerably and is currently a few megahertz for microcontrollers to several gigahertz for more powerful microprocessors. The exact number of instructions executed per second is based on the internal design of the CPU, the complexity of the instructions that it executes, and the program being executed. The type of microprocessor can also determine its speed. A RISC (reduced instruction set computer) is a machine that executes one instruction per clock and contains only basic instructions. A CISC (complex instruction set computer) executes many more different instructions than a RISC machine, but some of the instructions require more than one clock to complete.

CPU task The CPU is responsible for executing a series of sequential instructions organized into a grouping of instructions called a program. The program in a computer system is a collection of instructions aligned in a sequential fashion, which is executed by the CPU. The CPU fetches instructions from the memory system and executes them. Each step of this simple program is converted to the language that the CPU understands, called machine language which is a series of numbers that represent instructions.

Assembly language The assembler, which is also a program, converts the symbolic assembly language program into numeric machine code. It is used to write the program in its symbolic form using mnemonic op-codes such as GET and ADD. Because an assembly language program can be quite long and challenging to write, modem programming typically uses a high- level language to generate the machine code. A high-level language is a program that accepts as its input a pseudo-English-like language and then converts it into numeric machine code. Some of these languages are BASIC, C, C++, or Java.

Assembly adv. and dis. Assembly advantages: – Programmer can write codes that's really fast. – Programmer can write codes that's consumes relatively little memory. – Programmer will understand the hardware and make it do stuff super-efficiently. – Assembly language does not rely on the compiler vendor. Assemble disadvantages: – Creating assembly code is time-consuming. – Creating assembly code is error-prone. – Creating assembly code is a maintenance NIGHTMARE.

CPU function A CPU performs three main tasks in a computer system: (1) Data transfer, (2) Arithmetic and logic, (3) Program flow control. Data transfers represent the most common CPU task. Data transfers include fetching an instruction from memory, transferring data between registers or memory locations, and transferring the result from some arithmetic or logic operation between memory and the CPU or between an I/O device and the CPU.

Arithmetic and logic instructions A CPU spends much less time performing arithmetic and logic operations on numbers than data transfers. These operations are normally performed by an integer arithmetic unit. Real numbers cannot be operated on by the CPU without a program or special processing unit called numeric processor. Microprocessors often contain a numeric processor as well as the integer processor, whereas the microcontroller seldom contains a numeric processor.

Program flow control instructions Program flow control instructions allow a section or sections of code to be used multiple times in a program. Program flow control instructions also allow the flow of a program to be transferred to a function or procedure. There are unconditional and conditional program flow control instructions. The unconditional program flow control instructions are the GOTO and function CALL instructions. The conditional program flow control instructions allow a number to be tested for a condition to determine if the flow of the program is modified. Conditional program flow control instructions test a number to determine if it's zero, if a carry occurred after addition, or if the result of an operation is negative or positive.

Memory The memory is an extremely important component of a computer system because it provides a place to store programs and the data used by a program. Two types of memory are used: read-only memory (ROM) and read/write memory, typically called random access memory (RAM). The ROM in a microcontroller-based system stores static data as a program and as constant data used by the program. Most embedded microcontroller-based systems store only one program in the memory that functions as an operating system. The RAM in a microcontroller-based system stores dynamic data for the system.

ROM types ROM typeCostProgrammabilityTime to program Time to erase Mask- programmed ROM Very inexpensive At factory onlyWeeksN/A PROMInexpensiveOnce, by end userSecondsN/A EPROMModerateMany timesSeconds20 minutes Flash EPROMExpensiveMany times100 ms1 s, large block

Dynamic RAM (DRAM) DRAM (Dynamic random-access memory) which uses memory cells consisting of one capacitor and one transistor to store each bit. This is the cheapest and highest in density, so it is used for the main memory in computers. However the electric charge that stores the data in the memory cells slowly leaks off, so the memory cells must be periodically refreshed (rewritten), requiring additional circuitry. The refresh process is automatic and transparent to the user.

Static RAM (SRAM) SRAM (Static random-access memory) which relies on several transistors forming a digital flip-flop to store each bit. This is less dense and more expensive per bit than DRAM, It is faster than DRAM and does not require memory refresh. It is used for smaller cache memories in computers.

I/O The input/output (I/O) in a system is a CPU's connection to other machines and humans. Without I/O, the CPU is able to solve problems, but it cannot provide the result to humans or other machines. Because of the diversity of I/O devices connected to a CPU, much of the work with microprocessors or microcontrollers involves interfacing and controlling, through software drivers, the I/O devices in a computer system. Some common I/O devices are keyboards for inputting information and LCD or video displays for outputting data.

Buses The connections between the blocks in the block diagram of a computer system are called buses. A bus is a common set of wires that carry a specific type of information. A computer system has three buses: (1) address, (2) data, and (3) control. The address bus carries address information for selecting a memory location or an I/O location. The data bus carries the data that is transferred between the memory or I/O and the microcontroller. The control bus controls whether the memory and I/O is read or written.

Address bus All computers have an address bus with signal lines that are almost always labelled A0,AI, A2 …… For example, if a computer has a 16-bit address bus (numbered from A0 to A15), it addresses 64K of memory or 64 X 1,024 (65,536) locations in the memory system. Memory is numbered in hexadecimal (number base or radix 16) from location zero to the maximum number for the address width.

Data bus The data bus in a computer system is usually a 2-way bus or a bidirectional bus that carries data between the CPU and the memory and I/O system. The width of the data bus, which is numbered from DO to Dn, varies. The zero bit (DO) is the least significant data bus bit. An 8-bit computer usually has an 8-bit data bus, a 16-bit computer usually has a 16-bit data bus. In some machines, the data bus is twice the width of the CPU to accomplish data transfers at higher speeds.

Control bus The control bus controls the memory and I/O with the microprocessor through a read signal often called RD and a write signal often called WR. Note that the over bar indicates a signal is an active low signal. If the microprocessor fetches an instruction from memory, it places the memory address on the address bus, the read signal is forced low to inform the memory to do a read operation, and the data are then transferred from the memory to the microprocessor through the data bus. Likewise, the same steps are performed for a write.

Summary The CPU is the controlling element in a computer system. The CPU performs data transfers, does simple arithmetic and logic operations, and makes simple decisions. The CPU executes programs stored in the memory system to perform complex operations in short periods of time. The address bus is used to request a memory location or I/O device. The data bus transfers data between the microprocessor and its memory and I/O spaces. The control bus controls the memory and I/O, and requests the reading or writing of data.