컴퓨터구조 - 해저드
다음 단계로 넘어가지 못하는 상황은 세 가지가 있다. 1. 구조적 해저드(Structural Hazard) lw 명령어로 데이터 메모리에서는 read하려고 할 때(MEM), IF 에서 다음 명령어를 메모리에서 가져오려고 한다면 둘이 충돌이 나게 된다. 만약 메모리가 하나밖에 없다면, 데이터 메모리를 먼저 사용한 다음에, IF에서 바로 명령어를 가져오지 않고 한 타임 쉰다. (pipeline stall 이라고도 한다.) 그리고 빈 공간을 bubble이라고 부른다. IF ID EX MEM WB lw add lw sub add lw (bubble) sub add lw beq (bubble) sub add lw 이 문제때문에, Instruction Memory, Data Memory를 분리하고, ALU 말고도 ..
엔지니어일기/이것저것
2019. 8. 23. 17:57