MA251 Computer Organization and Architecture [3-0-0-6] Lecture 7: Read-Only Memories (ROM) Spring 2011 Partha Sarathi Mandal Read-Only Memories (ROM) • Memory is like an array of mailboxes (registries of binary data) • A stored array of binary data which can be read only, but not changed. • A block diagram of a ROM – For each combination of inputs on the n input lines, the corresponding pattern of 0’s and 1’s (a word) is generated on the m output lines. – typical sizes range from (32 words x 4 bits) to (512K words x 8 bits) or larger. n inputs 2n X m ROM m inputs 2n × m ROM n inputs n inputs lines n–to-2n 2n X m ROM m inputs m inputs lines Logical construction of a 32 X 4 ROM Address input Minterms Combinational-circuit implementation with a 4 X 2 ROM ROM Realization of Logic Functions F0= A’B’ + AC’ F1= B + AC’ F2= A’B’ + BC’ F3= AC + B ROM Realization of Logic Functions • ROM consists of a decoder and a memory array. • When a particular input sequence is applied to the n decoder inputs, exactly one of the 2n outputs is set to 1. • This output line selects one of the words in the memory array. F0 F1 F2 F3 Exercise: Design a combinational circuit using a ROM. The circuit accepts a 3bit number and generates an output binary number equal to the square of the input number. • First step is to derive the truth table for the combinational circuit – In some case, we can fit a small truth table for ROM by using certain properties in the truth table Block diagram ROM truth table ROM Types • Mask-programmable (ROM) – Permanent programming done at fabrication time – Fabrication take place at factory as per customer order – Very expensive and therefore feasible only for large quantity orders • Programmable ROM (PROM) – User programmed after purchase, called field-programmable ROM (FPROM) – Reprogrammable by user, erasable by UV emission, called erasable, programmable ROM (EPROM) • Electrically erasable, programmable ROM (EEPROM) – User can erase individual words; switching elements can be enabled/disabled – Can be erased and reprogrammed limited number of times, typically 100 to 1000 times • Flash memory – Like EEPROM, but all words (or large blocks of words) can be erased simultaneously – Become common relatively recently (late 1990s)