오늘 끝나면
마이크로프로세서
- ✓마이크로프로세서가 "한 칩에 든 CPU"라는 걸 한 줄로 설명한다
- ✓ALU·레지스터·제어장치가 각각 무슨 일을 하는지 말한다
- ✓4004(1971)가 왜 개인용 컴퓨터의 문을 열었는지 설명한다
실습 미션
오른쪽 블록 머신에서 값과 연산을 정해 한 명령을 실행하고, 데이터가 레지스터에서 ALU를 거쳐 결과로 흐르는 걸 따라가며 각 블록 역할을 눌러 확인한다.
성공 조건
- □값과 연산을 바꿔 결과가 달라지는 걸 봤다
- □한 명령이 레지스터에서 버스를 거쳐 ALU로 갔다가 레지스터로 도는 흐름을 단계로 봤다
- □제어·레지스터·ALU·버스 블록을 눌러 각 역할을 읽었다
인텔 4004 · 1971 · CPU를 한 칩에 · PC의 문
마이크로프로세서
흩어져 있던 CPU를 통째로 손톱만 한 칩 하나에 넣었더니, 개인이 컴퓨터를 가질 길이 열렸다.
CPU를 통째로 한 칩에, 4004
그 전에는 CPU가 한 칩이 아니었다. 여러 부품을 보드에 줄줄이 붙여 만든 덩어리였다.
1971년, 인텔이 4004를 내놓았다. CPU 한 벌을 통째로 칩 하나에 욱여넣은 것이다.
원래는 일본 계산기 회사 비지컴의 주문이었다. 칩 12개로 짤 설계를 인텔의 페데리코 패긴 팀이 범용 칩 한 개로 묶었다. 2,300트랜지스터, 4비트, 손톱만 한 크기였다.
이렇게 한 칩에 든 CPU를 마이크로프로세서라고 부른다. 컴퓨터의 두뇌가 처음으로 부품 하나가 된 순간이다.
그 전엔 CPU가 이렇게 보드에 부품을 줄줄이 붙인 덩어리였음. 슬라이더를 밀어 통째로 한 칩에 모아보셈.
한 칩 안의 세 블록, ALU·레지스터·제어
칩 안을 열어보면 일하는 부분은 크게 세 블록이다.
ALU는 계산하는 부분이다. 더하기·빼기 같은 산술과 AND·OR 같은 논리 연산을 한다.
레지스터는 값을 잠깐 들고 있는 아주 빠른 저장칸이다. 제어장치는 명령을 해석해 나머지 블록에 "지금 이걸 해라" 신호를 보내는 지휘자다.
예전에는 이 셋이 따로 흩어진 부품이었다. 4004는 셋을 한 칩에 모으고 버스라는 길로 이어, 한 명령이 칩 밖으로 나가지 않고 안에서 끝까지 돌게 만들었다.
명령을 해석해 나머지 블록에 신호를 보내는 지휘자. "지금 뭘, 어떤 순서로"를 정함.
한 명령이 칩 안에서 도는 길
마이크로프로세서는 명령을 하나씩 같은 순서로 처리한다. 이 순서를 명령 사이클이라 부른다.
순서는 가져오기, 해석, 실행, 저장이다. 제어장치가 다음 명령을 가져와 무슨 일인지 해석하고, 레지스터의 값을 버스로 ALU에 보내 계산한 뒤, 결과를 다시 레지스터에 저장한다.
4004는 이걸 초당 약 9만 번 돌렸다. 느려 보이지만, 사람이 배선을 다시 꽂지 않아도 명령만 바꾸면 다른 일을 한다.
지금 책상 위 PC의 CPU도 똑같은 네 박자를 돈다. 다만 초당 수십억 번일 뿐이다. 빨라졌을 뿐 구조는 4004의 후손이다.
제어장치가 메모리에서 다음 명령을 가져옴, "ADD R0, R1"
이 네 박자는 4004나 지금 PC나 똑같음. 빨라졌을 뿐 구조는 4004의 후손임.
한 칩이 연 개인용 컴퓨터의 문
CPU가 칩 하나가 되니, 컴퓨터가 작고 싸지기 시작했다.
방을 채우던 기계가 책상 위로 내려왔다. 4004 뒤로 8080·8086 같은 칩이 이어졌고, 1970년대 후반 알테어·애플 같은 개인용 컴퓨터가 마이크로프로세서 위에서 태어났다.
인텔의 뒤를 AMD가 호환 칩으로 바짝 쫓았고, 훗날 Arm은 저전력 설계로 스마트폰의 두뇌가 됐다.
지금 PC·폰·자동차·가전 속 두뇌가 전부 이 마이크로프로세서의 후손이다. 시작은 1971년 손톱만 한 칩 하나였다.
시작은 1971년 손톱만 한 칩 하나. 지금 PC·폰·자동차·가전 속 두뇌가 전부 그 후손임.
직접 4004 블록 머신 돌려보기
오른쪽에서 값 두 개와 연산을 정하고 ▶를 눌러 한 명령을 직접 실행해본다.
데이터가 레지스터에서 버스를 거쳐 ALU로 갔다가 다시 레지스터로 도는 걸 단계로 따라가게 된다.
각 블록을 클릭하면 그 부품 역할 설명이 뜬다. 흩어져 있던 세 부분이 한 칩 안에서 같이 일하는 걸 눈으로 확인한다.
옛날엔 이 블록들이 따로 흩어진 부품이었음. 4004는 통째로 한 칩에 넣음. ▶ 눌러 한 명령이 도는 걸 보셈.