이 글은 CrashCourse ComputerScience강의를 제멋대로 정리한 글입니다.
정확하지 않은 정보가 있을 수 있습니다.
첫 강의에서 20세기 초반부까지 컴퓨터의 역사에 대해 살펴봤다.
계전기
tabulating machines 같은 특수목적장치는 수동으로 이루어지던 작업을 자동화하면서 정부와 사업에 거대한 이익을 가져왔다. 그러나 사회 시스템 규모는 예측 불가능할 정도로 계속 커졌다. 20세기 초 세계 인구는 거의 두 배가 되었다. 세계 무역과 운송 네트워크는 서로 연결되었다. 기술, 과학 수준이 높아졌고, 데이터는 폭발적으로 늘어났다. 컴퓨터는 미래 혁신을 위한 발판을 마련했지만 전기 기계식 컴퓨터는 유지 보수 비용이 많이 들고 오류가 발생하기 쉬워졌으며 크기 또한 거대해졌다.
가장 크기가 큰 전기식 기계 컴퓨터 중 하나는 2차 세계대전 중 IBM이 동맹군을 위해 1944년 개발한 Harvard Mark I이었다. 마크1은 아주 복잡(76만 5천개의 부품, 3백만 개의 연결 장치, 500마일의 전선)하게 구성되어 있었다. 이 기술의 가장 초기 용도는 맨하탄 프로젝트에 대한 시뮬레이션을 실행하는 것이었다. 이 거대한 전자 기계의 두뇌(The brains of these huge electron-mechanical)는 계전기relays: electrically-controlled mechanical switches(전류의 유무에 따라 회로를 여닫는 장치)였다.
CrashCourse Youtube Channel - 계전기란 이렇게 생긴 모양이다.
계전기 안에는 제어선Control wire이 회로가 닫힐지, 열릴지를 결정했다. 제어선은 연결 안족 내부 코일선과 연결된다. 전류가 코일로 흐를 때 → 전자기장이 만들어지고 → 차례로 금속 부분이 릴레이 안쪽으로 들어오면서 금속 암을 잡아 당겨 회로를 닫고 완성한다. 비슷한 예로 수도꼭지가 있다. 제어선은 수도꼭지의 손잡이와 같다. 수도꼭지를 틀면 수도관을 통해 물이 나오고, 손잡이를 잠그면 물은 멈춘다. 계전기도 같은 원리다. 다만 물 대신 전기가 흐를 뿐이다.
CrashCourse Youtube Channel
조절 가능한 이 회로는 다른 회로에 연결할 수 있다. 혹은 모터에 연결하거나 홀러리스Hollerith가 만든 tabulating machine처럼 기어에 카운트를 증가시킬 수도 있다. 불행히도 계전기 안에 있는 기계적 팔mechanical arm은 무거웠다. 그래서 열린 상태와 닫힌 상태 사이에서 즉시 이동할 수 없었다. 1940년대 성능 좋은 계전기는 1초에 50번 앞뒤로 왔다 갔다 할 수 있었다. 이 정도로는 방대하고 복잡한 문제를 해결하기에는 충분하지 않았다. Harvard Mark I은 초당 3개의 덧셈이나 뺄셈을 할 수 있었다. 곱셈은 6초 나눗셈은 15초가 걸렸다. 그리고 삼각함수나 더 복잡한 계산은 1분이 넘게 걸렸다. 또한 계전기는 전환 속도가 느릴 뿐 아니라 마모라는 한계가 있었다. 움직이는 모든 기계는 시간이 지날수록 닳는다. 완전히 고장나기도, 느려지기도, 아무튼 믿을 수가 없다. 또한 계전기 수가 늘어날수록 실패확률 역시 늘어난다. Harvard Mark I은 약 3500개의 계전장치를 갖고 있었다. 만약 계전장치의 수명이 10년이라면, 매일 평균 한 개의 고장난 계전기를 바꿔야 하는 것이다. 만약 당신이 매우 중요하고 복잡한 계산을 하고 있다면, 이것은 아주 골치 아픈 문제다.
또한 이 기계는 크고 어둡고 따뜻한 기계는 곤충을 끌어들였다. 1947년 11월 Harvard Mark II의 운영자는 고장난 계전기에서 죽은 나방을 꺼냈다. 그때부터 우리는 컴퓨터에 문제가 생겼을 때 "버그가 있다"고 말하기 시작했다.
그랬거나 말거나.
진공관
컴퓨터가 더 발전하기 위해 전기 기계식 릴레이보다 빠르고 신뢰할 수 있는 대안이 필요한 것은 분명했다. 그리고 다행히 대안은 이미 있었다. 1904년 영국 물리학자 존 암브로스 플레밍John Amborse Fleming은 새로운 전기 구성 요소를 개발했다. 열 이온 밸브라고 불리는 것인데 밀페된 유리전구 안에 두 개의 전극을 가둔 것이다. 이것이 최초의 진공관이다. 하나의 전극이 가열되면 전자를 통해 방출했다. 이 과정을 열 이온 방출이라 불렀다. 다른 전극은 이 전자를 끌어당길 수 있다. 전기의 흐름을 만들지만 양극으로 충전된 상태에서만 진행됐다. 음극이거나 중성 전하를 띠면 전자는 더이상 진공을 통해 끌어당겨지지 않았다. 그러면 전류는 흐르지 않는다.
한쪽으로만 전기가 흐르도록 하는 전자부품을 다이오드라고 부른다. 그러나 우리가 정말 필요했던 것은 전기의 흐름을 껐다 켤 수 있는 스위치였다. 1906년 미국 발명가 리 드 포레스트Lee de Forest는 플레밍이 고안한 두 개의 전극 사이에 세 번째 제어전극을 추가했다. 제어 전극에 양전하를 더하면, 이전과 같이 전류가 흐른다. 그러나 제어전극에 음전하가 주어지면 전자의 흐름을 막았다.
따라서 제어선을 조작하면 회로를 열거나 닫을 수 있었다. 이것은 계전기와 거의 비슷하다. 그러나 중요한 것은 진공관은 움직이는 부품이 없다는 것이다.
말하자면 마모가 적고, 초당 수천 번 상태를 바꿀 수 있다는 것이다.
Lee de Forest가 발명한 최초의 진공관
이 3극 진공관은 거의 반세기동안 라디오, 장거리 전화와 많은 전자 기계들의 기본이 되었다. 여기서 알아야 할 것은 이 진공은 완벽하지 않았다는 사실이다. 부서지기 쉬웠고, 전구처럼 고장이 났다. 그렇지만 전기 계전기보다는 큰 발전이었다. 또한 처음에 진공관은 비쌌다. 컴퓨터는 수백, 수천 개의 전기 스위치가 필요했다. 그러나 1940년대 진공관의 비용과 신뢰성은 상당히 나아져 실현 가능했다. 최소한 정부와 같이 재력을 가진 사람들은 컴퓨터에 진공관을 사용할 수 있었다는 말이다.
이것은 전자 기계식 컴퓨터에서 전자식 컴퓨터로의 전환을 의미한다.
최초로 진공관이 큰 규모의 컴퓨팅에 사용된 것은 Tommy Flowers라는 기술자가 개발한 콜로서스Colossus Mk 1이었다. 이 기계는 1943년 12월에 완성 됐다. 콜로서스는 영국에 있는 브레틀리 공원에 설치되어 나치 통신을 해독했다.
이보다 2년 앞서 컴퓨터의 아버지라 불리는 앨런 튜링은 이곳에 Bombe라는 전자 기계를 만들었다. Bombe는 나치의 애니그마 코드를 해독하기 위해 만들었다. Bombe는 기술적으로 컴퓨터가 아니다.
아무튼 나중에 더 알아보기로 하고.
클로서스는 최초 버전은 1600개의 진공관을 지녔다. 코드를 해독하기 위해 총 열개의 Colossi가 만들어졌다. 콜로서스는 최초로 프로그래밍이 가능한 전자 컴퓨터로 여겨진다.
프로그래밍은 오래된 학교의 전화 교환대와 같은 일종의 플러그보드에 수백 개의 선을 꽂으면서 진행된다. 올바른 작업을 수행하도록 컴퓨터를 설정하려면 그래야 한다. 따라서 그 기계는 프로그래밍이 가능하면서도 특정한 계산을 수행할 수 있도록 구성되어야 했다.
전자식 수치 적분 계산기The Electronic Numerical Integrator and Calculator(줄여서 애니악ENIAC)은 몇 년 후 펜실베니아 대학에서 1946년 완성되었다. 존 모클리John Mauchly와 프레스퍼 에커트J.Presper Eckert에 의해 고안된 이 컴퓨터는 세계 최초의 진정한 범용으로 프로그래밍이 가능한 전자식 컴퓨터였다.
애니악은 초당 5000자리 숫자의 덧셈-뺄셈을 할 수 있었고, 이전에 나온 기계보다 훨씬 빨랐다. 10년 동안 작동했고 그 시점까지 전체 인류가 할 수 있는 계산보다 더 많이 한 것으로 예측됐다. 그러나 진공관이 많았기 때문에 고장이 잦았다. 애니악은 보통 고장나기 전 반나절 정도만 작동했다.
트랜지스터
1950년대에는 진공관으로 설계된 컴퓨터조차 한계에 다다랐다
. 1955년 완성된 미 공군의 AN/FSQL-7컴퓨터는 "SAGE"방공 컴퓨터 시스템의 일부분이었다.
속도와 안정성을 개선하고 가격과 크기를 줄이기 위해 급진적인 전자 스위치가 필요했다. 1947년 벨 연구소 과학자 존 바든John Bardden, 월터 하우저 브래튼 (Walter Houser Brattain) 윌리엄 쇼클리William Shokley는 놀랍게도 트랜지스터를 발명했고 이로 인해 새로운 시대가 탄생했다.
1948년 벨연구소(왼쪽부터 존 바딘, 윌리엄 쇼클리, 월터 브래튼) (자료: 위키피디아)
최초의 트랜지스터
트랜지스터의 물리학은 양자 역학에 의존하기 때문에 매우 복잡하다. 간단하게 기본만 짚어보자면, 트랜지스터는 진공관이나 계전기와 비슷하다. 제어선을 통해 개폐할 수 있는 스위치다. 일반적으로 트랜지스터는 두 개의 전극이 있는데, 어떤 물질로 분리되어 있다. 그 물질은 전기를 통하게 하거나 통하지 않게 할 수 있다. 바로 '반도체'다.
제어선이 게이트 전극에 닿으면 게이트의 전하를 변화시킨다. 그러면 위에서 수도꼭지에 비유했던 것처럼, 반도체 물질의 전도도가 조작되어 전류를 흐르게 하거나, 멈출 수 있다.
벨 실험실의 첫 번째 트랜지스터조차 엄청난 징조를 보여줬다. 무려 1초에 만 번 스위치를 끄고 켤 수 있었다. 나아가 유리로 만들어진 진공관과 달리 트랜지스터는 고체 상태의 고형물질로 만들어졌다. 거의 즉각적으로 트랜지스터는 가장 작게 만들 수 있는 진공관이나 계전기보다 더 작게 만들 수 있었다. 이것은 더 작고, 더 저렴한 컴퓨터를 만들 수 있게 되었다는 말이다.
IBM608
이 컴퓨터는 최초로 트랜지스터로 가동하여 상용으로 쓸 수 있는 컴퓨터다. 3000개의 트랜지스터를 포함하고 1초당 4500회의 덧셈과 대략 80개의 곱셈 또는 나눗셈을 할 수 있었다. IBM은 모든 제품을 모두 트랜지스터로 전환했다. 트랜지스터로 만들어진 컴퓨터를 사무실에 궁극적으로는 (드디어!) 집에 도입했다. 오늘날 컴퓨터는 50나노미터보다 작은 트랜지스터를 사용한다. 참고로 종이 한 장은 대략 10만 나노미터두께다. 현대 트랜지스터는 작을 뿐 아니라 초고속이다. 1초에 수백만 번 상태를 전환하고, 수십 년 동안 쓸 수도 있다.
많은 트랜지스터와 반도체 개발이 캘리포니아의 샌프란시스코와 샌조스 사이의 산타 클라라 밸리Santa Clara Valley에서 이루어졌고 일반적으로 반도체를 만드는 데 실리콘을 사용했다. 이 지역은 곧 실리콘 밸리라고 불리기 시작했다.
트랜지스터를 개발한 윌리엄 쇼클리조차 실리콘밸리로 이사해 Shockley Semiconductor를 세웠다. → 그 직원들이 후에 Fairchilde Semiconductors를 창업하고, 그 직원들이 → 인텔을 설립했다. 알다시피 인텔은 세계에서 컴퓨터 칩을 만드는 가장 큰 회사다.
계전기 → 진공관 → 트랜지스터에 이르기까지의 과정을 살펴봤다.
전기를 켜고 끌 수 있는 속도를 정말 정말 정말(really really really)빠르게 할 수 있다. 그런데 어떻게 그것을 이용할 수 있을까?
To be continue !
'Computer Science' 카테고리의 다른 글
이진수로 숫자와 문자 나타내기 (0) | 2020.09.06 |
---|---|
#3.부울연산 boolean logic & logic gates (0) | 2020.09.06 |
#.1 초기 컴퓨터 Early Programming (0) | 2020.09.06 |