타이밍 분석과 CDC
깊이 16워드인 비동기 FIFO에서 쓰기 포인터와 읽기 포인터를 주소보다 1비트 많은 5비트로 하는 이유로 올바른 것은?
- A16워드의 주소를 나타내는 데 5비트가 필요하기 때문에
- B포인터가 일치했을 때 같은 바퀴면 빈 상태, 한 바퀴 차이면 가득 찬 상태로 구별할 수 있도록 하기 위해
- C여분의 비트를 패리티로 사용하여 포인터의 오류를 검출하기 위해
정답과 해설 보기
정답: B. 포인터가 일치했을 때 같은 바퀴면 빈 상태, 한 바퀴 차이면 가득 찬 상태로 구별할 수 있도록 하기 위해
16워드의 주소는 4비트로 나타낼 수 있지만, 4비트 포인터만으로는 읽기와 쓰기 주소가 일치했을 때 전부 다 읽은 빈 상태인지, 한 바퀴분을 써서 따라잡은 가득 찬 상태인지를 구별할 수 없습니다. 5번째 비트를 바퀴를 나타내는 비트로 추가하면, 바이너리로 비교하는 경우 5비트가 모두 일치하면 빈 상태, 최상위 비트만 다르면 가득 찬 상태로 판정할 수 있습니다. 그레이 코드 포인터에서는 가득 찬 상태를 판정하는 비교 방법이 조금 달라집니다. 패리티로 사용하는 것은 아닙니다.