Download presentation
Presentation is loading. Please wait.
1
Memory
2
The logic and arithmetic circuits we’ve seen so far have no memory. They just transform input to output. Can we make circuits that remember? Memory
3
Matt really likes Sue, but he doesn’t like changing his mind… So: Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. The Stubborn Guy
4
Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. Two inputs to Matt’s decision: Sue, and his own state OR Sue Matt Feedback Wire He Needs Feedback (from Himself)
5
Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. If Sue decides to go... OR Sue Matt 1 The Stubborn Guy: Feedback
6
Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. If Sue decides to go, Matt will go. OR Sue Matt 1 1 1 The Stubborn Guy: Feedback
7
Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. If Sue changes her mind… OR Sue Matt 0 1 1 The Stubborn Guy: Feedback
8
Matt decides to go to the party if Sue decides to go OR if he (Matt) had already planned to go. If Sue changes her mind, Matt will still go! Once he decides to go, we can’t get him to change his mind OR Sue Matt 0 1 1 The Stubborn Guy: Feedback
9
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. Enter Rita
10
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt Feedback Wire Enter Rita
11
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 0 0 0 0 1 Enter Rita
12
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 1 0 0 0 0 1 Enter Rita
13
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 1 0 1 1 1 1 Enter Rita
14
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 0 1 1 1 1 Enter Rita
15
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 – nothing changes: Sue can make Matt go, but cannot make him not go 0 1 1 1 1 Enter Rita
16
Matt doesn’t like Rita (maybe together they can make him not go) Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 1 1 1 1 1 Enter Rita
17
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 1 1 1 1 0 Enter Rita
18
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 1 1 1 0 0 Enter Rita
19
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 1 0 1 0 0 Enter Rita
20
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 1 0 0 0 0 Enter Rita
21
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 0 0 0 0 0 Enter Rita
22
Matt doesn’t like Rita Matt decides to go to the party if Sue decides to go OR: If he (Matt) had already planned to go AND Rita decides NOT to go. OR AND Sue Rita Matt 0 0 0 0 0 1 Enter Rita - no change
23
What Sue and Rita Can Do Sue can make Matt go, but cannot make him not go Rita can make Matt not go, but cannot make him go
24
OR AND Set Reset M M becomes 1 if Set is turned on M becomes 0 if Reset is turned on Otherwise (if both are 0), M just remembers its value The (SR) Flip-Flop
25
M becomes 1 if Set is turned on M becomes 0 if Reset is turned on Otherwise (if both are 0), M just remembers its value S R M The Flip-Flop
26
D W M What We Really Want Nothing happens unless Write = 1 If Write = 1, then M becomes set to D Once Write = 0 again, M just keeps its value. (It ignores D.) So, to set M to a value and store it as long as desired, set D to that value, then set W to 1 and then back to 0
27
AND Nothing happens unless Write = 1 S R M D Write The Data Flip-Flop
28
AND Nothing happens unless Write = 1 If Write = 1, then M becomes set to D Once Write = 0 again, M just keeps its value. (It ignores D.) S R M D Write The Data Flip-Flop
29
AND Initially, Write = 0. Let’s say M = 1. S R M D Write 0 0 0 1 Using a Data Flip-Flop
30
AND Initially, Write = 0. Let’s say M = 1. First, set D to desired value, say 0. S R M D Write 0 0 0 1 0 1 Using a Data Flip-Flop
31
AND Initially, Write = 0. Let’s say M = 1. First, set D to desired value, say 0. Then, set Write to 1. S R M D Write 1 0 1 1 0 1 Using a Data Flip-Flop
32
AND Initially, Write = 0. Let’s say M = 1. First, set D to desired value, say 0. Then, set Write to 1. This causes M to be reset to 0. Note use of abstraction with regard to SR flip-flop S R M D Write 1 0 1 0 0 1 Using a Data Flip-Flop
33
AND Initially, Write = 0. Let’s say M = 1. First, set D to desired value, say 0. Then, set Write to 1. This causes M to be reset to 0. Finally set Write back to 0. Now D is irrelevant. S R M D Write 0 0 0 0 ? 1 Using a Data Flip-Flop
34
If Write = 0, M just keeps its value. (It ignores D.) If Write = 1, then M becomes set to D D Write M The Data Flip-Flop
35
Are We Done?
36
When Write = 1, then M = D. If we have some feedback between M and D, then circuit could go haywire. D Write M ?? A Subtle Problem
37
For example, suppose a NOT gate connects M and D. When Write = 1, M and D keep changing. We have no control. D Write M NOT 1 ? ? A Subtle Problem
38
We want to control the feedback, so that each time we set Write to 1 and then back to 0, M stores only the last value of D (In this case, M should invert itself once each time we set Write to 1 and back to 0) D Write M NOT 1 ? ? A Subtle Problem
39
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Two-Stage System to prevent D ever passing through directly to M (W 0,W 1 connected by NOT, so never 1 at the same time) D M The “Airlock” Flip-Flop
40
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write We start with Write = 0. Let’s say D is always NOT M; i.e. connected by NOT gate. Start with D = 0, M = 1. D M The “Airlock” Flip-Flop
41
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write We start with Write = 0. Let’s say D is always NOT M; i.e. connected by NOT gate Start with D = 0, M = 1. D M 0 0 1 1 1 The “Airlock” Flip-Flop
42
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Want to store D in memory. Set Write to 1 D M 1 0 0 1 1 The “Airlock” Flip-Flop
43
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Want to store D in memory. Set Write to 1 “Outer” flip-flop sets M 0 = D 0 = 0 “Inner” flip-flop ignores D 1 since W 1 = 0 D M 1 0 0 0 1 The “Airlock” Flip-Flop
44
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Now, set Write back to 0 D M 0 0 1 0 1 The “Airlock” Flip-Flop
45
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Now, set Write back to 0 Now “Inner” flip-flop sets M = D 1 = 0 D M 0 0 1 0 0 The “Airlock” Flip-Flop
46
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write Because of feedback, D might change to (NOT M), which is 1 But Write = 0, so “Outer” flip-flop ignores D, so M 0 stays 0. D M 0 1 1 0 0 The “Airlock” Flip-Flop
47
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write So memory does not change until we “toggle” Write. (“toggle” means change from 0 to 1 or vice versa) D M 0 1 1 0 0 The “Airlock” Flip-Flop
48
D1D1 W1W1 M1M1 D0D0 W0W0 M0M0 “Outer door” “Inner door” Write This is Real Memory! D M The “Airlock” Flip-Flop
49
D M W D M W D M W D M W Write Data 1 Data 2 Data 3 Data 4 Memory “Register”: 4 bits
50
Review We have used the Universal method to build –ALU –Memory Next steps –State machines to computer with memory –Building the computer –Writing a program to use the computer
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.