Presentation on theme: "Memories and Microprocessors. Introduction torage and recall of information fundamental to sequential circuits We have already looked at basic circuits."— Presentation transcript:
Introduction torage and recall of information fundamental to sequential circuits We have already looked at basic circuits to accomplish this flip-flops latches We shall now study how to build and access large memory systems Microprocessors and microcontrollers developed to fully exploit the potential of large memory systems
Objectives To study how simple memory devices can be constructed into large memory systems To understand the strengths and weaknesses of different types of memory: specifically Static RAM, Dynamic RAM, Programmable ROM Erasable PROM and Mask-programmed ROM To illustrate the range of activities a simple microprocessor can carry out To illustrate the benefits of a software solution to circuit design
Combining registers Example: store four 8-bit binary numbers in four 8-bit registers Solution 1: Four mutually exclusive clock pulses Sourc e of 8-bit words 8-bit regist er 8888 8888 clk1clk2clk3clk4 Four clock signals mutually exclusive
Writing to the memory The data bus sets the 8 data input lines to the required values On the clock/control pulse the output from the address decoder selects which register to address. The others don’t get the clock pulse
Combining registers 8-bit data words 2-bit addresses address decoder register 8 2 control line (clock pulse) 8888 buses 11 00
Combining registers Solution 2Data source specifies which register Source of 8-bit words and 2-bit addresses 8-bit regist er 8888 8888 CCCC address decoder Q3 Q2 Q1 Q0 2 control signal C Inputs Outputs A1 A0 Q3 Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 Decode Control AND gate output signal output 0 0 0 0 1 0 1 0 0 1 1 1
Reading and writing Similar circuits can be set up for reading from the memory Memory thus consists of registers and buses that allow the storage functions to be carried out
Addressable Memory AddressData 000xxxx 001xxxx 010xxxx 011xxxx 100xxxx 101xxxx 110xxxx 111xxxx decoder 3 2 data bus 4 lines control bus read/write enable address bus 3 lines 4
Memory can be organized in different ways: 8 x 1 byte or 8 x 8 bit 16 x 4 bit 64 x 1 bit capacity of all these is 64 bits
Combining addressable memories Eight 32K by 8 memory devices forming a 256K byte memory 32K by 8 RAM addresses 224K to (256K- 1) addresses 192K to (224K- 1) addresses 160K to (192K- 1) addresses 128K to (160K- 1) addresses 96K to (128K-1) addresses 64K to (96K-1) addresses 32K to (64K-1) addresses 0K to (32K-1) 32K by 8 RAM source and receiver 8 8 8 8 8 8 8 8 15 address decoder 15 3 18 address bus
Combining addressable memories Eight 256K by 1 memory devices forming a 256K byte memory 256K by 1 RAM 87654321 address bus data bus 18 source and receiver 18
Major Types of Memory RAM all addresses accessible in equal time selected in any order for read/write read leaves data intact, write overwrites volatile ROM permanent or semi-permanent storage non-volatile
RAM types SRAM DRAM static RAM flip flop based synchronous burst (SB SRAM) asynchronous (ASRAM) dynamic RAM capacitor based fast page mode (FPM DRAM) extended data out (EDO DRAM) Burst EDO (BEDO DRAM) Synchronous (SDRAM) see, for example: http://www.tomshardware.com
Summary Random Access Memory (RAM) Static RAM (SRAM) based on flip-flops requires several transistors fast access time Dynamic RAM (DRAM) stores charge requires one capacitor and one transistor But needs refresh every few milliseconds slower access time Even with additional circuitry for refresh operation, DRAM has a higher density of storage-bits per unit area
ROM Contains permanent or semi-permanent stored data. Can be read but not changed (or not without specialized equipment). Types: Generic (mask) ROM Programmable ROM (PROM) Erasable PROM (EPROM)
Mask ROM Mask-programmed ROM generic ROM Chip manufacturer designs final photographic mask to customer’s requirements as final stage Only cost-effective for volume production (tens of thousand)
Programmable ROM A B address 0 address 1 address 2 address3 programmable OR array initially all zeros or one one-time programmable uses fusible links you remember
EPROM’s Erasable programmable ROM’s Two types, depending on erasure method: Ultraviolet erasable (UV EPROM) Electrically erasable (EEPROM)
Use of PROM/EPROM For smaller volume designs for which mask ROM is not economic. EPROM’s can be used for testing & debugging. PROM can be used for final system.
Flash memory high density read/write non volatile – data stored indefinitely without power Combine best characteristics of traditional RAM/ROM.
Microprocessors A VLSI Device Carries out a range of instructions on data transferred from a register array Includes timing and control functions ALU control unit register array
Microprocessor functionality A microprocessor: Retrieves data from memory Manipulates data Stores data in memory Simple in concept, but powerful in application Provides elegant solutions to a large number of electronic circuit problems. AD control signals Memory Microprocessor buses
Microprocessor Functionality Microprocessor behaviour determined by list of instructions in memory a program But memory can only hold binary patterns Use encoding scheme for instructions, eg binary code mnemonic meaning 10110110 11000110 LDA Load the accumulator (register) with the contents of memory location A6
Instruction mnemonics CodeMnemonicDescription...... 181 LDXLoad register X 182 LDALoad accumulator 183 STAStore accumulator 184 STXStore register X 185 INXIncrease the value in register X by 1 186 SBASubtract from accumulator 187 ADAAdd to accumulator 188 JMPJump to a different part of the program 189 BNEIf last test not equal, branch to..... 190 CMPCompare accumulator......
Microprocessor Functionality Each instruction carries out an operation Some instructions use specially named registers the accumulator register X Instructions are specific to the type of microprocessor (language not portable)
Instructions and operands Some instructions require an operand Possible operands: a number LDA #42 a memory location STA &42 an indirect memory location STA &(42)
A simple program AddressContentsInterpretation(denary) 70 153 ? 71 197 ? 72 1821: load accumulator with contents of 73 80 memory location 80 74 1872: add contents of 75 81 memory location 81 to accumulator 76 1833: store content of accumulator in 77 82 memory location 82 78 188 ? 79 40 ? 80 121 81 35data 82 15 83 78 Accumulator: 255
Structure of microprocessor ALU IR X MDRMAR PC 8 8-bit data bus Memory SR
Control bus instructions All instructions start with an instruction fetch: 1. MAR <- PC, memory readenable PC, load MAR 2. Inc PCinc PC 3. IR <- MDRenable MDR, load IR The next step depends on what is in IR, e.g. absolute load: 4. MAR <- PC, memory readenable PC, load MAR 5. Inc PCinc PC 6. Acc <- MDRenable MDR, load Acc 7. Resetreset uPC Notation called register transfer notation
Structure of microprocessor clock Control logic (combinational logic) counter 4 reset instruction step counter 8 SR IR register control ALU operation memory read memory write
Different microprocessors Parameters that can vary: width of buses (4-bit, 8-bit, 16-bit, 32-bit etc.) number of registers operations of ALU speed of clock ordering of micro-instructions (simple, pipelined etc.) fabrication technology (silicon, gallium arsenide) and many more Two main design philosophies: reduced instruction set (RISC) complex instruction set (CISC)
Summary Microprocessor is a general purpose, programmable integrated circuit. When connected to memory used to store both programs and data it becomes a computer.