처리기의 클럭 주기와 기계 주기
체계 밖의 단위 · 양: 맞물림의 사이이자 셈일의 잣대
2004년 가을 인텔은 십 기가헤르츠로 돌아야 했던 처리기의 개발을 취소했다. 그것은 기술의 실패가 아니라 물리의 장벽을 인정한 일이었다. 두 배 빠르게 몰린 칩은 네 배의 전력을 요구했고 그저 녹아 버렸다. 삼십 년 이어진 진동수의 경주는 하루 만에 끝났고, 그와 함께 상자에 적힌 수로 기계를 가늠하던 버릇도 끝났다.
주기 자체는 클럭 신호의 두 모서리 사이의 사이이며, 칩의 맞물린 모든 부분이 한꺼번에 뒤집히는 바로 그 걸음이다. 그 역수가 진동수이고, 그래서 오 기가헤르츠에서 한 주기는 나노초의 십분의 이만큼 이어진다. 그 동안 빛은 여섯 센티미터를 가고, 구리 배선을 따르는 신호는 그보다도 덜 간다 — 칩의 너비보다 덜.
01 · 정의
주기는 클럭 신호의 주기, 곧 칩의 맞물린 요소들이 함께 상태를 바꾸는 같은 방향의 두 모서리 사이의 사이다. 기계 주기는 처리기가 끝맺은 동작 하나를 해내는 데 드는 온전한 수의 주기이며, 흐름선 기계에서는 뒤집힌 잣대가 그 자리를 차지한다 — 명령어 하나당 주기의 수, 그리고 그 역수가 다시 한 주기에 몇 개의 명령어가 흐름선을 떠나는지를 말해 준다.
한 주기의 길이를 정하는 것은 자연이 아니라 칩 위의 배선이다. 두 플립플롭 사이의 가장 느린 길보다 짧아서는 안 되며, 플립플롭 자체의 늦음과 매개변수가 흩어질 여유까지 넣어야 한다. 여기서 설계자의 익은 수가 나온다 — 긴 논리의 길을 흐름선의 두 단으로 자르는 것. 주기는 반으로 줄고 진동수는 두 배가 되며, 명령어는 이제 계단을 온통 오른다.
그러나 진동수를 가두는 것은 논리가 아니라 전력이다. 움직이는 소비는 진동수와 함께, 또 전압의 제곱과 함께 자라고, 회로가 높아진 진동수에 대려면 전압을 올려야 한다. 그래서 열은 대략 진동수의 세제곱처럼 가고, 이 세제곱의 매임 위에서 기가헤르츠의 경주는 넷 언저리에서 멈췄다.
끝으로 주기는 길이가 한결같지 않은 단위다. 전력 관리는 짐과 온도에 맞추어 진동수를 초당 수백 번 바꾼다. 그래서 주기의 수로는 지난 시간을 가늠할 수 없지만, 해낸 일은 가늠할 수 있다. 주기 계수기는 초가 아니라 셈의 걸음을 세며, 바로 거기에 참된 값어치가 있다.
미끄럼쇠로 진동수를 몰며 서로 반대편으로 갈라지는 두 곡선을 지켜보라. 초록은 신호가 한 주기에 갈 수 있는 거리다. 진동수가 높을수록 그 길은 짧고, 오 기가헤르츠에서는 칩 자체보다 작아진다. 진홍은 기억 장치로의 왕복이 주기로 얼마인가다. 나노초로 잰 그 늦음은 거의 변하지 않으니, 주기로는 늘어나기만 한다.
일을 단으로 자르며 설계자는 주기를 줄이지만, 명령어 하나는 이제 그 계단을 온통 오르고 제 늦음은 줄기는커녕 늘어난다. 이득은 단들이 서로 다른 명령어로 차 있을 때에야 나타나며, 갈림을 잘못 내다보면 흐름선을 통째로 비워야 한다 — 깊을수록 비싸게 친다.
02 · 환산
진동수, 주기, 일
진동수나 주기의 길이를 넣으면 카드가 역수와, 한 주기에 신호가 가는 길과, 기억 장치 접근의 값을 주기로 보여 준다. 첫 갈래는 뜻매김대로 정확하고, 둘째는 한 알맹이의 평균에 기대며, 셋째는 오늘날 기억 층계의 흔한 늦음에 기댄다.
배선을 따르는 신호의 속도는 빛 속도의 십분의 육으로 잡았다. 카드의 잔 설정에서 절반으로 바꿀 수 있다.
진동수로 견줄 수 있는 것은 같은 알맹이뿐이다. 명령어 하나당 주기의 수가 짜임에 따라 몇 곱절씩 다르기 때문이다. 어떤 기계는 한 주기에 명령어 넷을 집고, 다른 기계는 겨우 하나를 집는다. 바로 그래서 기가헤르츠의 수는 광고에서 물러났고, 그 자리에 이제 주기가 아니라 해낸 일을 재는 시험 묶음이 들어왔다.
| 값 | 비고 | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · 크기의 차수
로그 눈금: 한 주기에서 배분기의 시간 창까지04 · 측정 기기
무엇이 주기를 정하고 무엇이 그것을 세는가
주기의 샘은 수정 조각이며, 보통 몇십 메가헤르츠에서 천만분의 일쯤의 정확도로 떨린다. 칩 위의 기가헤르츠는 거기서 오는 것이 아니라 이 기준 진동수를 곱해 얻는다. 그리하여 기계 전체의 한결같음이 쌀알만 한 광물 조각에서 물려받아진다.
위상 고정 회로는 발진기의 나뉜 진동수를 기준과 견주어 위상이 겹칠 때까지 고른다. 나누는 수를 바꾸면 진동수는 돌아가는 중에 바뀐다. 바로 그것이 전력 관리로 하여금 쉴 때 주기를 몇백 메가헤르츠까지 낮추고, 열 여유가 있는 몇 초 동안 터보로 들어 올리게 한다.
알맹이 안에는 주기, 끝맺은 명령어, 은닉 기억의 빗나감, 잘못 내다본 갈림을 세는 레지스터들이 앉아 있고, 돌아가는 프로그램에서 곧바로 읽을 수 있다. 이 수들에서 명령어 하나당 주기의 수가 나온다 — 코드가 어떤 칩에 얼마나 잘 앉았는지를 재는 유일하게 정직한 잣대다.
주기 자체를 보려면 모서리를 몇 피코초의 분해능으로 붙잡는 기구가 있어야 하고, 같은 기구가 진동수를 더 올릴 수 없게 하는 것들도 보여 준다 — 위상의 떨림, 칩의 여러 모서리에 신호가 고르지 않게 닿음, 긴 선에서 모서리가 주저앉음이다.
05 · 표기 규칙
주기와 헤르츠는 같은 것이 아니다
진동수는 헤르츠로 적고, 메가와 기가에서는 접두어를 큰 글자로 쓴다. 주기의 수는 아무 단위도 없이 온전한 수로 적는다. 주기는 SI 단위가 아니기 때문이다. 성능 지표는 큰 글자로, 점 없이, 어느 알맹이의 것인지 밝혀 적는다. 진동수와 성능을 한 양에 섞는 것은 허락되지 않는다.
첫째 적기는 서로 다른 두 양을 섞는다. 주기의 수는 무차원이고 헤르츠는 진동수를 잰다. 둘째는 접두어 글자의 크기를 어기는데, 메가와 기가에서는 그것이 반드시 지켜져야 한다. 셋째는 명령어당 주기가 몇 곱절 다른 짜임을 진동수로 견주며, 그런 견줌에서는 아무것도 따라 나오지 않는다. 넷째는 변하는 양을 한결같은 것으로 삼는다.
06 · 이웃 단위
곁에는 같은 일을 다른 쪽에서 재는 단위들이 서 있다. 신호 자체의 진동수로서의 헤르츠, 초당 뜬 소수점 연산의 수, 그리고 한 주기에 떨어지는 명령어의 수다. 진동수와 흐름선의 됨됨이만 알면 모두 서로에게서 따라 나온다.
Simetrium의 자료표 가운데 곁에 있는 것은 헤르츠, 진동수를 주는 것, 초 그리고 그것의 분수 접두어, unix time, 거기서도 한계를 정하는 것은 기계 낱말이며, 그리고 비트 s 바이트, 한 주기가 나르는 것을 재는 데 쓰인다.
07 · 역사 부문
삼십 년의 경주와 하루의 취소
한 칩에 담긴 첫 처리기가 돌던 진동수를 오늘의 칩은 마이크로초의 나머지 안에 지나간다. 그리고 명령어 하나에 여덟 주기를 썼다. 그때 기계 주기는 글자 그대로의 뜻이었다 — 명령어를 읽고, 풀고, 자료를 가져오고, 셈하고, 적는다. 각 단이 제 주기를 가져갔고, 모두 엄격히 차례로 갔다.
단들이 서로 다른 명령어를 한꺼번에 다루기를 익히자 익은 잣대가 부서졌다. 명령어는 여전히 다섯 주기를 갔지만 흐름선에서는 매 주기 하나씩 나왔다. 셈을 뒤집어 명령어당 주기를 말할 수밖에 없었고, 좋은 기계에서는 그것이 하나 아래로 내려갔다 — 곧 한 주기에 하나보다 많은 명령어가 끝맺는다.
서른한 단의 흐름선을 가진 짜임은 진동수를 위해 세워졌고 열에 부딪혔다. 약속된 십 기가헤르츠는 책상 상자에서는 생각할 수 없는 식힘을 요구했다. 일은 접혔고 업계는 여러 알맹이로 돌아섰다 — 그것이 더 나아서가 아니라, 소비의 세제곱 자람이 다른 길을 남기지 않아서였다.
오늘의 알맹이에는 하나의 진동수가 없다. 쉴 때는 몇백 메가헤르츠로 내려가고, 짐을 지면 오 기가헤르츠로 올라가 열 여유가 버티는 동안 그것을 지킨다. 카드의 수는 좋은 조건에서의 약속이 되었고, 그것으로 기계를 견주는 일을 만드는 이도 평하는 이도 그만두었다.
재는 도중에 길이가 바뀌는 단위
주기는 재는 이에게 불편하게 놓여 있다. 길이를 정하는 것이 표준이 아니라 칩 위의 배선이며, 같은 처리기에서도 초당 수백 번 바뀐다. 전력 관리가 진동수를 짐과 온도에 맞추기 때문이다. 그래서 주기 계수기는 시간을 재는 데 쓸모가 없다. 밖에서는 시계처럼 보여도, 그것을 믿는 프로그램은 진동수가 움직인 만큼 어긋난다.
그러나 주기가 태어난 그 일에는 어떤 시간 단위보다 잘 맞는다. 주기를 세며 우리가 재는 것은 지속이 아니라 셈일의 양이다. 그래서 명령어당 주기의 수는 진동수가 어떻게 바뀌어도 견줄 수 있게 남는다 — 그것은 코드가 칩에 얼마나 잘 앉았는지를 말하지, 몇 초가 지났는지를 말하지 않는다.
목록 · 측정 단위
양마다 하나의 자료표
SI 기본단위 일곱, 고유한 이름을 가진 유도단위 스물둘, 그리고 그것 없이는 기술도 달력도 굴러가지 않는 계 밖의 양들.