Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 30 Read Only Memory (ROM)

Similar presentations


Presentation on theme: "Lecture 30 Read Only Memory (ROM)"— Presentation transcript:

1 Lecture 30 Read Only Memory (ROM)
Give qualifications of instructors: DAP teaching computer architecture at Berkeley since 1977 Co-athor of textbook used in class Best known for being one of pioneers of RISC currently author of article on future of microprocessors in SciAm Sept 1995 RY took 152 as student, TAed 152,instructor in 152 undergrad and grad work at Berkeley joined NextGen to design fact 80x86 microprocessors one of architects of UltraSPARC fastest SPARC mper shipping this Fall

2 Read-only memory can normally only be read
Overview Read-only memory can normally only be read Internal organization similar to SRAM ROMs are effective at implementing truth tables Any logic function can be implemented using ROMs Multiple single-bit functions embedded in a single ROM Also used in computer systems for initialization ROM doesn’t lose storage value when power is removed Very useful for implementing FSMs credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.

3 Read-Only Memory (ROM)
An array of semiconductor devices diodes transistors field effect transistors 2N words by M bits Data can be read but not changed (normal operating conditions) Data is written to the ROM once, and read from the ROM many times. A read-only memory (ROM) consists of an array of semiconductor devices that are interconnected to store a set of binary data. Once binary data is stored in the ROM, it can be read out whenever desired, but the data that is stored cannot be changed under normal operating conditions.

4 ROMs are actually combinational devices, not sequential ones!
You can’t store arbitrary data into a ROM, so the same address will always contain the same data. You can think of a ROM as a combinational circuit that takes an address as input, and produces some data as the output. A ROM table is basically just a truth table. The table shows what data is stored at each ROM address. You can generate that data combinationally, using the address as the input.

5 Read-Only Memory (ROM)
N input bits 2N words by M bits Implement M arbitrary functions of N variables Example 8 words by 5 bits: A B C ROM 8 words x 5 bits 3 Input Lines F0 F1 F2 F3 F4 5 Output Lines

6 ROM – Basic Structure address data

7 ROM Implementation ROM = "Read Only Memory"
values of memory locations are fixed ahead of time A ROM can be used to implement a truth table if the address is m-bits, we can address 2m entries in the ROM. our outputs are the bits of data that the address points to. m is the "height", and n is the "width" m n

8 Suppose there are 20 outputs
ROM Implementation Suppose there are 10 inputs 10 address lines (i.e., 210 = 1024 different addresses) Suppose there are 20 outputs ROM is 210 x 20 = 20K bits (and a rather unusual size) Rather wasteful, since lots of storage bits For functions, doesn’t take advantage of K-maps, other minimization

9 Read-Only Memory (ROM)
Each minterm of each function can be specified 3 Inputs Lines A B C ROM 8 words x 5 bits F0 F1 F2 F3 F4 5 Outputs Lines

10 ROM Internal Structure
n Inputs Lines n bit decoder Memory Array 2n words x m bits . . ... m Outputs Lines

11 ROM Memory Array 3 to 8 decoder F0 F1 F2 F3 F4 A B C m0=A’B’C’

12 Or gates at bottom output the word selected by the decoder (32 x 8)
Inside the ROM Alternate view Each possible horizontal/vertical intersection indicates a possible connection Or gates at bottom output the word selected by the decoder (32 x 8)

13 ROM Example Specify a truth table for a ROM which implements:
F = AB + A’BC’ G = A’B’C + C’ H = AB’C’ + ABC’ + A’B’C

14 ROM Example Specify a truth table for a ROM which implements:
F = AB + A’BC’ G = A’B’C + C’ H = AB’C’ + ABC’ + A’B’C

15 ROM Example Specify a truth table for a ROM which implements:
F = AB + A’BC’ G = A’B’C + C’ H = AB’C’ + ABC’ + A’B’C

16 Function Implementation
m0=A’B’C’ m1=A’B’C m2=A’BC’ m3=A’BC m4=AB’C’ m5=AB’C m6=ABC’ m7=ABC A B C 3 to 8 decoder Each column is a new function Note: two outputs unused! F G H

17

18 Decoders We can already convert truth tables to circuits easily, with decoders. For example, you can think of this old circuit as a memory that “stores” the sum and carry outputs from the truth table on the right.

19 ROMs are based on this decoder implementation of functions.
ROM setup ROMs are based on this decoder implementation of functions. A blank ROM just provides a decoder and several OR gates. The connections between the decoder and the OR gates are “programmable,” so different functions can be implemented. To program a ROM, you just make the desired connections between the decoder outputs and the OR gate inputs.

20 Here are three functions, V2V1V0, implemented with an 8 x 3 ROM.
ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and OR gates. Otherwise there is no connection. A2 A1 A0 V2 = m(1,2,3,4) V1 = m(2,6,7) V0 = m(4,6,7)

21 This combinational circuit can be considered a read-only memory.
Same Example Here is an alternative presentation of the same 8 x 3 ROM, using “abbreviated” OR gates to make the diagram neater. This combinational circuit can be considered a read-only memory. It stores eight words of data, each consisting of three bits. The decoder inputs form an address, which refers to one of the eight available words. So every input combination corresponds to an address, which is “read” to produce a 3-bit data output. V2 = m(1,2,3,4) V1 = m(2,6,7) V0 = m(4,6,7) V2 V1 V0 A2 A1 A0

22 There are some important differences between ROM and RAM.
ROMs vs. RAMs There are some important differences between ROM and RAM. ROMs are “non-volatile”—data is preserved even without power. On the other hand, RAM contents disappear once power is lost. ROMs require special (and slower) techniques for writing, so they’re considered to be “read-only” devices. Some newer types of ROMs do allow for easier writing, although the speeds still don’t compare with regular RAMs. MP3 players, digital cameras and other toys use CompactFlash, Secure Digital, or MemoryStick cards for non-volatile storage. Many devices allow you to upgrade programs stored in “flash ROM.”

23 ROM Implementation of a Moore Machine
ROMs implement combinational logic Note that ROMs do not hold state How would you determine the maximum clock frequency of this circuit? Look at the FF to FF path (NS to PS) ROM Present State Next Outputs Inputs credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.

24 ROM Implementation of a Mealy Machine
ROMs implement combinational logic Note that ROMs do not hold state How would you determine the maximum clock frequency of this circuit? Look at the FF to FF path (NS to PS) ROM Present State Next State Outputs Inputs ROM credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.

25 ROMs provide stable storage for data
Summary ROMs provide stable storage for data ROMs have address inputs and data outputs ROMs directly implement truth tables ROMs can be used effectively in Mealy and Moore machines to implement combinational logic In normal use ROMs are read-only They are only read, not written ROMs are often used by computers to store critical information Unlike SRAM, they maintain their storage after the power is turned off credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.


Download ppt "Lecture 30 Read Only Memory (ROM)"

Similar presentations


Ads by Google