SlideShare a Scribd company logo
1 of 56
Unit-III
Standard Single-Purpose Processors
By
M. Sambasiva Reddy
Asst. Professor, ECE
21 September 2022 1
Dept.of ECE-LBRCE, Mylavaram
Contents
• Introduction
• Timers
• Counters
• Watchdog Timers
• UART
• LCD Controllers
• Stepper Motor Controllers
• Analog-to-Digital Converters
• Real-Time Clocks
• Common memory types
• Memory hierarchy and Cache
• Advanced RAM
21 September 2022 2
Dept.of ECE-LBRCE, Mylavaram
Introduction
• Single-purpose processors
– Performs specific computation task
– Custom single-purpose processors
• Designed by us for a unique task
– Standard single-purpose processors
• “Off-the-shelf” -- pre-designed for a common task
• a.k.a., peripherals
• serial transmission
• analog/digital conversions
21 September 2022 3
Dept.of ECE-LBRCE, Mylavaram
Timers, counters, watchdog timers
• Timer: measures time intervals
– To generate timed output events
• e.g., hold traffic light green for 10 s
– To measure input events
• e.g., measure a car’s speed
• Based on counting clock pulses
• E.g., let Clk period be 10 ns
• And we count 20,000 Clk pulses
• Then 200 microseconds have passed
• 16-bit counter would count up to 65,535*10 ns =
655.35 microsec., resolution = 10 ns
• Top: indicates top count reached, wrap-around
16-bit up
counter
Clk Cnt
Basic timer
Top
Reset
16
21 September 2022 4
Dept.of ECE-LBRCE, Mylavaram
Counters
• Counter: like a timer, but counts
pulses on a general input signal
rather than clock
– e.g., count cars passing over a sensor
– Can often configure device as either a
timer or counter
16-bit up
counter
Clk
16
Cnt_in
2x1
mux
Mode
Timer/counter
Top
Reset
Cnt
21 September 2022 5
Dept.of ECE-LBRCE, Mylavaram
Other timer structures
Top2
Time with prescaler
16-bit up
counter
Clk Prescaler
Mode
• Interval timer
– Indicates when desired time
interval has passed
– We set terminal count to
desired interval
• Number of clock
cycles = Desired
time interval / Clock
period
• Cascaded counters
• Prescaler
– Divides clock
– Increases range, decreases
resolution
16-bit up
counter
Clk
16
Terminal count
=
Top
Reset
Timer with a terminal
count
Cnt
16-bit up
counter
Clk
16-bit up
counter
16
Cnt2
Top1
16/32-bit timer
Cnt1
16
21 September 2022 6
Dept.of ECE-LBRCE, Mylavaram
Other timer structures
Top2
Time with prescaler
16-bit up
counter
Clk Prescaler
Mode
• Interval timer
– Indicates when desired time
interval has passed
– We set terminal count to
desired interval
• Number of clock
cycles = Desired
time interval / Clock
period
• Cascaded counters
• Prescaler
– Divides clock
– Increases range, decreases
resolution
16-bit up
counter
Clk
16
Terminal count
=
Top
Reset
Timer with a terminal
count
Cnt
16-bit up
counter
Clk
16-bit up
counter
16
Cnt2
Top1
16/32-bit timer
Cnt1
16
21 September 2022 7
Dept.of ECE-LBRCE, Mylavaram
Watchdog timer
scalereg
checkreg
timereg
to system reset
or
interrupt
osc clk
prescaler
overflow overflow
/* main.c */
main(){
wait until card inserted
call watchdog_reset_routine
while(transaction in progress){
if(button pressed){
perform corresponding action
call watchdog_reset_routine
}
/* if watchdog_reset_routine not called
every < 2 minutes, interrupt_service_routine
is called */
}
watchdog_reset_routine(){
/* checkreg is set so we can load value into
timereg. Zero is loaded into scalereg and
11070 is loaded into timereg */
checkreg = 1
scalereg = 0
timereg = 11070
}
void interrupt_service_routine(){
eject card
reset screen
}
• Must reset timer
every X time unit, else
timer generates a
signal
• Common use: detect
failure, self-reset
• Another use: timeouts
– e.g., ATM machine
– 16-bit timer, 2
microsec. resolution
– timereg value = 2*(216-
1)–X = 131070–X
– For 2 min., X = 120,000
microsec.
21 September 2022 8
Dept.of ECE-LBRCE, Mylavaram
Serial Transmission Using UARTs
embedde
d device
1
0
0 1
1 0 1
1
Sending UART
1 0 0 1 1 0 1 1
Receiving UART
1 0 0 1 1 0 1 1
start bit
dat
a
end bit
1 0 0 1 1 0 1 1
• UART: Universal
Asynchronous Receiver
Transmitter
– Takes parallel data and
transmits serially
– Receives serial data and
converts to parallel
• Parity: extra bit for simple
error checking
• Start bit, stop bit
• Baud rate
– signal changes per second
– bit rate usually higher
21 September 2022 9
Dept.of ECE-LBRCE, Mylavaram
Pulse width modulator
clk
pwm_o
25% duty cycle – average pwm_o is 1.25V
clk
pwm_o
50% duty cycle – average pwm_o is 2.5V.
clk
pwm_o
75% duty cycle – average pwm_o is 3.75V.
• Generates pulses with specific
high/low times
• Duty cycle: % time high
– Square wave: 50% duty cycle
• Common use: control average
voltage to electric device
– Simpler than DC-DC
converter or digital-analog
converter
– DC motor speed, dimmer
lights
• Another use: encode
commands, receiver uses
timer to decode
21 September 2022 10
Dept.of ECE-LBRCE, Mylavaram
Controlling a DC motor with a PWM
void main(void){
/* controls period */
PWMP = 0xff;
/* controls duty cycle */
PWM1 = 0x7f;
while(1){};
}
The PWM alone cannot drive the
DC motor, a possible way to
implement a driver is shown
below using an MJE3055T NPN
transistor.
5V
B
A
Internal Structure of PWM
clk_div
cycle_high
counter
( 0 – 254)
8-bit
comparator
controls how
fast the
counter
increments counter <
cycle_high,
pwm_o = 1
counter >=
cycle_high,
pwm_o = 0
pwm_o
clk Input Voltage
% of Maximum
Voltage Applied
RPM of DC Motor
0 0 0
2.5 50 1840
3.75 75 6900
5.0 100 9200
Relationship between applied voltage and speed of
the DC Motor
DC
MOTOR
5V
From
processo
r
21 September 2022 11
Dept.of ECE-LBRCE, Mylavaram
LCD controller
E
R/W
RS
DB7–DB0
LCD
controller
communications
bus
microcontroller
8
void WriteChar(char c){
RS = 1; /* indicate data being sent */
DATA_BUS = c; /* send data to LCD */
EnableLCD(45); /* toggle the LCD with appropriate delay */
}
CODES
I/D = 1 cursor moves left DL = 1 8-bit
I/D = 0 cursor moves right DL = 0 4-bit
S = 1 with display shift N = 1 2 rows
S/C =1 display shift N = 0 1 row
S/C = 0 cursor movement F = 1 5x10 dots
R/L = 1 shift to right F = 0 5x7 dots
R/L = 0 shift to left
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Description
0 0 0 0 0 0 0 0 0 1 Clears all display, return cursor home
0 0 0 0 0 0 0 0 1 * Returns cursor home
0 0 0 0 0 0 0 1 I/D S
Sets cursor move direction and/or
specifies not to shift display
0 0 0 0 0 0 1 D C B
ON/OFF of all display(D), cursor
ON/OFF (C), and blink position (B)
0 0 0 0 0 1 S/C R/L * * Move cursor and shifts display
0 0 0 0 1 DL N F * *
Sets interface data length, number of
display lines, and character font
1 0 WRITE DATA Writes Data
21 September 2022 12
Dept.of ECE-LBRCE, Mylavaram
Keypad controller
N1
N2
N3
N4
M1
M2
M3
M4
key_code
keypad controller
k_pressed
key_code
4
N=4, M=4
21 September 2022 13
Dept.of ECE-LBRCE, Mylavaram
Stepper motor controller
Red A
White A’
Yellow B
Black B’
MC3479P
1
5
4
3
2
7
8
6
16
15
14
13
12
11
10
9
Vd
A’
A
GND
Bias’/Set
Clk
O|C
Vm
B
B’
GND
Phase A’
CW’/CCW
Full’/Half Step
Sequence A B A’ B’
1 + + - -
2 - + + -
3 - - + +
4 + - - +
5 + + - -
• Stepper motor: rotates fixed number
of degrees when given a “step”
signal
– In contrast, DC motor just rotates when
power applied, coasts to stop
• Rotation achieved by applying
specific voltage sequence to coils
• Controller greatly simplifies this
21 September 2022 14
Dept.of ECE-LBRCE, Mylavaram
Stepper motor with controller (driver)
2 A’
3 A
10
7
B 15
B’ 14
MC3479P
Stepper Motor
Driver 8051
P1.0
P1.1
Stepper
Motor
CLK
CW’/CCW
The output pins on the stepper motor driver do
not provide enough current to drive the stepper
motor. To amplify the current, a buffer is needed.
One possible implementation of the buffers is
pictured to the left. Q1 is an MJE3055T NPN
transistor and Q2 is an MJE2955T PNP transistor.
A is connected to the 8051 microcontroller and B
is connected to the stepper motor.
Q2
1K
1K
Q1
+V
A B
void main(void){
*/turn the motor forward */
cw=0; /* set direction */
clk=0; /* pulse clock */
delay();
clk=1;
/*turn the motor backwards */
cw=1; /* set direction */
clk=0; /* pulse clock */
delay();
clk=1;
}
/* main.c */
sbit clk=P1^1;
sbit cw=P1^0;
void delay(void){
int i, j;
for (i=0; i<1000; i++)
for ( j=0; j<50; j++)
i = i + 0;
}
21 September 2022 15
Dept.of ECE-LBRCE, Mylavaram
Stepper motor without controller
(driver)
Stepper
Motor
8051
GND/ +V
P2.4
P2.3
P2.2
P2.1
P2.0
A possible way to implement the buffers is located
below. The 8051 alone cannot drive the stepper motor, so
several transistors were added to increase the current
going to the stepper motor. Q1 are MJE3055T NPN
transistors and Q3 is an MJE2955T PNP transistor. A is
connected to the 8051 microcontroller and B is connected
to the stepper motor.
Q2
+V
1K
Q1
1K
+V
A
B
330
/*main.c*/
sbit notA=P2^0;
sbit isA=P2^1;
sbit notB=P2^2;
sbit isB=P2^3;
sbit dir=P2^4;
void delay(){
int a, b;
for(a=0; a<5000; a++)
for(b=0; b<10000; b++)
a=a+0;
}
void move(int dir, int steps) {
int y, z;
/* clockwise movement */
if(dir == 1){
for(y=0; y<=steps; y++){
for(z=0; z<=19; z+4){
isA=lookup[z];
isB=lookup[z+1];
notA=lookup[z+2];
notB=lookup[z+3];
delay();
}
}
}
/* counter clockwise movement */
if(dir==0){
for(y=0; y<=step; y++){
for(z=19; z>=0; z - 4){
isA=lookup[z];
isB=lookup[z-1];
notA=lookup[z -2];
notB=lookup[z-3];
delay( );
}
}
}
}
void main( ){
int z;
int lookup[20] = {
1, 1, 0, 0,
0, 1, 1, 0,
0, 0, 1, 1,
1, 0, 0, 1,
1, 1, 0, 0 };
while(1){
/*move forward, 15 degrees (2 steps) */
move(1, 2);
/* move backwards, 7.5 degrees
(1step)*/
move(0, 1);
}
}
21 September 2022 16
Dept.of ECE-LBRCE, Mylavaram
Analog-to-digital converters
proportionality
Vmax = 7.5V
0V
1111
1110
0000
0010
0100
0110
1000
1010
1100
0001
0011
0101
0111
1001
1011
1101
0.5V
1.0V
1.5V
2.0V
2.5V
3.0V
3.5V
4.0V
4.5V
5.0V
5.5V
6.0V
6.5V
7.0V
analog to digital
4
3
2
1
t1 t2 t3 t4
0100 1000 0110 0101
time
analog
input
(V)
Digital output
digital to analog
4
3
2
1
0100 1000 0110 0101
t1 t2 t3 t4
time
analog
output
(V)
Digital input
21 September 2022 17
Dept.of ECE-LBRCE, Mylavaram
Given an analog input signal whose voltage should range from 0 to 15 volts, and an 8-bit digital encoding, calculate the correct encoding
for 5 volts. Then trace the successive-approximation approach to find the correct encoding.
5/15 = d/(28-1)
d= 85
Successive-approximation method
Digital-to-analog conversion using
successive approximation
0 1 0 0 0 0 0 0
Encoding: 01010101
½(Vmax – Vmin) = 7.5 volts
Vmax = 7.5 volts.
½(7.5 + 0) = 3.75 volts
Vmin = 3.75 volts.
0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
½(7.5 + 3.75) = 5.63 volts
Vmax = 5.63 volts
½(5.63 + 3.75) = 4.69 volts
Vmin = 4.69 volts.
0 1 0 1 0 0 0 0
½(5.63 + 4.69) = 5.16 volts
Vmax = 5.16 volts.
0 1 0 1 0 0 0 0
½(5.16 + 4.69) = 4.93 volts
Vmin = 4.93 volts.
0 1 0 1 0 1 0 0
½(5.16 + 4.93) = 5.05 volts
Vmax = 5.05 volts.
0 1 0 1 0 1 0 0
½(5.05 + 4.93) = 4.99 volts 0 1 0 1 0 1 0 1
21 September 2022 18
Dept.of ECE-LBRCE, Mylavaram
Introduction
• Embedded system’s functionality aspects
– Processing
• processors
• transformation of data
– Storage
• memory
• retention of data
– Communication
• buses
• transfer of data
21 September 2022 19
Dept.of ECE-LBRCE, Mylavaram
Memory: basic concepts
• Stores large number of bits
– m x n: m words of n bits each
– k = Log2(m) address input signals
– or m = 2^k words
– e.g., 4,096 x 8 memory:
• 32,768 bits
• 12 address input signals
• 8 input/output data signals
• Memory access
– r/w: selects read or write
– enable: read or write only when asserted
– multiport: multiple accesses to different
locations simultaneously
m × n
memory
…
…
n bits per
word
m
words
enabl
e
2k × n read and write
memory
A0
…
r/w
…
Q0
Qn-1
Ak-1
memory
external view
21 September 2022 20
Dept.of ECE-LBRCE, Mylavaram
Memory: basic concepts
• Stores large number of bits
– m x n: m words of n bits each
– k = Log2(m) address input signals
– or m = 2^k words
– e.g., 4,096 x 8 memory:
• 32,768 bits
• 12 address input signals
• 8 input/output data signals
• Memory access
– r/w: selects read or write
– enable: read or write only when asserted
– multiport: multiple accesses to different
locations simultaneously
m × n
memory
…
…
n bits per
word
m
words
enabl
e
2k × n read and write
memory
A0
…
r/w
…
Q0
Qn-1
Ak-1
memory
external view
21 September 2022 21
Dept.of ECE-LBRCE, Mylavaram
Write ability
• Ranges of write ability
– High end
• processor writes to memory simply and quickly
• e.g., RAM
– Middle range
• processor writes to memory, but slower
• e.g., FLASH, EEPROM
– Lower range
• special equipment, “programmer”, must be used to write to memory
• e.g., EPROM, OTP ROM
– Low end
• bits stored only during fabrication
• e.g., Mask-programmed ROM
• In-system programmable memory
– Can be written to by a processor in the embedded system using the
memory
– Memories in high end and middle range of write ability
21 September 2022 22
Dept.of ECE-LBRCE, Mylavaram
Storage permanence
• Range of storage permanence
– High end
• essentially never loses bits
• e.g., mask-programmed ROM
– Middle range
• holds bits days, months, or years after memory’s power source turned off
• e.g., NVRAM
– Lower range
• holds bits as long as power supplied to memory
• e.g., SRAM
– Low end
• begins to lose bits almost immediately after written
• e.g., DRAM
• Nonvolatile memory
– Holds bits after power is no longer supplied
– High end and middle range of storage permanence
21 September 2022 23
Dept.of ECE-LBRCE, Mylavaram
ROM: “Read-Only” Memory
• Nonvolatile memory
• Can be read from but not written to, by a
processor in an embedded system
• Traditionally written to, “programmed”,
before inserting to embedded system
• Uses
– Store software program for general-purpose
processor
• program instructions can be one or more
ROM words
– Store constant data needed by system
– Implement combinational circuit
2k × n ROM
…
Q0
Qn-1
A0
…
enable
Ak-1
External view
21 September 2022 24
Dept.of ECE-LBRCE, Mylavaram
Example: 8 x 4 ROM
• Horizontal lines = words
• Vertical lines = data
• Lines connected only at circles
• Decoder sets word 2’s line to 1 if
address input is 010
• Data lines Q3 and Q1 are set to 1
because there is a “programmed”
connection with word 2’s line
• Word 2 is not connected with data
lines Q2 and Q0
• Output is 1010
8 × 4 ROM
3×8
decoder
Q0
Q3
A0
enab
le
A2
word 0
word 1
A1
Q2 Q1
programm
able
connectio
n
wired-
OR
word
line
data
line
word 2
Internal view
21 September 2022 25
Dept.of ECE-LBRCE, Mylavaram
Implementing combinational function
• Any combinational circuit of n functions of same k variables can
be done with 2^k x n ROM
21 September 2022 26
Dept.of ECE-LBRCE, Mylavaram
Mask-programmed ROM
• Connections “programmed” at fabrication
– set of masks
• Lowest write ability
– only once
• Highest storage permanence
– bits never change unless damaged
• Typically used for final design of high-volume systems
– spread out NRE cost for a low unit cost
21 September 2022 27
Dept.of ECE-LBRCE, Mylavaram
OTP ROM: One-time programmable
ROM
• Connections “programmed” after manufacture by user
– user provides file of desired contents of ROM
– file input to machine called ROM programmer
– each programmable connection is a fuse
– ROM programmer blows fuses where connections should not exist
• Very low write ability
– typically written only once and requires ROM programmer device
• Very high storage permanence
– bits don’t change unless reconnected to programmer and more fuses
blown
• Commonly used in final products
– cheaper, harder to inadvertently modify
21 September 2022 28
Dept.of ECE-LBRCE, Mylavaram
.
(d)
(a)
(b)
source drain
+15V
source drain
0V
(c)
source drain
floating gate
5-30 min
EPROM: Erasable programmable ROM
• Programmable component is a MOS transistor
– Transistor has “floating” gate surrounded by an insulator
– (a) Negative charges form a channel between source and drain
storing a logic 1
– (b) Large positive voltage at gate causes negative charges to
move out of channel and get trapped in floating gate storing a
logic 0
– (c) (Erase) Shining UV rays on surface of floating-gate causes
negative charges to return to channel from floating gate
restoring the logic 1
– (d) An EPROM package showing quartz window through which
UV light can pass
• Better write ability
– can be erased and reprogrammed thousands of times
• Reduced storage permanence
– program lasts about 10 years but is susceptible to
radiation and electric noise
• Typically used during design development
21 September 2022 29
Dept.of ECE-LBRCE, Mylavaram
EEPROM: Electrically erasable
programmable ROM
• Programmed and erased electronically
– typically by using higher than normal voltage
– can program and erase individual words
• Better write ability
– can be in-system programmable with built-in circuit to provide higher
than normal voltage
• built-in memory controller commonly used to hide details from memory user
– writes very slow due to erasing and programming
• “busy” pin indicates to processor EEPROM still writing
– can be erased and programmed tens of thousands of times
• Similar storage permanence to EPROM (about 10 years)
• Far more convenient than EPROMs, but more expensive
21 September 2022 30
Dept.of ECE-LBRCE, Mylavaram
Flash Memory
• Extension of EEPROM
– Same floating gate principle
– Same write ability and storage permanence
• Fast erase
– Large blocks of memory erased at once, rather than one word at a time
– Blocks typically several thousand bytes large
• Writes to single words may be slower
– Entire block must be read, word updated, then entire block written back
• Used with embedded systems storing large data items in
nonvolatile memory
– e.g., digital cameras, TV set-top boxes, cell phones
21 September 2022 31
Dept.of ECE-LBRCE, Mylavaram
RAM: “Random-access” memory
• Typically volatile memory
– bits are not held without power supply
• Read and written to easily by embedded system
during execution
• Internal structure more complex than ROM
– a word consists of several memory cells, each
storing 1 bit
– each input and output data line connects to each
cell in its column
– rd/wr connected to every cell
– when row is enabled by decoder, each cell has
logic that stores input data bit when rd/wr
indicates write or outputs stored bit when rd/wr
indicates read
enable
2k × n read and write
memory
A0
…
r/w
…
Q0
Qn-1
Ak-1
external view
4×4 RAM
2×4
deco
der
Q0
Q3
A0
ena
ble
A1
Q2 Q1
Mem
ory
cell
I0
I3 I2 I1
rd/wr To every cell
internal
view
21 September 2022 32
Dept.of ECE-LBRCE, Mylavaram
Basic types of RAM
• SRAM: Static RAM
– Memory cell uses flip-flop to store bit
– Requires 6 transistors
– Holds data as long as power supplied
• DRAM: Dynamic RAM
– Memory cell uses MOS transistor and
capacitor to store bit
– More compact than SRAM
– “Refresh” required due to capacitor
leak
• word’s cells refreshed when read
– Typical refresh rate 15.625 microsec.
– Slower to access than SRAM
memory cell internals
Data
W
Data'
SRAM
Data
W
DRAM
21 September 2022 33
Dept.of ECE-LBRCE, Mylavaram
Ram variations
• PSRAM: Pseudo-static RAM
– DRAM with built-in memory refresh controller
– Popular low-cost high-density alternative to SRAM
• NVRAM: Nonvolatile RAM
– Holds data after external power removed
– Battery-backed RAM
• SRAM with own permanently connected battery
• writes as fast as reads
• no limit on number of writes unlike nonvolatile ROM-based memory
– SRAM with EEPROM or flash
• stores complete RAM contents on EEPROM or flash before power turned off
21 September 2022 34
Dept.of ECE-LBRCE, Mylavaram
Example:
HM6264 & 27C256 RAM/ROM devices
• Low-cost low-capacity memory
devices
• Commonly used in 8-bit
microcontroller-based
embedded systems
• First two numeric digits indicate
device type
– RAM: 62
– ROM: 27
• Subsequent digits indicate
capacity in kilobits
21 September 2022 35
Dept.of ECE-LBRCE, Mylavaram
Example:
TC55V2325FF-100 memory device
• 2-megabit
synchronous
pipelined burst SRAM
memory device
• Designed to be
interfaced with 32-bit
processors
• Capable of fast
sequential reads and
writes as well as
single byte I/O
21 September 2022 36
Dept.of ECE-LBRCE, Mylavaram
Composing memory
• Memory size needed often differs from size of readily
available memories
• When available memory is larger, simply ignore unneeded
high-order address bits and higher data lines
• When available memory is smaller, compose several smaller
memories into one larger memory
– Connect side-by-side to increase width of words
– Connect top to bottom to increase number of words
• added high-order address line selects smaller memory
containing desired word using a decoder
– Combine techniques to increase number and width of words
…
2m × 3n ROM
2m × n ROM
A0
…
ena
ble
2m × n ROM
…
2m × n ROM
…
Q3n-1 Q2n-1
…
Q0
…
Am
Increase width
of words
2m+1 × n ROM
2m × n ROM
A0
…
enable
…
2m × n ROM
Am-1
Am
1 × 2
deco
der
…
…
…
Qn-1 Q0
…
Increase number of words
A
ena
ble out
put
s
Increase number
and width of
words
21 September 2022 37
Dept.of ECE-LBRCE, Mylavaram
Memory hierarchy
• Want inexpensive, fast
memory
• Main memory
– Large, inexpensive, slow
memory stores entire
program and data
• Cache
– Small, expensive, fast
memory stores copy of likely
accessed parts of larger
memory
– Can be multiple levels of
cache
Proce
ssor
Cache
Main memory
Disk
Tape
Regis
ters
21 September 2022 38
Dept.of ECE-LBRCE, Mylavaram
Cache
• Usually designed with SRAM
– faster but more expensive than DRAM
• Usually on same chip as processor
– space limited, so much smaller than off-chip main memory
– faster access ( 1 cycle vs. several cycles for main memory)
• Cache operation:
– Request for main memory access (read or write)
– First, check cache for copy
• cache hit
– copy is in cache, quick access
• cache miss
– copy not in cache, read address and possibly its neighbors into cache
• Several cache design choices
– cache mapping, replacement policies, and write techniques
21 September 2022 39
Dept.of ECE-LBRCE, Mylavaram
Cache mapping
• Far fewer number of available cache addresses
• Are address’ contents in cache?
• Cache mapping used to assign main memory address to cache
address and determine hit or miss
• Three basic techniques:
– Direct mapping
– Fully associative mapping
– Set-associative mapping
• Caches partitioned into indivisible blocks or lines of adjacent
memory addresses
– usually 4 or 8 addresses per line
21 September 2022 40
Dept.of ECE-LBRCE, Mylavaram
Direct mapping
• Main memory address divided into 2 fields
– Index
• cache address
• number of bits determined by cache size
– Tag
• compared with tag stored in cache at address
indicated by index
• if tags match, check valid bit
• Valid bit
– indicates whether data in slot has been loaded
from memory
• Offset
– used to find particular word in cache line
Data
Valid
Tag Ind
ex
Offs
et
=
V T
D
21 September 2022 41
Dept.of ECE-LBRCE, Mylavaram
Fully associative mapping
• Complete main memory address stored in each cache address
• All addresses stored in cache simultaneously compared with
desired address
• Valid bit and offset same as direct mapping
Tag Offs
et
=
V T
D
Valid
V T
D
… V T
D
= =
Dat
a
21 September 2022 42
Dept.of ECE-LBRCE, Mylavaram
Set-associative mapping
• Compromise between direct mapping and
fully associative mapping
• Index same as in direct mapping
• But, each cache address contains content
and tags of 2 or more memory address
locations
• Tags of that set simultaneously compared as
in fully associative mapping
• Cache with set size N called N-way set-
associative
– 2-way, 4-way, 8-way are common
Tag Ind
ex
Offs
et
=
V T
D Dat
a
Valid
V T
D
=
21 September 2022 43
Dept.of ECE-LBRCE, Mylavaram
Cache-replacement policy
• Technique for choosing which block to replace
– when fully associative cache is full
– when set-associative cache’s line is full
• Direct mapped cache has no choice
• Random
– replace block chosen at random
• LRU: least-recently used
– replace block not accessed for longest time
• FIFO: first-in-first-out
– push block onto queue when accessed
– choose block to replace by popping queue
21 September 2022 44
Dept.of ECE-LBRCE, Mylavaram
Cache write techniques
• When written, data cache must update main memory
• Write-through
– write to main memory whenever cache is written to
– easiest to implement
– processor must wait for slower main memory write
– potential for unnecessary writes
• Write-back
– main memory only written when “dirty” block replaced
– extra dirty bit for each block set when cache block written to
– reduces number of slow main memory writes
21 September 2022 45
Dept.of ECE-LBRCE, Mylavaram
Cache impact on system performance
• Most important parameters in terms of performance:
– Total size of cache
• total number of data bytes cache can hold
• tag, valid and other house keeping bits not included in total
– Degree of associativity
– Data block size
• Larger caches achieve lower miss rates but higher access cost
– e.g.,
• 2 Kbyte cache: miss rate = 15%, hit cost = 2 cycles, miss cost = 20 cycles
– avg. cost of memory access = (0.85 * 2) + (0.15 * 20) = 4.7 cycles
• 4 Kbyte cache: miss rate = 6.5%, hit cost = 3 cycles, miss cost will not change
– avg. cost of memory access = (0.935 * 3) + (0.065 * 20) = 4.105 cycles (improvement)
• 8 Kbyte cache: miss rate = 5.565%, hit cost = 4 cycles, miss cost will not change
– avg. cost of memory access = (0.94435 * 4) + (0.05565 * 20) = 4.8904 cycles (worse)
21 September 2022 46
Dept.of ECE-LBRCE, Mylavaram
Cache performance trade-offs
• Improving cache hit rate without increasing size
– Increase line size
– Change set-associativity
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
1 Kb2 Kb4 Kb8 Kb16 Kb
32 Kb
64 Kb
128 Kb
1 way
2 way
4 way
8 way
% cache
miss
cache
size
21 September 2022 47
Dept.of ECE-LBRCE, Mylavaram
Advanced RAM
• DRAMs commonly used as main memory in processor based
embedded systems
– high capacity, low cost
• Many variations of DRAMs proposed
– need to keep pace with processor speeds
– FPM DRAM: fast page mode DRAM
– EDO DRAM: extended data out DRAM
– SDRAM/ESDRAM: synchronous and enhanced synchronous DRAM
– RDRAM: rambus DRAM
21 September 2022 48
Dept.of ECE-LBRCE, Mylavaram
Basic DRAM
• Address bus multiplexed
between row and column
components
• Row and column addresses are
latched in, sequentially, by
strobing ras and cas signals,
respectively
• Refresh circuitry can be external
or internal to DRAM device
– strobes consecutive memory
address periodically causing
memory content to be
refreshed
– Refresh circuitry disabled
during read or write operation
Data
In
Buffer
Data
Out
Buffer
rd/wr
data
Row
Addr.
Buffer
Col
Addr
.
Buffer
address
ras
cas
Bit storage array
Row
Decoder
Col Decoder
Refresh
Circuit
Sense
Amplifiers
21 September 2022 49
Dept.of ECE-LBRCE, Mylavaram
Fast Page Mode DRAM (FPM DRAM)
• Each row of memory bit array is viewed as a page
• Page contains multiple words
• Individual words addressed by column address
• Timing diagram:
– row (page) address sent
– 3 words read consecutively by sending column address for each
• Extra cycle eliminated on each read/write of words from same page
ro
w
c
ol
da
ta
c
ol
c
ol
da
ta
da
ta
ras
cas
add
ress
21 September 2022 50
Dept.of ECE-LBRCE, Mylavaram
Extended data out DRAM (EDO DRAM)
• Improvement of FPM DRAM
• Extra latch before output buffer
– allows strobing of cas before data read operation completed
• Reduces read/write latency by additional cycle
ro
w
co
l
co
l
co
l
da
ta
da
ta
da
ta
Speedup through overlap
ras
cas
add
ress
dat
a
21 September 2022 51
Dept.of ECE-LBRCE, Mylavaram
Synchronous and
Enhanced Synchronous (ES) DRAM
• SDRAM latches data on active edge of clock
• Eliminates time to detect ras/cas and rd/wr signals
• A counter is initialized to column address then incremented on
active edge of clock to access consecutive memory locations
• ESDRAM improves SDRAM
– added buffers enable overlapping of column addressing
– faster clocking and lower read/write latency possible
clock
ras
cas
address
ro
w
co
l da
ta
da
ta
da
ta
21 September 2022 52
Dept.of ECE-LBRCE, Mylavaram
Rambus DRAM (RDRAM)
• More of a bus interface architecture than
DRAM architecture
• Data is latched on both rising and falling edge
of clock
• Broken into 4 banks each with own row
decoder
– can have 4 pages open at a time
• Capable of very high throughput
21 September 2022 53
Dept.of ECE-LBRCE, Mylavaram
DRAM integration problem
• SRAM easily integrated on same chip as
processor
• DRAM more difficult
– Different chip making process between DRAM and
conventional logic
– Goal of conventional logic (IC) designers:
• minimize parasitic capacitance to reduce signal propagation
delays and power consumption
– Goal of DRAM designers:
• create capacitor cells to retain stored information
– Integration processes beginning to appear
21 September 2022 54
Dept.of ECE-LBRCE, Mylavaram
Memory Management Unit (MMU)
• Duties of MMU
– Handles DRAM refresh, bus interface and
arbitration
– Takes care of memory sharing among multiple
processors
– Translates logic memory addresses from processor
to physical memory addresses of DRAM
• Modern CPUs often come with MMU built-in
• Single-purpose processors can be used
21 September 2022 55
Dept.of ECE-LBRCE, Mylavaram
Thank You
21 September 2022 56
Dept.of ECE-LBRCE, Mylavaram

More Related Content

Similar to Unit-III.pptx

Similar to Unit-III.pptx (20)

Basic plc 1
Basic plc 1Basic plc 1
Basic plc 1
 
Basic plc - Training
Basic plc - TrainingBasic plc - Training
Basic plc - Training
 
Digital Alarm Clock (IC-TMS-8560)
Digital Alarm Clock (IC-TMS-8560)Digital Alarm Clock (IC-TMS-8560)
Digital Alarm Clock (IC-TMS-8560)
 
Program, Code of Program and Screen Shot of Output (UNIVERSAL DRIVER USING µ...
Program, Code of Program and  Screen Shot of Output (UNIVERSAL DRIVER USING µ...Program, Code of Program and  Screen Shot of Output (UNIVERSAL DRIVER USING µ...
Program, Code of Program and Screen Shot of Output (UNIVERSAL DRIVER USING µ...
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
presentation_28 (1).pptx
presentation_28 (1).pptxpresentation_28 (1).pptx
presentation_28 (1).pptx
 
S emb t7-arch_bus
S emb t7-arch_busS emb t7-arch_bus
S emb t7-arch_bus
 
ie450pp10.ppt
ie450pp10.pptie450pp10.ppt
ie450pp10.ppt
 
plc1.ppt
plc1.pptplc1.ppt
plc1.ppt
 
PLC Basics
PLC BasicsPLC Basics
PLC Basics
 
Programmable Logic Controller Training Day 1 to 3.pptx
Programmable Logic Controller  Training Day 1 to 3.pptxProgrammable Logic Controller  Training Day 1 to 3.pptx
Programmable Logic Controller Training Day 1 to 3.pptx
 
ie450pp10.ppt
ie450pp10.pptie450pp10.ppt
ie450pp10.ppt
 
ie450pp10.ppt
ie450pp10.pptie450pp10.ppt
ie450pp10.ppt
 

More from Sambasiva62

An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfAn Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfSambasiva62
 
COnference PPT-Final.pptx
COnference  PPT-Final.pptxCOnference  PPT-Final.pptx
COnference PPT-Final.pptxSambasiva62
 
Communication bands.pptx
Communication bands.pptxCommunication bands.pptx
Communication bands.pptxSambasiva62
 
IV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxIV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxSambasiva62
 
CMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxCMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxSambasiva62
 
Channel Model.pptx
Channel Model.pptxChannel Model.pptx
Channel Model.pptxSambasiva62
 
5g-technology-ppt.pptx
5g-technology-ppt.pptx5g-technology-ppt.pptx
5g-technology-ppt.pptxSambasiva62
 
ch1_010902 (1).ppt
ch1_010902 (1).pptch1_010902 (1).ppt
ch1_010902 (1).pptSambasiva62
 

More from Sambasiva62 (15)

An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfAn Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
 
COnference PPT-Final.pptx
COnference  PPT-Final.pptxCOnference  PPT-Final.pptx
COnference PPT-Final.pptx
 
Communication bands.pptx
Communication bands.pptxCommunication bands.pptx
Communication bands.pptx
 
UNIT-3 ppt.pptx
UNIT-3 ppt.pptxUNIT-3 ppt.pptx
UNIT-3 ppt.pptx
 
IV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxIV UNIT PPT (1).pptx
IV UNIT PPT (1).pptx
 
v unit (1).pptx
v unit (1).pptxv unit (1).pptx
v unit (1).pptx
 
CMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxCMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptx
 
ch11_031102.ppt
ch11_031102.pptch11_031102.ppt
ch11_031102.ppt
 
Channel Model.pptx
Channel Model.pptxChannel Model.pptx
Channel Model.pptx
 
Unit-V.pptx
Unit-V.pptxUnit-V.pptx
Unit-V.pptx
 
eel6935_ch2.pdf
eel6935_ch2.pdfeel6935_ch2.pdf
eel6935_ch2.pdf
 
5g-technology-ppt.pptx
5g-technology-ppt.pptx5g-technology-ppt.pptx
5g-technology-ppt.pptx
 
Interfacing
InterfacingInterfacing
Interfacing
 
ch1_010902 (1).ppt
ch1_010902 (1).pptch1_010902 (1).ppt
ch1_010902 (1).ppt
 
Unit-1 ESD.pptx
Unit-1 ESD.pptxUnit-1 ESD.pptx
Unit-1 ESD.pptx
 

Recently uploaded

PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfsumitt6_25730773
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...jabtakhaidam7
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...ronahami
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxpritamlangde
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptxrouholahahmadi9876
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxkalpana413121
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementDr. Deepak Mudgal
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...vershagrag
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 

Recently uploaded (20)

PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 

Unit-III.pptx

  • 1. Unit-III Standard Single-Purpose Processors By M. Sambasiva Reddy Asst. Professor, ECE 21 September 2022 1 Dept.of ECE-LBRCE, Mylavaram
  • 2. Contents • Introduction • Timers • Counters • Watchdog Timers • UART • LCD Controllers • Stepper Motor Controllers • Analog-to-Digital Converters • Real-Time Clocks • Common memory types • Memory hierarchy and Cache • Advanced RAM 21 September 2022 2 Dept.of ECE-LBRCE, Mylavaram
  • 3. Introduction • Single-purpose processors – Performs specific computation task – Custom single-purpose processors • Designed by us for a unique task – Standard single-purpose processors • “Off-the-shelf” -- pre-designed for a common task • a.k.a., peripherals • serial transmission • analog/digital conversions 21 September 2022 3 Dept.of ECE-LBRCE, Mylavaram
  • 4. Timers, counters, watchdog timers • Timer: measures time intervals – To generate timed output events • e.g., hold traffic light green for 10 s – To measure input events • e.g., measure a car’s speed • Based on counting clock pulses • E.g., let Clk period be 10 ns • And we count 20,000 Clk pulses • Then 200 microseconds have passed • 16-bit counter would count up to 65,535*10 ns = 655.35 microsec., resolution = 10 ns • Top: indicates top count reached, wrap-around 16-bit up counter Clk Cnt Basic timer Top Reset 16 21 September 2022 4 Dept.of ECE-LBRCE, Mylavaram
  • 5. Counters • Counter: like a timer, but counts pulses on a general input signal rather than clock – e.g., count cars passing over a sensor – Can often configure device as either a timer or counter 16-bit up counter Clk 16 Cnt_in 2x1 mux Mode Timer/counter Top Reset Cnt 21 September 2022 5 Dept.of ECE-LBRCE, Mylavaram
  • 6. Other timer structures Top2 Time with prescaler 16-bit up counter Clk Prescaler Mode • Interval timer – Indicates when desired time interval has passed – We set terminal count to desired interval • Number of clock cycles = Desired time interval / Clock period • Cascaded counters • Prescaler – Divides clock – Increases range, decreases resolution 16-bit up counter Clk 16 Terminal count = Top Reset Timer with a terminal count Cnt 16-bit up counter Clk 16-bit up counter 16 Cnt2 Top1 16/32-bit timer Cnt1 16 21 September 2022 6 Dept.of ECE-LBRCE, Mylavaram
  • 7. Other timer structures Top2 Time with prescaler 16-bit up counter Clk Prescaler Mode • Interval timer – Indicates when desired time interval has passed – We set terminal count to desired interval • Number of clock cycles = Desired time interval / Clock period • Cascaded counters • Prescaler – Divides clock – Increases range, decreases resolution 16-bit up counter Clk 16 Terminal count = Top Reset Timer with a terminal count Cnt 16-bit up counter Clk 16-bit up counter 16 Cnt2 Top1 16/32-bit timer Cnt1 16 21 September 2022 7 Dept.of ECE-LBRCE, Mylavaram
  • 8. Watchdog timer scalereg checkreg timereg to system reset or interrupt osc clk prescaler overflow overflow /* main.c */ main(){ wait until card inserted call watchdog_reset_routine while(transaction in progress){ if(button pressed){ perform corresponding action call watchdog_reset_routine } /* if watchdog_reset_routine not called every < 2 minutes, interrupt_service_routine is called */ } watchdog_reset_routine(){ /* checkreg is set so we can load value into timereg. Zero is loaded into scalereg and 11070 is loaded into timereg */ checkreg = 1 scalereg = 0 timereg = 11070 } void interrupt_service_routine(){ eject card reset screen } • Must reset timer every X time unit, else timer generates a signal • Common use: detect failure, self-reset • Another use: timeouts – e.g., ATM machine – 16-bit timer, 2 microsec. resolution – timereg value = 2*(216- 1)–X = 131070–X – For 2 min., X = 120,000 microsec. 21 September 2022 8 Dept.of ECE-LBRCE, Mylavaram
  • 9. Serial Transmission Using UARTs embedde d device 1 0 0 1 1 0 1 1 Sending UART 1 0 0 1 1 0 1 1 Receiving UART 1 0 0 1 1 0 1 1 start bit dat a end bit 1 0 0 1 1 0 1 1 • UART: Universal Asynchronous Receiver Transmitter – Takes parallel data and transmits serially – Receives serial data and converts to parallel • Parity: extra bit for simple error checking • Start bit, stop bit • Baud rate – signal changes per second – bit rate usually higher 21 September 2022 9 Dept.of ECE-LBRCE, Mylavaram
  • 10. Pulse width modulator clk pwm_o 25% duty cycle – average pwm_o is 1.25V clk pwm_o 50% duty cycle – average pwm_o is 2.5V. clk pwm_o 75% duty cycle – average pwm_o is 3.75V. • Generates pulses with specific high/low times • Duty cycle: % time high – Square wave: 50% duty cycle • Common use: control average voltage to electric device – Simpler than DC-DC converter or digital-analog converter – DC motor speed, dimmer lights • Another use: encode commands, receiver uses timer to decode 21 September 2022 10 Dept.of ECE-LBRCE, Mylavaram
  • 11. Controlling a DC motor with a PWM void main(void){ /* controls period */ PWMP = 0xff; /* controls duty cycle */ PWM1 = 0x7f; while(1){}; } The PWM alone cannot drive the DC motor, a possible way to implement a driver is shown below using an MJE3055T NPN transistor. 5V B A Internal Structure of PWM clk_div cycle_high counter ( 0 – 254) 8-bit comparator controls how fast the counter increments counter < cycle_high, pwm_o = 1 counter >= cycle_high, pwm_o = 0 pwm_o clk Input Voltage % of Maximum Voltage Applied RPM of DC Motor 0 0 0 2.5 50 1840 3.75 75 6900 5.0 100 9200 Relationship between applied voltage and speed of the DC Motor DC MOTOR 5V From processo r 21 September 2022 11 Dept.of ECE-LBRCE, Mylavaram
  • 12. LCD controller E R/W RS DB7–DB0 LCD controller communications bus microcontroller 8 void WriteChar(char c){ RS = 1; /* indicate data being sent */ DATA_BUS = c; /* send data to LCD */ EnableLCD(45); /* toggle the LCD with appropriate delay */ } CODES I/D = 1 cursor moves left DL = 1 8-bit I/D = 0 cursor moves right DL = 0 4-bit S = 1 with display shift N = 1 2 rows S/C =1 display shift N = 0 1 row S/C = 0 cursor movement F = 1 5x10 dots R/L = 1 shift to right F = 0 5x7 dots R/L = 0 shift to left RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Description 0 0 0 0 0 0 0 0 0 1 Clears all display, return cursor home 0 0 0 0 0 0 0 0 1 * Returns cursor home 0 0 0 0 0 0 0 1 I/D S Sets cursor move direction and/or specifies not to shift display 0 0 0 0 0 0 1 D C B ON/OFF of all display(D), cursor ON/OFF (C), and blink position (B) 0 0 0 0 0 1 S/C R/L * * Move cursor and shifts display 0 0 0 0 1 DL N F * * Sets interface data length, number of display lines, and character font 1 0 WRITE DATA Writes Data 21 September 2022 12 Dept.of ECE-LBRCE, Mylavaram
  • 14. Stepper motor controller Red A White A’ Yellow B Black B’ MC3479P 1 5 4 3 2 7 8 6 16 15 14 13 12 11 10 9 Vd A’ A GND Bias’/Set Clk O|C Vm B B’ GND Phase A’ CW’/CCW Full’/Half Step Sequence A B A’ B’ 1 + + - - 2 - + + - 3 - - + + 4 + - - + 5 + + - - • Stepper motor: rotates fixed number of degrees when given a “step” signal – In contrast, DC motor just rotates when power applied, coasts to stop • Rotation achieved by applying specific voltage sequence to coils • Controller greatly simplifies this 21 September 2022 14 Dept.of ECE-LBRCE, Mylavaram
  • 15. Stepper motor with controller (driver) 2 A’ 3 A 10 7 B 15 B’ 14 MC3479P Stepper Motor Driver 8051 P1.0 P1.1 Stepper Motor CLK CW’/CCW The output pins on the stepper motor driver do not provide enough current to drive the stepper motor. To amplify the current, a buffer is needed. One possible implementation of the buffers is pictured to the left. Q1 is an MJE3055T NPN transistor and Q2 is an MJE2955T PNP transistor. A is connected to the 8051 microcontroller and B is connected to the stepper motor. Q2 1K 1K Q1 +V A B void main(void){ */turn the motor forward */ cw=0; /* set direction */ clk=0; /* pulse clock */ delay(); clk=1; /*turn the motor backwards */ cw=1; /* set direction */ clk=0; /* pulse clock */ delay(); clk=1; } /* main.c */ sbit clk=P1^1; sbit cw=P1^0; void delay(void){ int i, j; for (i=0; i<1000; i++) for ( j=0; j<50; j++) i = i + 0; } 21 September 2022 15 Dept.of ECE-LBRCE, Mylavaram
  • 16. Stepper motor without controller (driver) Stepper Motor 8051 GND/ +V P2.4 P2.3 P2.2 P2.1 P2.0 A possible way to implement the buffers is located below. The 8051 alone cannot drive the stepper motor, so several transistors were added to increase the current going to the stepper motor. Q1 are MJE3055T NPN transistors and Q3 is an MJE2955T PNP transistor. A is connected to the 8051 microcontroller and B is connected to the stepper motor. Q2 +V 1K Q1 1K +V A B 330 /*main.c*/ sbit notA=P2^0; sbit isA=P2^1; sbit notB=P2^2; sbit isB=P2^3; sbit dir=P2^4; void delay(){ int a, b; for(a=0; a<5000; a++) for(b=0; b<10000; b++) a=a+0; } void move(int dir, int steps) { int y, z; /* clockwise movement */ if(dir == 1){ for(y=0; y<=steps; y++){ for(z=0; z<=19; z+4){ isA=lookup[z]; isB=lookup[z+1]; notA=lookup[z+2]; notB=lookup[z+3]; delay(); } } } /* counter clockwise movement */ if(dir==0){ for(y=0; y<=step; y++){ for(z=19; z>=0; z - 4){ isA=lookup[z]; isB=lookup[z-1]; notA=lookup[z -2]; notB=lookup[z-3]; delay( ); } } } } void main( ){ int z; int lookup[20] = { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0 }; while(1){ /*move forward, 15 degrees (2 steps) */ move(1, 2); /* move backwards, 7.5 degrees (1step)*/ move(0, 1); } } 21 September 2022 16 Dept.of ECE-LBRCE, Mylavaram
  • 17. Analog-to-digital converters proportionality Vmax = 7.5V 0V 1111 1110 0000 0010 0100 0110 1000 1010 1100 0001 0011 0101 0111 1001 1011 1101 0.5V 1.0V 1.5V 2.0V 2.5V 3.0V 3.5V 4.0V 4.5V 5.0V 5.5V 6.0V 6.5V 7.0V analog to digital 4 3 2 1 t1 t2 t3 t4 0100 1000 0110 0101 time analog input (V) Digital output digital to analog 4 3 2 1 0100 1000 0110 0101 t1 t2 t3 t4 time analog output (V) Digital input 21 September 2022 17 Dept.of ECE-LBRCE, Mylavaram
  • 18. Given an analog input signal whose voltage should range from 0 to 15 volts, and an 8-bit digital encoding, calculate the correct encoding for 5 volts. Then trace the successive-approximation approach to find the correct encoding. 5/15 = d/(28-1) d= 85 Successive-approximation method Digital-to-analog conversion using successive approximation 0 1 0 0 0 0 0 0 Encoding: 01010101 ½(Vmax – Vmin) = 7.5 volts Vmax = 7.5 volts. ½(7.5 + 0) = 3.75 volts Vmin = 3.75 volts. 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ½(7.5 + 3.75) = 5.63 volts Vmax = 5.63 volts ½(5.63 + 3.75) = 4.69 volts Vmin = 4.69 volts. 0 1 0 1 0 0 0 0 ½(5.63 + 4.69) = 5.16 volts Vmax = 5.16 volts. 0 1 0 1 0 0 0 0 ½(5.16 + 4.69) = 4.93 volts Vmin = 4.93 volts. 0 1 0 1 0 1 0 0 ½(5.16 + 4.93) = 5.05 volts Vmax = 5.05 volts. 0 1 0 1 0 1 0 0 ½(5.05 + 4.93) = 4.99 volts 0 1 0 1 0 1 0 1 21 September 2022 18 Dept.of ECE-LBRCE, Mylavaram
  • 19. Introduction • Embedded system’s functionality aspects – Processing • processors • transformation of data – Storage • memory • retention of data – Communication • buses • transfer of data 21 September 2022 19 Dept.of ECE-LBRCE, Mylavaram
  • 20. Memory: basic concepts • Stores large number of bits – m x n: m words of n bits each – k = Log2(m) address input signals – or m = 2^k words – e.g., 4,096 x 8 memory: • 32,768 bits • 12 address input signals • 8 input/output data signals • Memory access – r/w: selects read or write – enable: read or write only when asserted – multiport: multiple accesses to different locations simultaneously m × n memory … … n bits per word m words enabl e 2k × n read and write memory A0 … r/w … Q0 Qn-1 Ak-1 memory external view 21 September 2022 20 Dept.of ECE-LBRCE, Mylavaram
  • 21. Memory: basic concepts • Stores large number of bits – m x n: m words of n bits each – k = Log2(m) address input signals – or m = 2^k words – e.g., 4,096 x 8 memory: • 32,768 bits • 12 address input signals • 8 input/output data signals • Memory access – r/w: selects read or write – enable: read or write only when asserted – multiport: multiple accesses to different locations simultaneously m × n memory … … n bits per word m words enabl e 2k × n read and write memory A0 … r/w … Q0 Qn-1 Ak-1 memory external view 21 September 2022 21 Dept.of ECE-LBRCE, Mylavaram
  • 22. Write ability • Ranges of write ability – High end • processor writes to memory simply and quickly • e.g., RAM – Middle range • processor writes to memory, but slower • e.g., FLASH, EEPROM – Lower range • special equipment, “programmer”, must be used to write to memory • e.g., EPROM, OTP ROM – Low end • bits stored only during fabrication • e.g., Mask-programmed ROM • In-system programmable memory – Can be written to by a processor in the embedded system using the memory – Memories in high end and middle range of write ability 21 September 2022 22 Dept.of ECE-LBRCE, Mylavaram
  • 23. Storage permanence • Range of storage permanence – High end • essentially never loses bits • e.g., mask-programmed ROM – Middle range • holds bits days, months, or years after memory’s power source turned off • e.g., NVRAM – Lower range • holds bits as long as power supplied to memory • e.g., SRAM – Low end • begins to lose bits almost immediately after written • e.g., DRAM • Nonvolatile memory – Holds bits after power is no longer supplied – High end and middle range of storage permanence 21 September 2022 23 Dept.of ECE-LBRCE, Mylavaram
  • 24. ROM: “Read-Only” Memory • Nonvolatile memory • Can be read from but not written to, by a processor in an embedded system • Traditionally written to, “programmed”, before inserting to embedded system • Uses – Store software program for general-purpose processor • program instructions can be one or more ROM words – Store constant data needed by system – Implement combinational circuit 2k × n ROM … Q0 Qn-1 A0 … enable Ak-1 External view 21 September 2022 24 Dept.of ECE-LBRCE, Mylavaram
  • 25. Example: 8 x 4 ROM • Horizontal lines = words • Vertical lines = data • Lines connected only at circles • Decoder sets word 2’s line to 1 if address input is 010 • Data lines Q3 and Q1 are set to 1 because there is a “programmed” connection with word 2’s line • Word 2 is not connected with data lines Q2 and Q0 • Output is 1010 8 × 4 ROM 3×8 decoder Q0 Q3 A0 enab le A2 word 0 word 1 A1 Q2 Q1 programm able connectio n wired- OR word line data line word 2 Internal view 21 September 2022 25 Dept.of ECE-LBRCE, Mylavaram
  • 26. Implementing combinational function • Any combinational circuit of n functions of same k variables can be done with 2^k x n ROM 21 September 2022 26 Dept.of ECE-LBRCE, Mylavaram
  • 27. Mask-programmed ROM • Connections “programmed” at fabrication – set of masks • Lowest write ability – only once • Highest storage permanence – bits never change unless damaged • Typically used for final design of high-volume systems – spread out NRE cost for a low unit cost 21 September 2022 27 Dept.of ECE-LBRCE, Mylavaram
  • 28. OTP ROM: One-time programmable ROM • Connections “programmed” after manufacture by user – user provides file of desired contents of ROM – file input to machine called ROM programmer – each programmable connection is a fuse – ROM programmer blows fuses where connections should not exist • Very low write ability – typically written only once and requires ROM programmer device • Very high storage permanence – bits don’t change unless reconnected to programmer and more fuses blown • Commonly used in final products – cheaper, harder to inadvertently modify 21 September 2022 28 Dept.of ECE-LBRCE, Mylavaram
  • 29. . (d) (a) (b) source drain +15V source drain 0V (c) source drain floating gate 5-30 min EPROM: Erasable programmable ROM • Programmable component is a MOS transistor – Transistor has “floating” gate surrounded by an insulator – (a) Negative charges form a channel between source and drain storing a logic 1 – (b) Large positive voltage at gate causes negative charges to move out of channel and get trapped in floating gate storing a logic 0 – (c) (Erase) Shining UV rays on surface of floating-gate causes negative charges to return to channel from floating gate restoring the logic 1 – (d) An EPROM package showing quartz window through which UV light can pass • Better write ability – can be erased and reprogrammed thousands of times • Reduced storage permanence – program lasts about 10 years but is susceptible to radiation and electric noise • Typically used during design development 21 September 2022 29 Dept.of ECE-LBRCE, Mylavaram
  • 30. EEPROM: Electrically erasable programmable ROM • Programmed and erased electronically – typically by using higher than normal voltage – can program and erase individual words • Better write ability – can be in-system programmable with built-in circuit to provide higher than normal voltage • built-in memory controller commonly used to hide details from memory user – writes very slow due to erasing and programming • “busy” pin indicates to processor EEPROM still writing – can be erased and programmed tens of thousands of times • Similar storage permanence to EPROM (about 10 years) • Far more convenient than EPROMs, but more expensive 21 September 2022 30 Dept.of ECE-LBRCE, Mylavaram
  • 31. Flash Memory • Extension of EEPROM – Same floating gate principle – Same write ability and storage permanence • Fast erase – Large blocks of memory erased at once, rather than one word at a time – Blocks typically several thousand bytes large • Writes to single words may be slower – Entire block must be read, word updated, then entire block written back • Used with embedded systems storing large data items in nonvolatile memory – e.g., digital cameras, TV set-top boxes, cell phones 21 September 2022 31 Dept.of ECE-LBRCE, Mylavaram
  • 32. RAM: “Random-access” memory • Typically volatile memory – bits are not held without power supply • Read and written to easily by embedded system during execution • Internal structure more complex than ROM – a word consists of several memory cells, each storing 1 bit – each input and output data line connects to each cell in its column – rd/wr connected to every cell – when row is enabled by decoder, each cell has logic that stores input data bit when rd/wr indicates write or outputs stored bit when rd/wr indicates read enable 2k × n read and write memory A0 … r/w … Q0 Qn-1 Ak-1 external view 4×4 RAM 2×4 deco der Q0 Q3 A0 ena ble A1 Q2 Q1 Mem ory cell I0 I3 I2 I1 rd/wr To every cell internal view 21 September 2022 32 Dept.of ECE-LBRCE, Mylavaram
  • 33. Basic types of RAM • SRAM: Static RAM – Memory cell uses flip-flop to store bit – Requires 6 transistors – Holds data as long as power supplied • DRAM: Dynamic RAM – Memory cell uses MOS transistor and capacitor to store bit – More compact than SRAM – “Refresh” required due to capacitor leak • word’s cells refreshed when read – Typical refresh rate 15.625 microsec. – Slower to access than SRAM memory cell internals Data W Data' SRAM Data W DRAM 21 September 2022 33 Dept.of ECE-LBRCE, Mylavaram
  • 34. Ram variations • PSRAM: Pseudo-static RAM – DRAM with built-in memory refresh controller – Popular low-cost high-density alternative to SRAM • NVRAM: Nonvolatile RAM – Holds data after external power removed – Battery-backed RAM • SRAM with own permanently connected battery • writes as fast as reads • no limit on number of writes unlike nonvolatile ROM-based memory – SRAM with EEPROM or flash • stores complete RAM contents on EEPROM or flash before power turned off 21 September 2022 34 Dept.of ECE-LBRCE, Mylavaram
  • 35. Example: HM6264 & 27C256 RAM/ROM devices • Low-cost low-capacity memory devices • Commonly used in 8-bit microcontroller-based embedded systems • First two numeric digits indicate device type – RAM: 62 – ROM: 27 • Subsequent digits indicate capacity in kilobits 21 September 2022 35 Dept.of ECE-LBRCE, Mylavaram
  • 36. Example: TC55V2325FF-100 memory device • 2-megabit synchronous pipelined burst SRAM memory device • Designed to be interfaced with 32-bit processors • Capable of fast sequential reads and writes as well as single byte I/O 21 September 2022 36 Dept.of ECE-LBRCE, Mylavaram
  • 37. Composing memory • Memory size needed often differs from size of readily available memories • When available memory is larger, simply ignore unneeded high-order address bits and higher data lines • When available memory is smaller, compose several smaller memories into one larger memory – Connect side-by-side to increase width of words – Connect top to bottom to increase number of words • added high-order address line selects smaller memory containing desired word using a decoder – Combine techniques to increase number and width of words … 2m × 3n ROM 2m × n ROM A0 … ena ble 2m × n ROM … 2m × n ROM … Q3n-1 Q2n-1 … Q0 … Am Increase width of words 2m+1 × n ROM 2m × n ROM A0 … enable … 2m × n ROM Am-1 Am 1 × 2 deco der … … … Qn-1 Q0 … Increase number of words A ena ble out put s Increase number and width of words 21 September 2022 37 Dept.of ECE-LBRCE, Mylavaram
  • 38. Memory hierarchy • Want inexpensive, fast memory • Main memory – Large, inexpensive, slow memory stores entire program and data • Cache – Small, expensive, fast memory stores copy of likely accessed parts of larger memory – Can be multiple levels of cache Proce ssor Cache Main memory Disk Tape Regis ters 21 September 2022 38 Dept.of ECE-LBRCE, Mylavaram
  • 39. Cache • Usually designed with SRAM – faster but more expensive than DRAM • Usually on same chip as processor – space limited, so much smaller than off-chip main memory – faster access ( 1 cycle vs. several cycles for main memory) • Cache operation: – Request for main memory access (read or write) – First, check cache for copy • cache hit – copy is in cache, quick access • cache miss – copy not in cache, read address and possibly its neighbors into cache • Several cache design choices – cache mapping, replacement policies, and write techniques 21 September 2022 39 Dept.of ECE-LBRCE, Mylavaram
  • 40. Cache mapping • Far fewer number of available cache addresses • Are address’ contents in cache? • Cache mapping used to assign main memory address to cache address and determine hit or miss • Three basic techniques: – Direct mapping – Fully associative mapping – Set-associative mapping • Caches partitioned into indivisible blocks or lines of adjacent memory addresses – usually 4 or 8 addresses per line 21 September 2022 40 Dept.of ECE-LBRCE, Mylavaram
  • 41. Direct mapping • Main memory address divided into 2 fields – Index • cache address • number of bits determined by cache size – Tag • compared with tag stored in cache at address indicated by index • if tags match, check valid bit • Valid bit – indicates whether data in slot has been loaded from memory • Offset – used to find particular word in cache line Data Valid Tag Ind ex Offs et = V T D 21 September 2022 41 Dept.of ECE-LBRCE, Mylavaram
  • 42. Fully associative mapping • Complete main memory address stored in each cache address • All addresses stored in cache simultaneously compared with desired address • Valid bit and offset same as direct mapping Tag Offs et = V T D Valid V T D … V T D = = Dat a 21 September 2022 42 Dept.of ECE-LBRCE, Mylavaram
  • 43. Set-associative mapping • Compromise between direct mapping and fully associative mapping • Index same as in direct mapping • But, each cache address contains content and tags of 2 or more memory address locations • Tags of that set simultaneously compared as in fully associative mapping • Cache with set size N called N-way set- associative – 2-way, 4-way, 8-way are common Tag Ind ex Offs et = V T D Dat a Valid V T D = 21 September 2022 43 Dept.of ECE-LBRCE, Mylavaram
  • 44. Cache-replacement policy • Technique for choosing which block to replace – when fully associative cache is full – when set-associative cache’s line is full • Direct mapped cache has no choice • Random – replace block chosen at random • LRU: least-recently used – replace block not accessed for longest time • FIFO: first-in-first-out – push block onto queue when accessed – choose block to replace by popping queue 21 September 2022 44 Dept.of ECE-LBRCE, Mylavaram
  • 45. Cache write techniques • When written, data cache must update main memory • Write-through – write to main memory whenever cache is written to – easiest to implement – processor must wait for slower main memory write – potential for unnecessary writes • Write-back – main memory only written when “dirty” block replaced – extra dirty bit for each block set when cache block written to – reduces number of slow main memory writes 21 September 2022 45 Dept.of ECE-LBRCE, Mylavaram
  • 46. Cache impact on system performance • Most important parameters in terms of performance: – Total size of cache • total number of data bytes cache can hold • tag, valid and other house keeping bits not included in total – Degree of associativity – Data block size • Larger caches achieve lower miss rates but higher access cost – e.g., • 2 Kbyte cache: miss rate = 15%, hit cost = 2 cycles, miss cost = 20 cycles – avg. cost of memory access = (0.85 * 2) + (0.15 * 20) = 4.7 cycles • 4 Kbyte cache: miss rate = 6.5%, hit cost = 3 cycles, miss cost will not change – avg. cost of memory access = (0.935 * 3) + (0.065 * 20) = 4.105 cycles (improvement) • 8 Kbyte cache: miss rate = 5.565%, hit cost = 4 cycles, miss cost will not change – avg. cost of memory access = (0.94435 * 4) + (0.05565 * 20) = 4.8904 cycles (worse) 21 September 2022 46 Dept.of ECE-LBRCE, Mylavaram
  • 47. Cache performance trade-offs • Improving cache hit rate without increasing size – Increase line size – Change set-associativity 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 1 Kb2 Kb4 Kb8 Kb16 Kb 32 Kb 64 Kb 128 Kb 1 way 2 way 4 way 8 way % cache miss cache size 21 September 2022 47 Dept.of ECE-LBRCE, Mylavaram
  • 48. Advanced RAM • DRAMs commonly used as main memory in processor based embedded systems – high capacity, low cost • Many variations of DRAMs proposed – need to keep pace with processor speeds – FPM DRAM: fast page mode DRAM – EDO DRAM: extended data out DRAM – SDRAM/ESDRAM: synchronous and enhanced synchronous DRAM – RDRAM: rambus DRAM 21 September 2022 48 Dept.of ECE-LBRCE, Mylavaram
  • 49. Basic DRAM • Address bus multiplexed between row and column components • Row and column addresses are latched in, sequentially, by strobing ras and cas signals, respectively • Refresh circuitry can be external or internal to DRAM device – strobes consecutive memory address periodically causing memory content to be refreshed – Refresh circuitry disabled during read or write operation Data In Buffer Data Out Buffer rd/wr data Row Addr. Buffer Col Addr . Buffer address ras cas Bit storage array Row Decoder Col Decoder Refresh Circuit Sense Amplifiers 21 September 2022 49 Dept.of ECE-LBRCE, Mylavaram
  • 50. Fast Page Mode DRAM (FPM DRAM) • Each row of memory bit array is viewed as a page • Page contains multiple words • Individual words addressed by column address • Timing diagram: – row (page) address sent – 3 words read consecutively by sending column address for each • Extra cycle eliminated on each read/write of words from same page ro w c ol da ta c ol c ol da ta da ta ras cas add ress 21 September 2022 50 Dept.of ECE-LBRCE, Mylavaram
  • 51. Extended data out DRAM (EDO DRAM) • Improvement of FPM DRAM • Extra latch before output buffer – allows strobing of cas before data read operation completed • Reduces read/write latency by additional cycle ro w co l co l co l da ta da ta da ta Speedup through overlap ras cas add ress dat a 21 September 2022 51 Dept.of ECE-LBRCE, Mylavaram
  • 52. Synchronous and Enhanced Synchronous (ES) DRAM • SDRAM latches data on active edge of clock • Eliminates time to detect ras/cas and rd/wr signals • A counter is initialized to column address then incremented on active edge of clock to access consecutive memory locations • ESDRAM improves SDRAM – added buffers enable overlapping of column addressing – faster clocking and lower read/write latency possible clock ras cas address ro w co l da ta da ta da ta 21 September 2022 52 Dept.of ECE-LBRCE, Mylavaram
  • 53. Rambus DRAM (RDRAM) • More of a bus interface architecture than DRAM architecture • Data is latched on both rising and falling edge of clock • Broken into 4 banks each with own row decoder – can have 4 pages open at a time • Capable of very high throughput 21 September 2022 53 Dept.of ECE-LBRCE, Mylavaram
  • 54. DRAM integration problem • SRAM easily integrated on same chip as processor • DRAM more difficult – Different chip making process between DRAM and conventional logic – Goal of conventional logic (IC) designers: • minimize parasitic capacitance to reduce signal propagation delays and power consumption – Goal of DRAM designers: • create capacitor cells to retain stored information – Integration processes beginning to appear 21 September 2022 54 Dept.of ECE-LBRCE, Mylavaram
  • 55. Memory Management Unit (MMU) • Duties of MMU – Handles DRAM refresh, bus interface and arbitration – Takes care of memory sharing among multiple processors – Translates logic memory addresses from processor to physical memory addresses of DRAM • Modern CPUs often come with MMU built-in • Single-purpose processors can be used 21 September 2022 55 Dept.of ECE-LBRCE, Mylavaram
  • 56. Thank You 21 September 2022 56 Dept.of ECE-LBRCE, Mylavaram