명령어 하나가 데이터패스를 지나가는 길 - 레지스터 31개와 XZR, 그리고 MUX 네 개
레지스터 파일에 왜 31개만 있고 31번은 XZR 인지, 명령의 어느 비트가 어디로 가는지, MUX 네 개가 무엇을 고르는지를 그림으로 본다. 같은 데이터패스 위에 ADD, CMP(SUBS XZR), LDUR, CBZ 네 명령이 각각 어느 길을 타는지 값과 제어 신호를 붙여 따라간다.
3개의 글
레지스터 파일에 왜 31개만 있고 31번은 XZR 인지, 명령의 어느 비트가 어디로 가는지, MUX 네 개가 무엇을 고르는지를 그림으로 본다. 같은 데이터패스 위에 ADD, CMP(SUBS XZR), LDUR, CBZ 네 명령이 각각 어느 길을 타는지 값과 제어 신호를 붙여 따라간다.
CPU 를 밖에서부터 안으로 뜯어서 구조도로 본다. 뚜껑 밑 다이 배치, 코어 하나의 네 층(프론트엔드·비순차 엔진·실행 유닛·캐시), 명령 하나가 지나가는 데이터패스, 파이프라인 시간표, 비순차 실행이 시간을 버는 방식, 메모리 계층의 거리감까지 그림으로 정리한다.
CPU 의 계산 부품 ALU 를 안팎으로 뜯는다. 회로도 기호와 인터페이스, 1비트 셀의 내부(AND·OR·XOR·전가산기·선택기), 32비트로 늘리는 법, 뺄셈이 덧셈인 이유, 플래그 4개가 어디서 나오는지, 캐리 선행으로 속도를 버는 법, 그리고 실제 실리콘에서 ALU 가 차지하는 띠 모양까지 그림으로 정리한다.