Introduction to Computing Systems: from bits and gates to C and beyond (second edition) - Yale N. Patt, Sanjay J. Patel
Chapter 3 Digital Logic Structures
3.5 The Concept of Memory
3.5.3 A 2²-by-3-Bit Memory
70쪽 Figure 3.22 Reading location 3 in our 2²-by-3-bit memory
먼저
WE가 0일때
location 3에 저장되어있던 101이 나오다가
WE가 1이 되면
location 3에 저장되어있던게 나오는게 아니고
Di[2:0]이 나오잖습니까?
그런데 질문이 있습니다
이 상황에서
다시 WE를 0으로 해주면
원래대로 101이 나오는게 아니라,
WE가 1일 때 기존에 저장되어있던 1,0,1이 각각 Di[2],Di[1],Di[0]로
수정되어버려서
WE가 1에서 0으로 되돌아와도 101이 아니라 계속 Di[2:0]가 나오는것 아닌가요?
65쪽(3.4 Basic Storage Elements 3.4.1 The R-S Latch)에도 그런 말이 있거든요. S이 1일때 0으로만들었다가 다시 1로 되돌리면 처음에저장되어있던걸로 돌아오지 않는다고
그러면, 되돌아오지않으면, 이 장치는 뭐할때 쓰는건가요
처음에 101로 저장해놨어도 WE한번 켰다끄면 영원히 Di[2:0]로 바껴져서 처음에 101저장해놓은게 의미없어지는데
만약 Di[2:0]를 저장하는게 목적이라면 뭐하러 저렇게 쓸데없이 복잡하게 했을까요?
왜냐하면 A[1:0]이 00이든 01이든 10이든 11이든 결국 다 똑같은 Di[2:0]이 되어버리는데 이게 무슨 의미가 있나요?
그냥 아래 그림처럼 register 형식으로 간단하게 하면 되는거 아닌가요?
혹시 A[1:0]이 바뀔때마다 Di[2:0]를 바꿔줄 수 있는건가요? 그러면 의미있을텐데
댓글 0