ch5 - Chapter 5: Memories Chapter 5 5.1 5-1 Memories...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Chapter 5: Memories 5-1 Embedded System Design, Vahid/Givargis Last update: 10/12/99 5:08 PM Chapter 5 Memories 5.1 Introduction Any embedded system’s functionality consists of three aspects: processing, storage, and communication. Processing is the transformation of data, storage is the retention of data for later use, and communication is the transfer of data. Each of these aspects must be implemented. We use processors to implement processing, memories to implement storage, and buses to implement communication. The earlier chapters described common processor types: general-purpose processors, standard single-purpose processors, and custom single-purpose processors. This chapter describes memories. A memory stores large numbers of bits. These bits exist as m words of n bits each, for a total of m*n bits. We refer to a memory as an m x n ("m-by-n") memory. Log 2 (m) address input signals are necessary to identify a particular word. Stated another way, if a memory has k address inputs, it can have up to 2 k words. n signals are necessary to output (and possibly input) a selected word. To read a memory means to retrieve the word of a particular address, while to write a memory means to store a word in a particular address. Some memories can only be read from (ROM), while others can be both read from and written to (RAM). There isn’t much demand for a memory that can only be written to (what purpose would such a memory serve?). Most memories have an enable input; when this enable is low, the address is ignored, and no data is written to or read from the memory. 5.2 Read-only memory -- ROM ROM , or read-only memory, is a memory that can be read from, but not typically written to, during execution of an embedded system. Of course, there must be a mechanism for setting the bits in the memory (otherwise, of what use would the read data serve?), but we call this "programming," not writing. Such programming is usually done off-line, i.e., when the memory is not actively serving as a memory in an embedded system. We usually program a ROM before inserting it into the embedded system. Figure 1(b) provides a block diagram of a ROM. We can use ROM for various purposes. One use is to store a software program for a general-purpose processor. We may write each program instruction to one ROM word. For some processors, we write each instruction to several ROM words. For other processors, we may pack several instructions into a single ROM word. A related use is to store constant data, like large lookup tables of strings or numbers. Another common use is to implement a combinational circuit. We can implement any combinational function of k variables by using a 2 k x 1 ROM, and we can implement n functions of the same k variables using a 2 k x n ROM. We simply program the ROM to implement the truth table for the functions, as shown in Figure 2. Figure 3 provides a symbolic view of the internal design of an 8x4 ROM. To the
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 06/02/2011 for the course CS 550 taught by Professor Young during the Spring '11 term at New York Institute of Technology-Westbury.

Page1 / 11

ch5 - Chapter 5: Memories Chapter 5 5.1 5-1 Memories...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online