Microprocessors & Microcomputers PDF
Document Details
Uploaded by IssueFreeRadon6091
TU Dublin
Tags
Summary
This document provides an overview of microprocessors and microcomputers, including their components, functions, and different scales used in computing. It explains concepts like byte scale, FLOPS, and various types of memory. The document also touches on supercomputing and hardware/software aspects of computers.
Full Transcript
# Microprocessors & Microcomputers The "brains" of the modern computer. ## Microprocessors (CPU's ) - A microprocessor is the main component of a microcomputer system and is also called as CPU (Central Processing Unit). - A microcomputer system consist of a minimum of memory (e.g. RAM & ROM) & I/...
# Microprocessors & Microcomputers The "brains" of the modern computer. ## Microprocessors (CPU's ) - A microprocessor is the main component of a microcomputer system and is also called as CPU (Central Processing Unit). - A microcomputer system consist of a minimum of memory (e.g. RAM & ROM) & I/O devices (Graphics Card, I/O devices, ect). - A microcomputer is a programmable machine. Modern computers are electronic and digital. The two principal characteristics of a computer are: - It responds to a specific set of instructions in a well-defined manner. - It can execute a prerecorded list of instructions (a program) ## Byte Scale (Unit of Storage/Capacity) | Unit | Bytes | |---------------|---------------------------------------| | Megabyte | 1,000,000 | | Gigabyte | 1,000,000,000 | | Terabyte | 1,000,000,000,000 | | Petabyte | 1,000,000,000,000,000 | | Exabyte | 1,000,000,000,000,000,000 | | Zettabyte | 1,000,000,000,000,000,000,000 | | Yottabyte | 1,000,000,000,000,000,000,000,000 | ## Definition: FLOP - Computer systems use floating-point numbers to represent extremely large numbers that would otherwise require many digits to record. - ICT professionals use the term "flops" to indicate how quickly computers can calculate these numbers. - The use of terms like "gigaflop" correspond to other terms like "gigabyte," which represents one billion individual bytes of data storage. - It's important to note that in terms of processing speed and power, even the average device such as a laptop or desktop computer has already advanced beyond the capacity of a single gigaflop - A gigaflop is equal to one billion floating-point operations per second. Floating-point operations are the calculations of floating-point numbers. ## Definition: FLOP - Scientific Prefixes in Computing | Name | Unit | Value | |----------------------|-----------|-------| | kiloFLOPS | KFLOPS | 10^3 | | megaFLOPS | MFLOPS | 10^6 | | gigaFLOPS | GFLOPS | 10^9 | | teraFLOPS | TFLOPS | 10^12 | | petaFLOPS | PFLOPS | 10^15 | | exaFLOPS | EFLOPS | 10^18 | | zettaFLOPS | ZFLOPS | 10^21 | | yottaFLOPS | YFLOPS | 10^24 | ## Supercomputing - Summit (2018) IBM AC922 - 200 PF - Titan (2012) Cray XK7 - 27 PF - Jaguar (2009) Cray XT5 - 263 TF - Jaguar (2008) Cray XT5 - 62 TF - Jaguar (2007) Cray XT4 - 54 TF - Jaguar (2006) Cray XT3 - 25 TF - Jaguar (2005) Cray XT3 - 18.5 TF - Phoenix (2004) Cray X1E - 2004 ## Oak Ridge Facility - Sumit Supercomputer - Cost: €200 million ## Scales in Computing - **Terascale:** Refers to methods and processes for using supercomputers capable of performing at least 1 TFLOPS or storage systems capable of storing at least 1 TB - Tera = 1 x 10^12 (1024 GBytes) - **Petascale:** Refers to methods and processes for using supercomputers capable of performing at least 1 PFLOPS or storage systems capable of storing at least 1 PB - Peta = 1 x 10^15 (approx 1 million Gbytes) - **Exascale:** Refers to methods and processes for using supercomputers capable of performing at least 1 EFLOPS or storage systems capable of storing at least 1 EB - Exa = 1 x 10^18 ## Comparisons - Computing Power - PlayStation 4 (2013) - 1.843 TFLOPS - Xbox One S (2016) - 1.4 TFLOPS - PlayStation 4 Pro (2016) - 4.2 TFLOPS - Nintendo Switch (2017) - 1 TFLOPS - Laptop/Desktop - 1 TFLOPS - Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz - 45.93 GFLOPS As of June 2018, the fastest machine was the Summit Supercomputer: - IBM PowerPC and Nvidia machine at Oak Ridge. - It hit 148.6 petaflops (148.6 x 10^15) on 2.2M cores - Equivalent of about 63 gigaflops per core (CPU). - It's theoretical peak is 200 petaflops (200 x 1015 FLOPS) - Works with 10PetaBytes of RAM Memory (=10 Million GBytes of ## Block Diagrams (Microcomputer & Microprocessor) - **Block diagram of a basic computer system** - CPU - ROM - RAM - I/O interface - I/O devices - Microprocess or - Microcomputerr - Address bus - Data bus - Control bus ## Hardware - All general-purpose computers require the following hardware components: - **Memory**: Enables a computer to store data and programs. - **Mass storage device**: Allows a computer to permanently retain large amounts of data. Common mass storage devices include disk drives and tape drives. - **Input device**: Usually a keyboard and mouse are the input device through which data and instructions enter a computer. - **Output device**: A display screen, printer, or other device that lets you see what the computer has accomplished. - **Central processing unit (CPU)**: The heart of the computer, this is the component that actually executes instructions. - **A "Bus"**: Data Bus for transmitting information, and an Address Bus for accessing the locations of devices and memory. ## Software - The programs and data stored in a microcomputer is called as software. - Programs can be written in low level languages or high level languages. - A low level language can be binary language or assembly language. - A CPU recognizes only binary language which is called as machine language. - Assembly language instructions contain alphabets and/or numeric characters. To run assembly language programs a converter called as assembler is required. - High level languages are more user friendly and contain simple words of English language. To run high level programs, converters such as compilers or interpreters are required. ## Input & Output Devices - Input devices are used to input electrical or physical information in a microcomputer system in digital form. - In embedded applications, commonly used input devices are simple switches and sensors. - In general purpose microcomputers, input devices can be scanners, keyboard, mouse, network card etc. - Output devices are used to display or perform required operation. - In embedded applications (CPU in a Washing Machine, for example) commonly used output devices are LED display units, LCD display units, stepper motors etc. - In general purpose computers output devices are mainly LCD screens, LED screens, Printers, network card etc. ## Memories - Memory in a microcomputer system is used to store data and programs temporarily or permanently. - The memories of primary concern for the CPU are only RAM & ROM which are called as primary memory or main memory. The CPU, at any one time, can only communicates with RAM & ROM. - Other than primary memories, there are also secondary memories which are used for mass storage of data and programs and are transferred to the primary memory when required to be executed by the CPU. Examples of secondary memories are Hard Disks, DVDs/CD's, flash drives etc. ## Memory Classification - Memory - Primary Memory or Main Memory - Readi/write Memory - Read only Memory - Mask ROM - PROM - Cache Memory - Secondary Memory or Auxilliary Memory - Hard Disk Drive (HDD) - Floppy Disk (FD) - Compact Disk (CD) - Digital Versatile Disk (DVD - Flash Drive - Sequential Access Memory (SAM) - Random Access Memory (RAM) - Static RAM (SRAM) - Dynamic Ram (DRAM) - SDRAM (Synchronous DRAM) - DDRRAM (Double Data Rate RAM) ## Internal structure and basic operation of microprocessor - Address bus - ALU - Register Section - Data bus - Control bus - Control and timing section - Block diagram of a microprocessor ## Memory Mapping for I/O Devices - 8 GB - Top of System Address Space - FLASH - APIC - Upper 4 GB of address space - ~ 20 MB Reserved - 1 MB OFFFFFH - Upper BIOS area (64 KB) - 960 KB 0F0000H - 0EFFFFH - Lower BIOS area (64 KB; 16 KB x 4) - 896 KB 0E0000H - 0DFFFFH - Add-in Card BIOS and Buffer area (128 KB; 16 KB x 8) - 768 KB 0C0000H - 0BFFFFH - Standard PCI/ISA Video Memory (SMM Memory) - 128 KB 0A0000H - 640 KB 09FFFFH - - 00000H - DOS area (640 KB) - 0 KB - PCI Memory Range - contains PCI, chipsets, Direct Media Interface (DMI), and ICH ranges (approximately 750 MB) - DRAM Range - DOS Compatibility-Memory ## Memory Mapping In the following table, the increased maximum resources of computers that are based on 64-bit versions of Windows and the 64-bit Intel processor are compared with existing 32-bit resource maximums. | Architectural component | 64-bit Windows | 32-bit Windows | |--------------------------|-----------------------|-------------------| | Virtual memory | 16 terabytes | 4 GB | | Paging file size | 256 terabytes | 16 terabytes | | Hyperspace | 8 GB | 4 MB | | Paged pool | 128 GB | 470 MB | | Non-paged pool | 128 GB | 256 MB | | System cache | 1 terabyte | 1 GB | ## Explanation: Virtual Memory This is a method of extending the available physical memory on a computer. In a virtual memory system, the operating system creates a pagefile, or swapfile, and divides memory into units called pages. Recently referenced pages are located in physical memory, or RAM. If a page of memory is not referenced for a while, it is written to the pagefile. This is called "swapping" or "paging out" memory. If that piece of memory is then later referenced by a program, the operating system reads the memory page back from the pagefile into physical memory, also called "swapping" or "paging in" memory. The total amount of memory that is available to programs is the amount of physical memory in the computer in addition to the size of the pagefile. An important consideration in the short term is that even 32-bit applications will benefit from increased virtual memory address space when they are running in Windows x64 Editions. ## Other Explanations - **Paging file:** This is a disk file that the computer uses to increase the amount of physical storage for virtual memory. - **Hyperspace:** This is a special region that is used to map the process working set list and to temporarily map other physical pages for such operations as zeroing a page on the free list (when the zero list is empty and the zero page is needed), invalidating page table entries in other page tables (such as when a page is removed from the standby list), and in regards to process creation, setting up the address space of a new process. - **Paged pool:** This is a region of virtual memory in system space that can be paged in and out of the working set of the system process. Paged pool is created during system initialization and is used by Kernel-mode components to allocate system memory. Uniproccessor systems have two paged pools, and multiprocessor systems have four. Having more than one paged pool reduces the frequency of system code blocking on simultaneous calls to pool routines. - **Non-paged pool:** This is a memory pool that consists of ranges of system virtual addresses that are guaranteed to be resident in physical memory at all times and thus can be accessed from any address space without incurring paging input/output (I/O). Non-paged pool is created during system initialization and is used by Kernel-mode components to allocate system memory. - **System cache:** These are pages that are used to map open files in the system cache. ## Theoretical Limits for Address Busses - 16 bit = 65, 536 bytes (64 Kilobytes) - 32 bit = 4, 294, 967, 295 bytes (4 Gigabytes) - 64 bit = 18, 446, 744, 073, 709, 551, 616 (16 Exabytes) ## System (Bus) - CPU Chip or Microprocessor - ALU (calculating) - Internal communication - Registers (temporary storage) - Control section - Storage/input Internal memory - RAM - Read/write - ROM - Read only - Bus System - Input interface - Input devices - Keyboard - Mouse - Joy stick - Scanner - Light pen - Output interface - Output devices - Monitor - Printer - Storage/Input External Memory - Floppy disc drive - Hard disc drive - CD ROM - Magnetic tape ## System BUS (Three Types) - CPU - Memory - Input and Output - Control bus - Address bus - Data bus ## The Diagram of a Microprocessor (µP) - CPU chipar or Microprocessor - ALU (calculating) - Internal communication - Registers (temporary storage) - Control section - processor - DATA - ADDR - CTRL - Cloc k - programme memory (ROM) - data memory (RAM) - operator devices - commu- nication devices - process devices ## Explanation of a Microprocessor (μP) - The microprocessor is a semico (Integrated Circuit) manufactured by the VLSI (Very Large Scale Integration) technique. It includes the ALU, register arrays and control circuit on a single chip. - A system designed using a microprocessor as its CPU is called a microcomputer. - The Microprocessor based system (single board microcomputer) consists of microprocessor as CPU, semiconductor memories like EPROM and RAM, input device, output device and interfacing devices. - The memories, input device, output device and interfacing devices are called peripherals. - The popular input devices are keyboard and floppy disk and the output devices are printer, LED/LCD displays, CRT monitor, etc - In the µP based system, the microprocessor is the master and all other peripherals are slaves. The master controls all the peripherals and initiates all operations. The work done by the processor can be classified into the following three groups. - Work done internal to the processor - Work done external to the processor - Operations initiated by the slaves or peripherals. - The work done internal to the processors are addition, subtraction, logical operations, data transfer operations, etc. - The work done external to the processor are reading/writing the memory and reading/writing the I/O devices or the peripherals. If the peripheral requires the attention of the master then it can interrupt the master and initiate an operation. - The microprocessor is the master, which controls all the activities of the system. To perform a specific job or task, the microprocessor has to execute a program stored in memory. The program consists of a set of instructions. It issues address and control signals and fetches the instruction and data from memory. ## Explanation of a Microprocessor (μP) - BUSES: - The buses are group of lines that carries data, address or control signals. - The CPU Bus has multiplexed lines, i.e., same line is used to carry different signals - The CPU interface is provided to demultiplex, the multiplexed lines, to generate chip select signals and additional control signals. - The system bus has separate lines for each signal. - All the slaves in the system are connected to the same system bus. At any time instant communication takes place between the master and one of the slaves. ## Explanation of a Microprocessor (μP) - PERIPHERAL DEVICES: - The EPROM memory is used to store permanent programs and data. - The RAM memory is used to store temporary programs and data. - The input device is used to enter the program, data and to operate the system. - The output device is used for examining the results. Since the speed of I/O devices does not match with the speed of microprocessor, an interface device is provided between system bus and I/O devices. Generally I/O devices are slow devices. ## Microprocessor (µP) Clock - In general, the clock refers to a microchip that regulates the timing and speed of all computer functions. - In the clock chip is a crystal (piezoelectrical crystal like quartz) that vibrates at a specific frequency when electricity is applied. - The shortest time any computer is capable of performing is one clock, or one vibration of the clock chip. - The speed of a computer processor is measured in clock speed, for example, - 1 MHz is one million cycles, or vibrations, a second. - 2 GHz is two billion cycles, or vibrations, a second. ## System BUS – In Real Life - A Circuit Board with a CPU - The green lines on the board represent the System BUS - This diagram shows the relationship between the different parts of a computer system, including the CPU, memory, and input/output devices, showing how data is delivered to the correct location. ## Motherboard - Easy Buttons - Easy OC Switch - PCI Slots - Intel ICH10R Chipset - DLED2 Display - Serial ATA Headers - PCI-Express Slots - 3 PCI-E X16, 2 PCI-E X1 - Back Panel Connectors - D-LED2 - MSIB - Dimos - DrMOS - Intel Socket LGA 1366 Connector - Intel X58 Chipset - DDR3 1333 MHz Triple Channel Memory Slots (Up to 24 GB) - USB 2.0 Ports - Dual Gigabit LAN Ports - eSATA Ports - USB 2.0 Ports - Clear CMOS Button - 1394 Port - PS/2 Mouse Port - PS/2 Keyboard Port ## A CPU Cache - CPU - L1 Cache - On-chip - Registers - RAM Memory - CPU - Main Memory - Registers - L1 Cache - L2 Cache - RAM - A CPU cache is a small memory location within the CPU itself used by the CPU of a computer to reduce the average time to access data from the main memory. - A cache will store recent data. ## A CPU Cache Levels - When the processor needs to read from or write to a location in main memory, it first checks whether a copy of that data is in the cache. - If so, the processor immediately reads from or writes to the cache, which is much faster than reading from or writing to main memory. - Cache's are faster then accessing memory, but may not always "prefetch" or hold the data the CPU needs. - An issue with speed versus accuracy is the fundamental tradeoff between cache latency and hit rate. - Larger caches have better hit rates but longer latency. - To address this tradeoff, many computers use multiple levels of cache, with small fast caches backed up by larger, slower caches. - Multi-level caches generally operate by checking the fastest, level 1 (L1) cache first; if it hits, the processor proceeds at high speed. - If that smaller cache misses, the next fastest cache (level 2, L2) is checked, and so on, before external memory is checked. ## 4004 - First microprocessor (1971) - For Busicom calculator - Characteristics - 10 µm process - 2300 transistors - 400 - 800 kHz - 4-bit word size - 16-pin DIP package - Masks hand cut from Rubylith - Drawn with color pencils - 1 metal, 1 poly (jumpers) - Diagonal connectors ## 80286 - Virtual memory (1982) - IBM PC AT - Characteristics - 1.5 µm process - 134k transistors - 6-12 MHz - 16-bit word size - 68-pin PGA - Regular datapaths and internal ROMS ## 80386 - 32-bit processor (1985) - Modern x86 ISA - Characteristics - 1.5-1 µm process - 275k transistors - 16-33 MHz - 32-bit word size - 100-pin PGA - 32-bit datapath, microcode ROM, synthesized control ## Pentium - Superscalar (1993) - 2 instructions per cycle - Separate 8KB I$ & D$ - Characteristics - 0.8-0.35 μm process - 3.2M transistors - 60-300 MHz - 32-bit word size - 296-pin PGA - Caches, datapath, FPU, control ## Pentium 4 - Deep pipeline (2001) - Very fast clock - 256-1024 KB L2$ - Characteristics - 180 – 90 nm process - 42-125M transistors - 1.4-3.4 GHz - 32-bit word size - 478-pin PGA - Units start to become invisible on this scale ## Intel ™™ iCores - Generational Multi-Core CPU's - Many more contact points - 4 Physical CPU's = 8 logical (HyperThreading) - Architecture 22nm technology - 20 MB Intel® Smart Cache - Intel® 64 architecture - Level 1 Cache: 16KB data cache - Level 2 Cache Smart Cache dividing up 20MB between 8 cores. - Up to 3.5 Ghz with Intel® Turbo Boost Technology - 64GB of addressable memory ## Intel ™™ iCore 7i - Core - Core - Core - Core - Processor Graphics - Shared L3 Cache** - Memory Controller I/O - System Agent, Display Engine & Memory Controller - including Display, PCIe and DMI IOS ## Summary - 10^4 increase in transistor count, clock frequency over 30 years! ## Newer Intel™ CPU's | Brand | Processor Number | Price | TDP | Cores/ Threads | CPU Base Freq (GHz) | Max Turbo Freq (GHz) | DDR3 (MHz) | L3 Cache | Intel® HD Graphics 2500/4000 | Graphics Base Render Frequency | Graphics Max Dynamic Frequency | |----------------------|----------------------------------------------------|-------|-----|----------------|-----------------------|-----------------------|--------------|-----------|-----------------------------|--------------------------------|--------------------------------| | Core i7-3770K | Core i7-3770K | $313 | 77 | 4/8 | 3.50 | 3.90 | 1600 | 8M | 4000 | 650MHz | 1150MHz | | Core i7-3770 | Core i7-3770 | $278 | 77 | 4/8 | 3.40 | 3.90 | 1600 | 8M | 4000 | 650MHz | 1150MHz | | Core i5-3570K | Core i5-3570K | $212 | 77 | 4/4 | 3.40 | 3.80 | 1600 | 6M | 4000 | 650MHz | 1150MHz | | Core i5-3570 | Core i5-3570 | $194 | 77 | 4/4 | 3.40 | 3.80 | 1600 | 6M | 2500 | 650MHz | 1150MHz | | Core i5-3550 | Core i5-3550 | $194 | 77 | 4/4 | 3.30 | 3.70 | 1600 | 6M | 2500 | 650MHz | 1150MHz | | Core i5-3470 | Core i5-3470 | $174 | 77 | 4/4 | 3.20 | 3.60 | 1600 | 6M | 2500 | 650MHz | 1100MHz | | Core i5-3450 | Core i5-3450 | $174 | 77 | 4/4 | 3.10 | 3.50 | 1600 | 6M | 2500 | 650MHz | 1100MHz | ## Growth in Processing - Human Brain - Mouse Brain - Core i7 Quad - 10^10 - Core 2 Duo - 10^9 - Pentium IV - 10^9 - Pentium III - 10^8 - Pentium II - 10^7 - Pentium - 10^6 - IBM AT-80286 - 10^5 - IBM PC - 10^4 - DEC PDP-10 - 10^3 - Apple II - 10^3 - IBM 1130 - 10^2 - Altair 8800 - 10^2 - Compaq Deskpro 386 - 10^1 - UNIVAC I - 10^0 - DEC PDP-1 - 10^0 - Colossus - 10^-1 - IBM SSEC - 10^-2 - IBM 704 - 10^-2 - Tabulator - 10^-3 - Hollerith Tabulator - 10^-4 - National Ellis 3000 - 10^-4 - Bell Calculator Model 1 - 10^-5 - Analytical Engine - 10^-6 - Optical, quantum, DNA computing? ## Growth in Scale (Moore's Law) - Sandy Bridge - G6 - Nehalem - Ivy - Pentium 4 - G5 - Pentium M - G4 - Pentium III - Pentium MMX - Pentium Pro - G3 - Pentium - 604e - 604 - 601 - 603e - 80486 - - 68040 - 80386 - 68030 - 80286 - - 68020 - 68000 - - 8086 8088 - 8085 - 8080 - 8008 - 6800 - 4004 - ## Moore's Law - Moore's Law is the observation made in 1965 by Gordon Moore, co-founder of Intel. - It States that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented. - Moore predicted that this trend would continue for the foreseeable future. - In subsequent years, the pace slowed down a bit, but data density has doubled approximately every 18 months. - This is the current definition of Moore's Law - Most experts, including Moore himself, expect Moore's Law to hold true until 2020-2025. - The limitation which exists is that once transistors can be created as small as atomic particles, then there will be no more room for growth in the CPU market where speeds are concerned. ## The Future of CPU's? - Non-silicon alternative - carbon nano-tubes - molecular computing with organic molecules - Optical Computers- light instead of electricity - Quantum computing- computing with atoms and their component parts ## Carbon Nano Tubes - Gate oxide - Source - Gate - Carbon nanotubes - Drain - Silicon oxide - Silicon - Faster - Dissipate Heat - Better - Better Energy Efficiency This document is about microprocessors and microcomputers, including a brief history of Intel processors and their evolution over time. Further, it discusses Moore's Law and its impact on the development of computing power as well as new technologies and different approaches to computing that may exist in the future.