본문 바로가기
CS

#2 전자 컴퓨팅

by 프잘백 2022. 2. 22.
728x90

20세기 초반, 'tabulating machines'과 같은 특수목적장치는 수동으로 이루어졌던 작업을 자동화하고 대신 해주면서 정부와 사업에 거대한 이익을 가져다 주었다. 그러나 사회 시스템의 규모는 예측 불가능할 정도로 계속 커졌고, 이에 따라 많은양의 데이터를 처리할 컴퓨터의 크기마저 괴물처럼 커지게 되었다.

가장 크기가 큰 전기식 기계 컴퓨터들 중 하나는2차 세계대전중 IBM이 개발한 'Harvard Mark I' 이었다.

이것은  76만5천개의 부품들, 300만개의 커넥션, 500마일의 전선으로 구성되었다.

이 기술의 가장 초기 용도는 맨하탄 프로젝트의 시뮬레이션이었다.

이 컴퓨터의 뇌는 계전기였다. control wire는 이 계전기의 수도꼭지 역할을 했다. (물 대신 전기를 컨트롤하는..)

하지만 unfortunately, 계전기 안의 기계식 팔은 무거웠다. 그래서 열린 상태와 닫힌 상태 사이에서 즉시 이동할 수 없었다. 1940년대의 성능이 좋은 계전기는 1초에 50번 정도 왔다갔다 할 수 있었다. 이는 방대하고 복잡한 문제를 해결하기엔 충분하지 않은 정도였다.

 

Harvard Mark I은 1초에 3개의 덧셈혹은 뺄셈을 할 수 있었고, 곱하기는 6초, 나눗셈은 15초가 걸렸다. 그리고 삼각함수와 같은 복잡한 계산은 1분이 넘게 걸렸다.

움직이는 모든 기계는 마모되므로 시간이 지날수록 신뢰성이 떨어진다. 또한 계전기의 갯수가 늘어날수록 실패확률 역시 떨어진다. Harvard Mark I은 약 3500개의 계전기를 가지고 있었다.(이는 계전장치가 수명이 10년이라고 한다면, 하루에 하나씩 바꿔야하는 수치다.) 이것은 사용자가 중요한 계산을 하고 있을 때 큰 문제가 된다. 

1947년 11월, Harvard Mark II의 운영자는 고장난 계전기에서 죽은 나방을 꺼냈다. Grace hopper는 '컴퓨터에 문제가 생겼다면 버그가 있다.' 라고 말했다.

 

컴퓨팅이 더 발전하기 위해서는 기계식 릴레이(=계전기)보다 더 빠르고 신뢰할 수 있는 대안이 필요했다.

3극진공관

계전기가 1초에 50번 정도 전환할 수 있었으면 3극 진공관은 1초에 수천번을 전환할 수 있었다. 이 3극 진공관은 거의 반세기동안 라디오, 장거리 전화와 많은 전기 기계들의 기본이 되었다. 하지만 이는 완벽하지 않았다. 부서지기 쉬웠고, 전구처럼 고장이 났다. 그렇지만 전기 계전기보다는 큰 발전이었다.

이것은 전자 기계식 컴퓨터에서 전자식 컴퓨터로의 전환을 의미했다.

 

트랜지스터

1950년대에는 진공관으로 설계된 컴퓨팅조차 한계에 다다랐다.

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

1947년에 벨 연구소의 과학자들은 트랜지스터를 발명했고, 이로 인해 컴퓨팅의 새로운 시대가 탄생했다. 트랜지스터는 제어선이 게이트의 전하를 변화시키면 반도체 물질의 전도도가 조작되어 전류를 흐르게 하거나 멈출 수 있다.

벨 연구소의 트랜지스터는 1초에 약 1만회 전환할 수 있었고 유리처럼 깨지는 재료가 아닌 고체 상태의 고형물질로 만들어졌다. 또한 가장 작게 만들 수 있는 계전기나 진공관보다 더 작게 만들 수 있었다. 이로 인해 훨씬 더 조그맣고 저렴한 컴퓨터를 만들 수 있게 됐다. 1957년 출시된 IBM608은 최초의 완전히 트랜지스터로 가동하여 상용으로 쓸 수 있는 컴퓨터였다. IBM608은 3000개의 트랜지스터로 1초에 4500회의 덧셈과 대력 80개의 곱셈,나눗셈을 할 수 있었다.

IBM 608

 

IBM은 곧 컴퓨팅 제품을 모두 트랜지스터로 전환했고 트랜지스터로 만들어진 컴퓨터를 사무실에, 궁극적으로는 집에 도입했다. 오늘날, 컴퓨터는 50나노미터 크기보다 작은 트랜지스터를 사용한다.(종이 한장의 두께는 10만 나노미터) 또한 1초에 수백만번 전환하며 수십년간 사용 가능하다.

 

Reference: Electronic Computing: Crash Course Computer Science #2 - YouTube

'CS' 카테고리의 다른 글

#4 이진수로 숫자와 문자 나타내기  (0) 2022.02.25
#3 부울 연산과 논리 게이트  (0) 2022.02.23
#1 초기 컴퓨팅  (0) 2022.02.16

댓글