해결된 질문
작성
·
328
답변 1
1
안녕하세요 :)
구글링에 좋은 설명이 없네요;; 직접써봅니다.
예를들어 64bit data bit witdh 를 갖는 메모리가 있다 라고 가정해볼께요.
위 index 에서 "짝수번지 Data 는 수정하지 않고, 홀수번지인 1,3,5,7 부분에만 data 를 write" 하고 싶어요.
0~7 번까지의 메모리 값을 읽어보기 전까지 0,2,4,8 의 값은 우리가 알 수 있는 방법은 없죠. (미리 알고있다면 모를까)
<만약 Write strobe 가 없다면>
먼저 Read 를 해야겠죠. 이때 한번의 Transaction 을 소비합니다.
그런 후에 짝수번째 값은 읽어온 값을 0,2,4,6 에 그대로 쓰고, 1,3,5,7 에 쓰고싶은 값을 쓰고 다시 Write 하면 되겠죠.
위 과정이 Read and Modify Write 입니다.
<만약에 Strobe 가 존재해요.>
그러면 짝수번째 Strobe 는 0, 홀수 번째 strobe 는 1을 취하면 됩니다.
짝수번째에 어떤값을 우리가 넣어놔도 (don't care) strobe 가 0 이기 때문에 메모리 값을 update 하지 않겠죠. 다음과 같은 한번의 Transaction 으로 수행가능합니다.
짝수번째 값은 아무값이나 0,2,4,6 에 쓰고, 1,3,5,7 에 값을 쓰고 다시 Write 하면 되겠죠.
이때 Strobe 는 짝수번째는 0, 홀수번째는 1 을 취합니다.
이거는 순수 Write 한번이면 되겠죠.
평소에는 없겠지만, 꾸준히 설계업을 하시다보면 쓸일이 있는 날이 오실꺼에요.
즐공하세요 :)
이해 됐습니다.! 감사합니다 :)