[[파일:external/ed-thelen.org/vs-cdc-6600-.jpg|width=667]] [목차] == 개요 == '''최초의 [[슈퍼컴퓨터]]''' [[1964년]], [[미국]] CDC(Control Data Corporation) 사에서 개발한 컴퓨터이다. 애당초 이 컴퓨터는 개발 당시엔 [[슈퍼컴퓨터]]라는 분류가 없어 [[메인프레임]]으로 분류되었지만, 기존 컴퓨터 속도의 3배를 뛰어넘을 만큼 월등했다. 속도는 약 1메가플롭스(MFlops). 이 컴퓨터가 [[슈퍼컴퓨터]]의 시작으로 간주되는 건, 차별화된 성능과 구조를 바탕으로 대규모의 연산을 일반 컴퓨터들보다 최대한 빠르게 한다는 '''슈퍼컴퓨터의 방향성을 제시'''했기 때문이라 볼 수 있을 것이다. 또한 이 컴퓨터의 구조는 [[1980년]] 발표된 [[RISC]] 아키텍쳐와 매우 비슷했다고 한다. [[RISC]]가 영향을 받았는지는 모르겠지만, RISC의 원형으로도 볼 수 있는 셈이다. == 개발과 영향 == 시모어 크레이 주도로 개발되었다. CDC 직원들이 기존의 매우 느린 컴퓨터의 속도에 빡쳐서 [[답내친|답답해서 내가 만든다]]며 시작했다는 카더라가 있다. CDC의 컴퓨터 라인업으로 출시된 CDC 1604가 빠른 성능을 제공해 크게 히트를 쳤고, [[시모어 크레이]]와 개발진들은 "CDC 1604보다 50배 빠른 컴퓨터를 만들자!"고 계획을 세운다. 이들의 목표는 5년 내에 세계에서 가장 빠른 컴퓨터를 만드는 것이었으며, 1년마다 목표치의 1/5씩 성능을 높여나가는 것을 목표로 하고 있었다. 그러나 크레이는 개발하면서 당시 [[반도체]]에 쓰였던 [[게르마늄]] 소재는 온도 문제에서 [[답이 없다]]는 것을 알게 되었고, 시중에 [[실리콘]] 소재 반도체가 새로 나오자 그것을 과감하게 채택했다. 이로써 기존 컴퓨터보다 비약적인 성능 향상을 이룰 수 있었다. 허나 회사의 요구는 비즈니스 컴퓨터였고, 개발팀은 성능을 계속 올리려 했다. 경영진의 간섭으로 많은 차질이 있었고, 크레이는 결국 사장과 1대1 대면을 한 끝에 CDC 3600이라는 비즈니스 컴퓨터로 타협하는 대신 [[위스콘신]] 주 치파와에 연구소를 차리고 경영진은 간섭하지 않는 것으로 매듭지었다. 그렇게 해서 연구소에서의 2년 간 개발은 순조롭게 진행되었고, [[1964년]] 그 부산물인 CDC 6600이 세상에 발표되었다. CDC 6600은 당시 제일 성능이 좋았던 [[IBM]]의 IBM 7030보다 속도가 3배 빨랐으며, 최초로 메가플롭스라는 단위를 돌파하였다. CDC 6600 발표 1주 후 당시 IBM의 CEO였던 토마스 J. 왓슨은 직원들에게 메모를 전달했는데, 그 메모는 "IT업계를 선도하는 우리가 어떻게 선두를 빼앗길 수 있는지 이해를 못 하겠다"는, 쉽게 말해 업계 선두를 빼앗긴 것에 대해 직원들을 질타하는 내용이었다. --아마도 IBM이 한국 기업이었다면 내리갈굼의 수위가 상상을 초월했을 것이다.-- 총 100여대 이상이 판매되었으며 이중 절반은 [[핵실험]]에 쓰였다. 처음 인도된 데가 [[로스 앨러모스]]의 국립연구소였고 여기서는 [[핵]]을 연구했다. 이외에도 [[CERN]], [[버클리 대학]]의 방사선 연구소 등등 여러 시설에 인도되었다. == 구조 == 당시 컴퓨터의 보편적인 구조는 하나의 [[CPU]]가 모든 시스템을 관장하는 것이었지만, CDC 6600의 CPU는 산술과 논리만 처리하도록 하였다. 다른 작업들은 유휴 상태의 메모리에 배당시켰다. 그 결과 모든 일을 처리해야 할 만큼 [[크고 아름다운|크고 아름다워야]] 했던, 게다가 단순히 크기뿐만 아니라 구조가 매우 복잡하기 그지없었던 다른 CPU들과 대비해 CDC 6600의 CPU는 크게 간단해졌고 작아졌으며, 왠만해서는 부하가 잘 걸리지 않게 되었다. 게다가 속도는 10MHz로 당대 CPU들보다도 높은 클럭을 갖고 있었고, 이 때문에 최초로 MFlops의 벽을 돌파하게 된다. 하지만 CDC 6600의 CPU는 제한된 수의 간단한 명령어만 실행시킬 수 있었다. CPU의 부하 방지를 위해서였으며, 다른 명령어들은 별도의 단순한 프로세서를 두고 거기에 구현했다. 이 구조는 후대 발표된 [[RISC]]와 일치한다. --RISC가 나오기도 전에 RISC 구조를 채택한 초 미래적인 컴퓨터-- 중앙처리를 담당하는 센트럴 프로세서와 주 메모리는 60비트워드의 길이를 가졌고, CPU의 레지스터는 범용 60비트 레지스터 X0~X7, 18비트 주소 레지스터 A0~A7, 18비트 증분 레지스터 B0~B7로 구성되어 있다. CPU에서는 산하 프로세서를 통한 입출력에 대한 지침이 없다고 한다. CPU, 프로세서를 병렬구조로 둠으로써 동시에 더 많은 명령어 처리가 가능했다. CPU 안에는 10개의 연산 유닛[* 부동소수점 곱하기/나누기/추가, 정수(long) 추가, 증분, 시프트, 분기, 불 연산. 부동소수점 곱하기 유닛과 증분 유닛은 각각 하나씩 더 있었으며 증분 유닛은 메모리 저장/불러오기 기능을 겸했다.]이 병렬로 연결되었다. 이는 [[슈퍼스칼라]] 구조를 처음으로 시도한 것이다. 다만 당시에 슈퍼스칼라니 뭐니 그런 구조는 있을 리가 만무했고, 당시엔 그냥 독특한 시도 정도로만 취급받았다고... 구조 상 부동소수점 연산 유닛이 4개나 되는 바람에 부동소수점 연산 관련해서 매우 큰 강점을 보였다. 메모리를 사용할 때 사용자 프로그램은 주 메모리의 인접한 영역만을 사용하도록 제한되었으며 실행 프로그램이 액세스하는 메모리의 부분은 사용자 프로그램에 액세스할 수 없는 주소 레지스터와 필드 레지스터에 의해 제어되었다. CPU를 보조하기 위해 10개의 주변 프로세서(PP)가 도입되었다. 각각이 간단한 컴퓨터 1대씩의 성능을 가졌으며, 입출력을 제어하고 운영체제를 실행했다. 이중 하나는 프로그램과 시스템을 제어할 수 있었다고 한다. 각 12비트 워드 4096개가 포함되어 있으며 바이트 주소 지정 명령이 전혀 없어서 코드를 일일이 작성해 옮겨야 했다. 매우 큰 워드와 비교적 적은 양의 메모리로 인해 프로그래머는 비트 수준에서 워드에 데이터를 채워 메모리를 절약하는 경우가 많았다고. 흥미로운 것은 워드가 크고, 워드 당 10자를 사용하기 때문에 한 번에 한 단어 씩 처리하는 것이 더 빠르다는 것이다. CDC 6600으로 [[코볼]]을 돌릴 경우 이 방법을 이용해 빠른 처리를 할 수가 있다. 실행되었던 명령어는 스택(stack)이라 불리는 8워드짜리 캐시에 저장되었다. 냉각재로는 [[프레온 가스]]를 사용했다. == 기타 == * 운영체제에 엮인 비화가 있는데, 본래 출고 당시 CDC 6600은 COS라는 운영체제를 기본 탑재했고, SIPROS라는 운영체제를 선택 가능했다. 카탈로그상으로는 SIPROS가 더 강력했는데, 문제는 SIPROS는 개발 중이었다. 그러다 결국 [[베이퍼웨어]]가 되더니 개발 취소 크리를 맞고 만다. [[분류:컴퓨터]]