1 / 28

MEMORY

MEMORY. Digital Principles, Roger Tokheim Chapter 9. Combinatorial Logic vs. Sequential Logic. A circuit is said to be “combinatorial” if its output is determined solely by its inputs. Such a circuit can be realized in terms of logical gates (ANDs, ORs and NOTs).

ycarter
Download Presentation

MEMORY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MEMORY Digital Principles, Roger Tokheim Chapter 9

  2. Combinatorial Logic vs. Sequential Logic • A circuit is said to be “combinatorial” if its output is determined solely by its inputs. • Such a circuit can be realized in terms of logical gates (ANDs, ORs and NOTs). • A circuit is said to be “sequential” if its output is in part determined by its history. • History dependence here means bits (high or low states) that were previously stored by the circuit. • If the sole purpose of the circuit is to store values, it is called memory.

  3. Flip-flops and Registers • A circuit that can store a single bit is known as a flip-flop. • A group of flip-flops working in parallel as a unit to hold a “word” is known as a register. • A group of addressable registers (done with a decoder) is known as memory.

  4. Memory Address Register • The Memory Address Register is for holding the address of the memory that is currently being processed. • It is the input to the decoder. The decoder in turn connects to a series of registers. • At this lowest level, addresses are absolute but at a higher level addresses may be relative or absolute.

  5. Like an Array

  6. Reading and Writing • The action of placing a value in a memory circuit (a.k.a. a cell) is called writing. • Putting a high value into a cell is referred to as “setting.” • Putting a low value into a cell is referred to as “resetting.” • Accessing the value in a memory cell without affecting it is called reading. • Grammatically, the CPU is the subject; the memory is the object • The CPU writes to memory. • The CPU reads from memory.

  7. The Clock • The timing of these actions, especially the “write” are controlled by the clock. • One can think of a computer’s clock as something that steadily oscillates betweens the values 0 and 1 • Units of memory (flip flops) will can have three types of input: • Control: whether or not to write • Timing: when to write • Data: what to write • Sometimes control and timing are combined.

  8. ROM • Read Only Memory • As the name suggests the user only reads this type of memory; the writing is typically done by the manufacturer. • ROM is nonvolatile, that is, a supply of energy is not required to keep the data intact. • That is, ROM is not lost when the computer is turned off.

  9. Using ROM • Most personal computers contain a small amount of ROM that stores critical programs such as the program that boots the computer. In addition, ROMs are used extensively in calculators and peripheral devices such as laser printers, whose fonts are often stored in ROMs.

  10. Types of ROM • ROM:data is written by manufacturer • PROM:programmable read-only memory, data is written by user • PROMs are manufactured as blank chips on which data can be written with a special device called a PROM programmer (a.k.a. burner) • Like burning a CD

  11. Types of PROM • PROM usually implies “write once” • EPROM erasable programmable read only memory data can be erased and rewritten • Some use ultraviolet (UV) light, requires removing it from the computer • EEPROM, electrically erasable programmable read-only memory, is erased by electronic means • Does not have to be removed from computer

  12. Uses Of ROM • Microcode portion of CPU • The lowest-level instructions that directly control a microprocessor. • A “plus” instruction will be stored in a program in RAM; the code that tells the hardware what to do when it encounters a plus is in ROM • Basic Input/Output System (BIOS) • Code burned into motherboard’s ROM; it handles interfacing between the operating system and peripherals (IO).

  13. RAM • RAM Random Access Memory • Data can be accessed (read) • Sequentially: you start at the beginning and go through the sequence of locations • Like a cassette or video tape • Randomly: you can jump to any location without proceeding through all previous locations • Like a CD or DVD (no need for fast-forwarding, rewinding, etc.) • ROM is also random access, but the term RAM refers to volatile memory, memory requiring an energy source.

  14. Types of RAM • SRAM: Static RAM • The objective of memory is to hold a value, so being static is good. The value is held without the need for “refreshing.” • Fast but expensive. • DRAM: Dynamic RAM • The value must be “refreshed” or it will become lost or corrupted. • Slow but cheap.

  15. Types of DRAM • Synchronous DRAM (SDRAM) actually synchronizes itself with the CPU's bus • Deals with data in “bursts” so it doesn’t have to go through the addressing process of successive data locations • DDR SDRAM – Double Data Rate SDRAM Double data refers to the number of times that data can be sent along the bus connecting processor and memory • Also DDR2 and DDR3

  16. Blurring the distinction between RAM and ROM • NVRAM: Non-Volatile Random Access Memory, is RAM that does not lose its data when the power goes off. • A separate power source such as a battery allows the RAM to hold onto its information until it can be written to more permanent form: to EEPROM or to storage (disk) • Some modems use it to keep phone numbers and/or modem profiles.

  17. Blurring the Distinction II • Flash memory: A version of EEPROM that can be erased and reprogrammed in blocks rather than one byte at a time. This makes writing (burning) easier/faster. • Many PCs use flash memory for their BIOS – a flash BIOS. • Flash memory is often used in modems, as it allows the manufacturer to support new protocols as they become standardized.

  18. Cache • A generic term used to describe guessing what data will be used next and placing it where it can be accessed more quickly • A cache hit is a correct guess • A cache miss is an incorrect guess • Memory Cache uses SRAM which is faster than DRAM • L1: SRAM that is right on the microprocessor chip • L2: (originally) not on the chip

  19. Cache • When writing to cache, there are different scenarios • Write back: updates cache first and memory later (faster) • Write through: updates cache and memory together (slower but maintains consistency)

  20. SRAM Pros • Speed • SRAM is faster than DRAM, because DRAM requires refreshing which takes time • Simplicity • SRAM is simpler to use than DRAM, again because DRAM requires refreshing

  21. SRAM Cons • Size • SRAM is a more complicated circuit, it involves more transistors than DRAM, and hence it is larger • Cost • Again SRAM is more transistors and so it costs more • Power • Since SRAM involves a constant current, it uses more power than DRAM • Heat • Again since SRAM involves a constant current, it produces more heat

  22. Error Detection • Parity • Odd parity: add an extra bit to a word and insist that the total number of 1’s be odd • Even parity, ditto but number of 1’s even • Example of odd parity

  23. Vertical parity

  24. Error Detection and Error Correction Code • If a parity check reveals a parity error, one can request data be resent • Parity • CRC (cyclic redundancy check) • checksum • Error Correction Code: in addition to detecting a mistake can help fix it • Hamming code

  25. Virtual memory • What if there’s not enough memory for a program? • The operating system has a book-keeping scheme called virtual memory. • It assigns the program virtual addresses. • At any given time, only a part of the program is really in memory. • The operating system keeps track of the correspondence between virtual addresses and real addresses (in storage, i.e. the disk).

  26. Virtual memory (cont.) • As program runs, different parts of the program need to be in the real memory. • The operating systems breaks the code into pieces called pages. • Putting the new part of the code into real memory is called swapping or paging. • Swapping is slow; it’s why adding memory might improve speed

  27. Shadowing • Putting parts of the ROM BIOS which can be slow into RAM which can improve speed. • In some sense this is another version of caching.

  28. Memory Packaging • SIPP: single inline chip packages (OLD) • Little circuit board with memory chip • Has pins, hard to install • SIMM single inline memory module (OLD) • Like SIPP but no pins, easier to install • a 32-bit path to the memory • DIMM dual in-line memory module, • a 64-bit path

More Related