안녕 프형들
브랜치 해저드 부분 보고 잇는 프늅이야!
내가 궁금한건 브랜치 주소 계산을 MEM에서 ID단계로 옮기는 부분인데, 사진에서 $1과 $3 값의 일치 여부를 확인하는 덧셈기가 보이지?

궁금한 것 두 가지가 잇어

1. 책에서는 두 레지스터값을 비트별로 xor을 하여 결과비트를 and 하여서 같은지 여부를 테스트한다고 되있는데, 비트별로 xor하면 서로 다를 때만 1을 출력하고, 이 결과들을 and 한다고 햇으니 이 and게이트의 출력이 1이면 결과적으로 모든 비트 값들이 다르다는 것을 의미하잖아.
그럼 설계의도에 맞지 않는 것 아닌가? 레지스터 값이 똑같을 때 1을 필요로 하기 때문에 두 레지스터값을 비트별로 같을 때만 1을 취하도록 하고 그 결과들을 and 해서 그 결과가 1이면 두 레지스터 값이 같은 것 아닌가? 내가 뭘 놓쳣을까...?ㅜ

2. 그리고 그 결과 비트가 1로 나온다면 s1과 s3의 결과가 똑같다는 말이니, 사진속의 adder에 의한 출력인 72가 IF단계의 멀티플렉서에게 선택 받아야 하잖아
그럼 이 ID단계의 레지스터 비교 덧셈기(덧셈기는 사실 아니고, 등가기?) 의 출력을 ID에서의 adder 나 IF단계에서의 멀티플렉서로 전달을 해줄 모종의 선(제어선인 것 같은데 개념적으로 혼돈스러워서 그냥 선이라고 했어! 자신있게 제어선이라고 못하겟다ㅜ)이 필요할 것 같은데 보다시피 등가기는 그냥 혼자 덩그러니 있네..ㅠ 어디서 막힌걸까ㅠ


질문 끝!
꾸짖음 환영 조언 환영!