The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Computer Science/Crash Course

Electronic Computing: Crash Course Computer Science #2

Millie 2021. 10. 2. 14:44

지난 시간, Early Computing에서는 20세기 초반까지의 컴퓨터 역사를 알아보았다. Tabulating machine과 같은 특수 목적 장치는 수동으로 이루어졌던 작업들을 자동화하여 정부와 사업에 많은 이익을 가져다주었다. 하지만 사회 시스템 규모는 예측 불가능할 정도로 커져갔고, 인구도 급격히 늘었으며, 인간의 지적 수준도 매우 높아졌다. 곧 작은 사이즈의 기계적인 컴퓨터가 방 하나 크기의 거대한 기계로 변화하였는데, 이것은 미래의 혁신을 위한 무대가 되었다.

 

Harvard Mark I

  • 가장 크기가 큰 전기식 기계 컴퓨터(electro-mechanical computer)중 하나
  • 2차 세계대전 중 IBM이 동맹군을 위해 1944년 개발
  • 765,000개의 부품, 3백만개의 연결, 500마일의 전선으로 구성됨
  • 이 내부 기계들이 동시에 움직이는 것을 유지하기 위해서 50-foot(약 15m)에 달하는 축을 작동시키는 데 5마력의 모터로 작동되는 기계를 사용함
  • 이 기술의 가장 초기의 용도는 Manhattan Project에 대한 시뮬레이션을 실행하는 것
  • 1초당 3개의 덧셈/뺄셈 가능, 곱셈은 6초, 나눗셈은 15초, 삼각함수같이 더 복잡한 계산은 1분 이상 소요됨

Relays : Electrically-controlled mechanical switches

  • 위와 같은 거대한 컴퓨터의 뇌라고 할 수 있는 핵심은 바로 relay였다. 한국어로는 계전기(전류의 유무에 따라 회로를 여닫는 장치)라고 할 수 있다.
  • 회로(circuit)가 열릴지 닫힐지를 제어선(control wire)이 결정한다. 제어선은 연결 안쪽의 내부 코일선과 연결된다.
  • 전류가 코일에 흐를 때, 전자기장(electromagnetic field)이 만들어진다.
    • 이 전자기장은 relay 안의 금속 팔(metal arm)을 끌어당긴다.
    • 회로를 닫히게 하고, 분리되어 있던 회로가 연결된다. (전류가 흐르게 되는 것)
  • relay를 수도꼭지에 비유해서 생각해 보면 이해하기 쉽다.
    • 제어선은 수도쪽지의 손잡이, 물이 전기라고 생각해 보자.
    • 수도꼭지를 틀면, 수도관을 통해 물이 나오고, 수도꼭지를 잠그면 물은 멈춘다.

The limitation of relays and the origin of "Bug"

  • 전환 속도가 느렸다 :  당시 relay 안에 있던 mechanical arm은 너무 무거웠다. 그래서 열린 상태에서 닫힌 상태 사이로 즉시 이동할 수가 없었다. 1940년대 성능 좋은 relay는 1초에 50번씩 앞 뒤로 flick 할 수 있었다. 꽤 빨라 보이지만, 복잡한 문제를 해결하기엔 부족했다.
  • 마모 : 시간이 지날수록 닳고 고장남.(wear & tear) 움직이는 모든 기계는 시간이 지날수록 닳는다.
  • relay의 갯수가 늘어나면 실패(고장) 확률도 늘어난다. Harvard Mark 1은 3500개의 relay를 가지고 있었다
  • 만약 relay의 수명이 10년이라고 가정하면 매일 평균 1개의 고장난 계전기를 바꿔야 하는 것. 이건 큰 문제가 될 수 있다. 특히 중요하고 며칠이 걸리는 계산을 하고 있는 중이라면 더 그렇다.
  • 또한 크고, 어둡고, 따뜻한 기계는 곤충을 끌어들였다. ⇒ Bug라는 말의 탄생. 1947년 11월 Harvard Mark II의 운영자는 고장난 relay에서 죽은 나방을 꺼냈다. Grace Hopper는 이런 말을 남겼다. "우리는 이제부터 컴퓨터에 어떤 문제가 생기면, '버그가 있다'고 말했다."

즉, 컴퓨팅이 더 발전하려면 electro-mechanical relay보다 더 빠르고 믿을 만한 대안이 필요한 것이 분명했다.

Thermionic Valve

  • 1904년 영국 물리학자인 John Amborse Fleming은 새로운 electrical component인 열 이온 밸브를 개발했다. 밀폐된 유리 전구 안에 두 개의 전극을 넣은 것이다. 이것은 최초의 진공관이었다.
  • 이것은 하나의 전극이 가열되면 전자를 방출했다. 이것을 thermionic emission(열 이온 방출)이라고 했다.
  • 다른 전극은 이 전자를 끌어당길 수 있다.
  • 전기의 흐름을 만들지만, 양극으로 충전된 상태에서만 진행되었다.
  • 음극이거나 중성 전하를 띠게 되면 전자는 더 이상 진공을 통해 끌어당기지 않는다. 그러면 전류가 흐르지 않게 된다.

Triode Vacuum Tubes

  • 1906년 미국인 발명가 Lee de Forest는 Fleming의 디자인에 두 개의 전극 사이에 세 번째 제어 전극(a third control electrode)을 추가했다.
  • 제어 전극에 양전하를 더하면서, 이전과 같이 전류를 흐를 수 있도록 만들었다. 그렇지만 제어 전극에 음전하가 주어지면 전자(electron)의 흐름을 막았다.
  • 즉 제어선을 조작함으로서 회로를 열거나 닫을 수 있었다. 이것은 relay와 같은 원리이지만, 진공관(vacuum tubes)은 움직이는 부분이 없다. 즉 마모가 적었고, 1초에 수천 번 전환이 가능했다.
  • 그래서 이 3극 진공관은 거의 반 세기 동안 라디오, 장거리 전화와 많은 전기 기계들의 기본이 되었다.
  • 하지만 진공관 역시 완벽하진 않았다. 부서지기 쉬웠고, 전구처럼 고장이 났다. 하지만 mechanical relay보다는 큰 발전이었다.

From electro-mechanical computing to electronic computing

  • 진공관은 초기에 비쌌다. 라디오에는 진공관 하나면 충분했지만, 컴퓨터에는 수백 수천개의 전기 스위치가 필요했다.
  • 그렇지만 1940년대, 진공관의 비용과 신뢰성은 상당히 나아져서 실현이 가능했다. 최소한 정부와 같이 재력을 지닌 사람들에게는 컴퓨터에 진공관을 사용할 수 있었다.
  • 이것이 전자 기계식 컴퓨팅에서 전자식 컴퓨팅으로의 전환을 의미한다.

Colossus

  • 최초로 진공관이 대규모의 컴퓨팅에 사용된 것은 Tommy Flowers라는 기술자가 개발한 Colossus Mk 1이었다. 이 기계는 1943년 12월에 완성되었다. Colossus는 영국에 있는 브레틀리 공원에 설치되어 나치 통신을 해독했다.
  • Colossus의 최초 버전은 1600개의 진공관을 가졌고, 코드를 해독하기 위해 총 10개의 Colossi가 만들어졌다.
  • Colossus는 최초로 프로그래밍이 가능한 전자 컴퓨터로 여겨진다.
  • 프로그래밍은 오래된 학교의 전화 교환대와 같은 일종의 plugboard에 수백 개의 wire를 꽂아서 진행되었다. 올바른 연산을 수행하기 위해서는 그런 식으로 셋업 되어야 했다.
  • 이것은 프로그래밍이 가능하면서도, 특정한 계산을 수행할 수 있도록 환경설정 되어야 했다.

ENIAC : The Electronic Numerical Integrator and Calculator

  • 펜실베니아 대학에서 1946년 완성됨
  • John Mauchly & J.Presper Eckert에 의해 고안된 이 컴퓨터는 세계 최초의 진정한 범용으로 프로그래밍이 가능한 전자식 컴퓨터였다.
  • 1초당 5000자리 숫자의 덧셈, 뺄셈이 가능했으며 이전에 나온 기계들보다 훨씬 더 빨랐다.
  • 10년 동안 작동할 수 있었고, 그 시점까지 전체 인류가 할 수 있는 계산보다 더 많이 한 것으로 예측된다.
  • 하지만 진공관의 실패가 많아 ENIAC은 일반적으로 한 번에 약 반나절 동안 작동이 중지되었다.
  • 1950년대에는 vacuum-tube-based computing마저 한계에 이르게 된다.

Inventing of Transistor

속도와 안정성을 개선하고, 가격과 크기를 줄이기 위해 급진적인 전자 스위치가 필요했다.

1947년에, Bell 연구소 과학자 John Bardeen & Walter Brattain & William Shokley 는 "Transistor"를 발명했고, 이로 인해 컴퓨팅의 새로운 시대가 탄생하였다.

트랜지스터의 물리학은 양자 역학(quantum mechanics)에 의존하기 때문에 매우 복잡하다. 그래서 여기선 기본만 깊고 넘어간다.

  • 트랜지스터는 vacuum tube, relay와 비슷하다. 스위치는 control wire를 통해 전력 공급으로 열거나 닫을 수 있다.
  • 전형적으로 트랜지스터에는 두 개의 전극이 있는데, 반도체(semiconductor)로 분리되어 있다. 이것은 전기를 통하게 하기도, 안 통하게 하기도 한다.
    • control wire가 gate electrode에 닿는다 → 게이트의 전하를 변화시키면 반도체 물질의 전도도가 조작되어 전류를 흐르게 하거나 멈출 수 있다. (수도꼭치처럼)
  • 벨 실험실의 첫 번째 트랜지스터는 무려 1초에 만 번이나 스위치를 끄고 켤 수 있었다. 즉 훨씬 더 작고 저렴한 컴퓨터를 만들 수 있게 했다.
  • 1957년 출시된 IBM 608은 최초의 완전히 트랜지스터로 가동하며, 상용으로 쓸 수 있는 컴퓨터이다. 이것은 3000개의 트랜지스터를 포함하고, 1초당 4500회의 덧셈과 80개의 곱셈 또는 나눗셈을 할 수 있었다.
  • 또한 유리로 만들어져 깨지기 쉽고 조심스럽게 매달린 진공관과 달리 트랜지스터는 고체 상태의 고형물질(solid state component)이다.
  • IBM은 곧 컴퓨팅 제품을 모두 트랜지스터로 전환했고, 트랜지스터로 만들어진 컴퓨터를 사무실과 집에 도입했다.
  • 오늘날 컴퓨터는 50 nanometer 크기보다 더 작은 트랜지스터를 사용한다. (참고로 종이 한 장이 100,000 nanometer이다. 종이 두께보다 훨씬 작은 것이다.)
  • 작기만 한 게 아니라, 매우 빠르다. 1초에 수백만 번 상태를 전환하고, 수십 년 동안 작동할 수 있다.

Silicon Valley

  • 많은 트랜지스터와 반도체의 개발이 캘리포니아의 샌프란시스코와 San Jose 사이의 Santa Clara Valley에서 이루어졌고, 일반적으로 반도체를 만드는 데에 실리콘을 사용했다. 그래서 이 지역이 곧 실리콘 밸리라고 알려지게 되었다.
  • Willian Shockley는 실리콘 밸리로 이사가서 Shockley Semiconductor를 세우고 그 직원들이 후에 Fairchilde Semiconductors를 창업하고, 그 직원들은 나중에 Intel을 설립했다. (인텔은 오늘날 세계에서 컴퓨터 칩을 만드는 가장 큰 회사)

마무리

  • Relay > Vacuum tube > Transistor 로의 발전 과정을 알아보았다.
  • 이제 우리는 트랜지스터를 가지고 전기를 켜고 끄는 속도를 정말 빠르게 할 수 있다.
  • 그런데 모터, 기어가 없는데 어떻게 트랜지스터로 계산할 수 있을까? 다음 에피소드에서 알아볼 것이다.

지금은 전자기기의 필수 부품이 된 트랜지스터가 어떻게 발전해 온 것인지를 이 영상을 통해 알 수 있는 시간이었다. 눈에 안 보일 만큼 작지만 컴퓨터의 기반이 되는 트랜지스터와 반도체에 대하여 인식하게 되었다.

소프트웨어와 프로그래밍에 대해서 배우는 것도 흥미롭지만 이런 하드웨어적 부분도 연결지어 배우면 지식이 배가될 것 같다. 애초에 하드웨어라는 기반이 없다면 소프트웨어가 존재하기 어려우니 말이다.

 

Reference : https://youtu.be/LN0ucKNX0hc