Vous êtes sur la page 1sur 36

 Portions To Cover

 Basic Concepts
 RAM memories--Static
 If I want program A to be executed then program A
should be brought to main memory (memory)
 In an ideal case, memory can be fast, large and
inexpensive
 Trade offs:
 Increased speed and size are achieved at increased cost
 Decreased cost will result in decreased speed and size
 What we will study?
 Components and organization that make up memory

 Examine memory speed and how to improve the speed


 Basic Concepts:
 Its time to recollect byte addressability and Endianness
 How memory is organized
 ?
 Organized as words (Diagram)
 Byte is a constant entity---1 byte=8 bits
 Word is a variable entity--- 1 word can be 2 bytes, 4 bytes, 8 bytes
 Ex: Let’s take 8086 whose ALU is 16-bit, address bus—20 bit, data bus—
16 bit, Little Endian, Memory byte addressable
 Word size
 ?
 Word size—16 bits (2 bytes)
 How many locations can be addressed?
 2^20 locations can be addressed (In general if the address is n-bit then 2^n
locations can be addressed)
 Address space ?
 Number of addressable locations=2^20
Word 0 0 B1 1 B0
Word 1 2 B3 3 B2
Word 2 4 B5 5 B4
……… 6 …………………… 7 …………………………….
……… 8 ……………. 9 ……………………
……… …………………………. …………………………..
……… ………………………….. ………………………….
……… ………………………… …………………………….
Word 0 0000000000000000000 0000000000000000000
Word 1 0 B1 1 B0
Word 2 0000000000000000001 0000000000000000001
0 B3 1 B2
………
4 B5 5 B4
………
6 …………………… 7 …………………………….
………
8 ……………. 9 ……………………
………
…………………………. …………………………..
………
………………………….. ………………………….
………………………… …………………………….
 Byte addresses: (Accessing a byte in memory)
 How many bits are required to identify a byte in a word
 ?
 How many bytes in a word---2
 So one bit is enough to identify a byte in a word
 In bytes B1, B0 the first 19 bits are same since they belong to the
same word
 Similarly with B2, B0 and so on
 What we can say w.r.t to word 0 is first 19 bits of the address are
used to identify the word word 0 and the last bit is used to identify
a byte in this word(0---B1, 1---B0)
 In general, 19 bits are used to identify a word in memory and 1 bit
is used to identify a particular byte in a word
 Word addresses: (Accessing a word in memory)
 Word 0---00000H
 Word 1---00002H and so on
 Pbm:
 1. Let’s take a machine whose ALU is 32 bit, address
bus-32 bit, data bus—32 bit, Memory byte addressable,
Big endian
 2. Let’s take a machine whose ALU is 64 bit, address
bus-64 bit, data bus—64 bit, Memory byte addressable,
Big endian
 For problems 1 and 2
 Calculate word size, address space
 How many bits are used to identify a word in memory
and how many bits to identify a byte in a word
 How many addressable words?
 Modern computers are byte addressable
 68000 processor ---Big endian
 8086 processor--- Little endian
 In a memory access one word is stored or retrieved
(Word addresses)
 Word 0--- Acc to 8086, word address 00000H is sent to
the memory
 It is also possible to store or retrieve a byte (byte
addresses)
 Connection between memory and processor (Traditional
architecture)
 Data transfer b/w processor and memory takes place thru
MAR, MDR
 MAR is k bits long, address bus—k bits then the no of
addressable locs is 2^k
 MDR is n-bits, data bus—n bits then the word length=n
bits
 Data bus, address bus, control bus---System bus
 In the control bus we have R/W’ signals, MFC (Memory
Function Completed) signal to coordinate data transfers
 R—Read is an Active high signal
 W’—Write is an Active low signal
 How read operation is performed
?
 Address of ML is loaded into MAR and the control line
R/W’ is set to 1
 Memory places data on data lines and MFC is asserted to
indicate this
 Upon receiving this processor loads data on data bus into
MDR
 How write operation is performed ?
 Address of ML is loaded into MAR, data to be written is
loaded into MDR and the control line R/W’ is set to 0
 Processor places data on data lines and is written to
memory which is confirmed by assertion of MFC
 If you want to read from or write into 10 consecutive MLs
then a block transfer is performed where only the address of
the first location is specified
 A useful measure of memory speed is memory access time

?

 Time elapsed between initiation of memory operation and the


completion of that operation
 Ex: time between Read signal and MFC signal

 Another measure is Memory cycle time

 Time delay between initiation of 2 successive memory


operations
 Ex: time delay between 2 successive read operations

 MCT is slightly greater than MAT


 When a memory unit is called RAM
?
 When same fixed amount of time is taken to access any word
in memory
 This distinguishes RAM from magnetic disks, tapes where
time taken to access depends on the position or location
 Basic technology used to implement memories semiconductor
Ics
 Cache memory:
 Memory access time can be reduced by having a cache
memory (small, fast)
 It is between processor and main memory
 How
?
 It holds currently active segments of a program
 The address generated by the processor is called logical
address not physical address
 But what is required is physical address
 There will be a unit MMU(Memory Management Unit)
that translates the logical address to physical address
(actual address)
 Physical address is used to access physical main memory
 MMU is located in processor
?
 Using Mapping function (Later)
 Next Slide
 Virtual Memory
 A memory that appears to be there but not physically present

 It just gives the user a feeling that the size of physical main
memory is increased
?

 With the support of primary storage (HDD)

 When virtual memory will be getting low?

 Virtual memory is a feature of OS but requires MMU for it to


be possible
 The address space of virtual memory is called virtual address
space
 The addresses in virtual address space are called virtual
addresses
 At a given time, not all the virtual addresses are mapped
onto physical memory locations
 Only the active portion of the space is mapped
 The other virtual addresses are mapped to primary
storage (Secondary memory)
 VM---How it works?
 If the desired word is not in physical main memory then
page of words containing the desired word is swapped in
from disk to memory and the page to be swapped out is
judiciously chosen so that swap in, swap out of pages
should not happen frequently (If it happens there will be
a speed degradation)
 Will be studied in detail later
 Semiconductor RAM memories:
 Semiconductor memories are available in wide range of
speeds
 Cycle times: 100ns to <10ns
 Initially they were costlier

 But because of VLSI they dropped down


 They are used in implementing memories
 Internal organization of memory chips:
 Memory cells are organized in the form of an array
 Each cell capable of storing 1 bit
 Next Slide

 This is a very small memory chip
 There are 16 words (W0-W15) in this organization each of
which is of 8 bits
 There are 16 rows each row having 8 cells
 The organization is 16*8
 Each row of cells constitute a memory word
 Each row of cells is connected to a common line called word
line
 Address decoder is there to drive the word lines
 Why 4-bit address decoder (16 word lines)
 When a word line is driven all the cells connected to the word
line are driven
 The cells in each column are connected to a Sense/Write
circuit by 2 bit lines b and b’ (They are complement of one
another)
 These circuits are connected to data input/output lines
 Read operation:
 Address of the word to be read is given as inputs to the address
decoder thru 4 address lines A3 A2 A1 A0
 A word line is driven by the address decoder
 The corresponding cells are driven/selected by the word line
 The R/W’ control line is set to 1 for read operation
 The sense/write circuits select b or b’ for each cell and make them
appear at the data output lines b7-b0
 Write operation:
 Address of the word to be written is given as inputs to the address
decoder
 A word line is driven by the address decoder
 The corresponding cells are selected by the word line
 The R/W’ control line is set to 0 for write operation
 The sense/write circuits receive info and store the info in the
selected cells
 Control lines—2
 Address lines—4
 Data lines---8
 CS—Chip Select selects a chip in multi chip system
 Memory circuit stores 128 bits(16*8)
 External connections—14(4+2+8)
 2 connections---power supply, ground
 This is simple
 Commercially available chips are large (large no of
memory cells)
 They have diff organization
 Static Memories:
 SRAM cell----1 implementation, 1 realization
 Static memories---Memories that retain their state as long as
power is applied
 Ex: Static RAM(SRAM)
 Dynamic memories---Memories that retain their state for
some time(some milliseconds) after the power is turned off
 After some milliseconds again the memory cells have to
powered to retain their state (Refreshing)
 Ex: Dynamic RAM(DRAM)
 Does this make a significant diff in power consumption?
 Yes since there will be billions of cells in a larger memory
 Implementation 1:
 Box is a latch
 How this latch is formed?
 By cross connecting 2 inverters
 The output of one inverter is given as input to the other
 2 bit lines--- b. b’
 1 word line
 The latch is connected to bit lines by means of T1 and T2
 T1, T2--- Transistors
 Transistor can be used as a switch
 It is a semiconductor device that has 3 terminals
 Bipolar transistor--- Collector, Base, Emitter
 MOSFET– Metal Oxide Semiconductor Field Effect Transistor---
Drain, Gate, Source
 If the wordline is not activated T1 and T2 are opened
 If the wordline is activated, T1 and T2 are closed (Read/Write can
be performed)
 When the cell is said to be in state 1
 When the logic value at Point X is 1 and Point Y is 0
 When the cell is said to be in state 0
 When the logic value at Point X is 0 and Point Y is 1
 Read:
 Word line is activated
 T1 and T2 are closed
 If it is in state 1 then b bit line is high and b’ is low
 If it is instate 0 then b bit line is low and b’ is high
 Sense/Write circuit monitor b, b’ and put the appropriate output
 Write operation:
 Word line is activated
 T1 and T2 are closed
 State of the cell is set by Sense/Write circuit by placing values on b,
b’ bit lines
 CMOS realization of Implementation 1:
 CMOS realization:
 CMOS technology----Complementary Metal Oxide
Semiconductor technology
 To construct Ics
 It is used in microprocessors, SRAMs
 Things that are same as Implementation 1 bit lines(b,b’), word
line, T1, T2
 Four transistors--- T3, T4, T5, T6
 T3,T5 pair forms one inverter
 T4, T6 forms another inverter of Implementation 1
 In the implementation, output of one inverter is given to input
of another inverter
 How is this achieved here
 By the cross lines
 Situation:
 Lets say cell is in state 1
 Logic 1 at point X
 Logic 0 at point Y
 How this state is retained
 Logic 1 at point X turns on the transistor T6, T4(turned off)
 Logic 0 at point Y turns on the transistor T3, T5(turned off)
 Even after T1, T2 are turned off the transistors T3, T6 are turned on because of the supply
 That is how the state is retained
 Situation 2:
 Lets say cell is in state 0
 You provide explanation
 In older CMOS SRAM power supply voltage is 5V
 In newer versions power supply voltage is 3.3V
 Continuous power is required
 If power is interrupted—Cell contents are gone
 SRAMs are volatile memories
 Advantage of CMOS SRAM--- low power consumption
 When the cell is not accessed, T1, T2 are off, one of the transistors in each inverter is off
 SRAMS access time is just a few ns (can be accessed quickly)
 Portions To Cover
 Structure of larger memories
 Memory system considerations
 Larger memories are formed by connecting smaller memory chips
 Static memory systems:
 I am going to construct a larger memory(2M*32) 2M words each of which
is of size 32 bits using (512K*8) memory chips i.e., 512K words each of
which is of size 8 bits
 First let’s determine the no of columns in the organization, then determine
the no of rows
 In a row, How many 512K*8 memory chips ?
 Remember each word in 2M*32 is of length 32 bits
 4*8=32
 In each row I should have four 512K*8 memory chips for each word in
2M*32 to be of size 32 bits
 Columns determined
 To determine how many rows, divide 2M by 512K
 4
 4 rows
 Conclusion: To construct 2M*32 from 512K*8 what I need is 4 rows, each
row having 4 512K*8 memory chips
 Totally 16 512K*8 memory chips are required to build 2M*32
 From the organization you can see that there are 4 rows, each row having
4 512K*8 chips
 It is confirming our estimation
 The address used is 21 bit address
 How many rows are there to be addressed?
 4
 How many bits required to address 4 rows
 2 bits
 The first 2 bits of 21 bit address are used for this purpose
 How many words are to be addressed (At a time only one row is active)
 ?
 512K=524288
 How many bits?
 19 bits since 2^19=524288
 The lower order 19 bits of 21-bit address are used to access a word
 Conclusion: 2 bits are used to select a row and 19 bits are used to select a
word in that row
 2 bit decoder is used to select a row
 According to this organization only a row of memory chips
can be selected
 You cant select a particular memory chip in a row
 About chip select
 When the input to decoder is 00, first row is activated
 It is your CS(Chip Select) control signal that selects all the
memory chips in that row
 4 groups of data lines: D31-D24 and so on
 Data output/input:
 so that data can be accepted from (write) or put onto (read)
 Each group (D31-D24) has 8 data lines (512K*8)
 The data input/output of unselected chips are in high
impedance state
 Dynamic memory systems:
 Organization of larger dynamic memory systems is the same as your larger
static memory systems
 Physical implementation is different
 It is done in the form of memory modules
 Modern computers have large memories
 Adv?
 More of the programs and data used in processing can be held in memory
 If a larger dynamic memory is built by placing the DRAM chips on the mother
board it will occupy large amount of space
 Memory extension will become impossible
 Development of larger memory units SIMM(Single Inline Memory Modules),
DIMM (Dual Inline Memory Modules)
 These modules are assembly of several DRAM chips on a separate board not on
mother board
 This can be plugged to mother board
 SIMMs and DIMMs of diff sizes can be plugged to the same mother board
socket
 For ex: 4M*32, 16M*32 DIMMs use 100 pin socket
 Memory extension is possible
 These modules occupy a smaller amount of space on motherboard
 Memory System Considerations:
 Choice of RAM chip depends upon the application and
several factors
 Factors include cost, speed, power dissipation, size
 Static RAMs costlier, faster than Dynamic RAMs
 Static RAMS are used in cache memories
 For main memory Dynamic RAMs are used
 Economic
 Memory Controller:
 Next Slide