명령어 하나가 데이터패스를 지나가는 길 - 레지스터 31개와 XZR, 그리고 MUX 네 개
레지스터 파일에 왜 31개만 있고 31번은 XZR 인지, 명령의 어느 비트가 어디로 가는지, MUX 네 개가 무엇을 고르는지를 그림으로 본다. 같은 데이터패스 위에 ADD, CMP(SUBS XZR), LDUR, CBZ 네 명령이 각각 어느 길을 타는지 값과 제어 신호를 붙여 따라간다.
6개의 글
레지스터 파일에 왜 31개만 있고 31번은 XZR 인지, 명령의 어느 비트가 어디로 가는지, MUX 네 개가 무엇을 고르는지를 그림으로 본다. 같은 데이터패스 위에 ADD, CMP(SUBS XZR), LDUR, CBZ 네 명령이 각각 어느 길을 타는지 값과 제어 신호를 붙여 따라간다.
전압으로 켜고 끄는 스위치가 어떻게 NOT, NAND, NOR 이 되고, 그 게이트가 어떻게 덧셈기가 되는지 회로도로 따라간다. 왜 CMOS 에서는 NAND 가 AND 보다 싼지, 왜 pMOS 와 nMOS 를 짝지어야 대기 전류가 0 이 되는지, 트랜지스터 몇 개로 1비트를 더할 수 있는지 그림과 개수로 확인한다.
CPU 를 밖에서부터 안으로 뜯어서 구조도로 본다. 뚜껑 밑 다이 배치, 코어 하나의 네 층(프론트엔드·비순차 엔진·실행 유닛·캐시), 명령 하나가 지나가는 데이터패스, 파이프라인 시간표, 비순차 실행이 시간을 버는 방식, 메모리 계층의 거리감까지 그림으로 정리한다.
트랜지스터를 실제 모양으로 그려본다. 겉에서 본 부품, 실리콘 원자 격자, 불순물 하나가 만드는 남는 전자와 빈자리, 그리고 칩 속 MOSFET 의 단면. 게이트에 전압을 걸면 어디에 무엇이 생겨서 전류가 흐르는지, 왜 그 모양이 지느러미와 종이 더미로 바뀌었는지 치수와 함께 확인한다.
CPU 의 계산 부품 ALU 를 안팎으로 뜯는다. 회로도 기호와 인터페이스, 1비트 셀의 내부(AND·OR·XOR·전가산기·선택기), 32비트로 늘리는 법, 뺄셈이 덧셈인 이유, 플래그 4개가 어디서 나오는지, 캐리 선행으로 속도를 버는 법, 그리고 실제 실리콘에서 ALU 가 차지하는 띠 모양까지 그림으로 정리한다.
DNA를 원자 단위까지 뜯어서 그림으로 본다. 원소는 딱 5개, 부품은 3개다. 왜 두 줄로 꼬여 있고, 왜 A는 T하고만 붙고, 왜 그 구조가 지퍼처럼 열릴 수 있는지 실제 원자 배치와 치수로 확인한다.