마이크로프로세서, ASIC, 설계방법론의 역사

어제 발견한 Computer History Museum에 재미있는 내용들이 있어서 소개합니다.

공교롭게도 어제가 부울(Boole)이 태어난지 195년째 되는 날이었군요. 컴퓨터를 포함한 모든 논리회로는 부울 연산(Boolean Algebra)을 사용하죠.

이전 글에서 언급했듯, 1970년대에 이미 지금의 마이크로프로세서 설계기술이 거의 완성이 되었습니다.

1979년에 만들어진 M68000 프로세서의 각 기능블록들을 표시해보았습니다. Anceau의 책을 보고 직접 표시해 본 것입니다.

모토롤라 M68000 Die Photo 및 각 기능블록 [크게보기]

공정기술의 한계로 복잡도가 제한되었지만 2000년대에 만들고 있는 프로세서에 비해 그 설계기술은 크게 떨어져보이지 않습니다.

그렇다면 저 당시에는 어떤 방법으로 저런 설계를 했을까요?
지금은 당연시 사용하고 있는 설계방법론, 설계툴은 언제부터 존재 했던 것일까요?

그 해답도 Computer History Museum에서 찾을 수 있었습니다. (1960년에 강대원 박사의 이름도 찾아볼 수 있습니다)

EDA (Electronic Design Automation) 툴은 처음부터 IC를 위해 개발한 것은 아니고, 1950년대 후반부터 IBM에서 연구하기 시작했습니다. 60년대에 Logic Simulator도 개발되고 P&R(Place & Route) 소프트웨어도 만들었다고 합니다.

1967년 Fairchild의 CAD시스템

그리고 1967년에 드디어 게이트어레이와 Standard Cell이 처음 개발되었다고 합니다. 그리고 UC버클리에서 60년대에 SPICE 시뮬레이터도 개발 되었습니다.

당시 EDA툴이 어떤 것인지 또 어떻게 설계를 했는지 궁금해서 자료를 찾다가 발견한 1978 MIT의 VLSI System Design 수업자료로 당시의 모습을 상상해볼 수 있습니다.

Layout: CAD 환경이라고는 하지만 Layout 좌표를 일일히 CIF format에 맞춰 입력한 다음, 펜 플로터로 출력해서 확인해보는 것입니다.

Layout

DRC(Design Rule Check): 잘은 몰라도 자(ruler)를 가지고 Design Rule을 Check했을 것 같습니다.

Design Rule Check

Floorplan: 블록의 크기별로 종이를 잘라서 배치했었군요.

Floorplaning

참, 펜 플로터가 뭔지 잘 모르시는 분들도 계실 것 같네요.

Pen Plotter

90년대엔 VLSI를 개발하는 회사나 연구실엔 꼭 Plotter로 출력한 Layout이 벽에 걸려있었습니다. 저는 이게 그냥 장식용인 줄 알았는데, 원래는 마지막으로 전체 칩을 출력하여 문제가 있는지 확인하기 위한 절차였네요. 인텔에서 큰 방 가득하게 레이아웃을 출력해놓고 검토했다는 말도 생각납니다.

Final sanity check

한가지 더 놀라운 사실은 MIT에서 1979년과 1980년에 MPC(Multi-Project Chip)을 만들었다는 것입니다. 그리고 나중에 MOSIS로 발전하게 됩니다.

최초의 MPC(Multi-Project Chip)

MOSIS는 적은 비용으로 좋은 공정에서 칩을 만들 수 있는 MPW(Multi-Project Wafer)를 운영하고 있습니다. 반도체교육센터(IDEC)에서 운영하고 있는 MPW도 MOSIS를 모델로 한 것입니다.

Xerox PARC의 EDA환경

MIT의 교과 수업환경은 아무래도 회사보다 열악할테고, 당시(1979년) Xerox PARC에서 MPW용 DB들을 Merge하고 있는 것으로 보이는 사진을 보면 회사의 EDA환경은 Layout을 마우스와 GUI환경으로 하는 것처럼 보입니다. (Xerox PARC의 마우스와 GUI환경은 애플 Machintosh가 채택한 것으로 유명하죠)

설계환경은 열악하지만 당시 강의자료를 살펴보면 그 내용만큼은 정말 훌륭합니다.
The MIT’78 VLSI System Design Course: A Guidebook for the Instructor of VLSI System Design

지금은 거의 찾아볼 수 없는 직접 글씨를 쓰고 그림을 그려가며 만든 강의자료도 인상적이지만, 그 내용은 지금 대학원 강의교재로 써도 전혀 손색이 없겠네요.

당시 수업을 했던 Lynn Conway의 저서 “Introduction to VLSI Systems“는 김보관교수님이 갖고 계신걸 본 기억이 있는데, 그저 오래된 책이라 생각하고 지나쳤었습니다. 책 내용(draft)을 살펴보니 1979년 책이라고는 상상할 수 없는 그 방대한 지식에 놀랐습니다.

그리고 Computer Architecture에 대한 내용도 눈에 띄어 Lynn Conway의 경력을 살펴보니 Supercomputer/Superscalar의 원조겪인 IBM ACS의 Architect였더군요. Dynamic Instruction Scheduling, Multithreading 등의 자료를 보면 지금의 컴퓨터 구조는 정말 70년대에 이미 완성 되었다는 생각이 듭니다.

1979년에 Single Chip DSP(Digital Signal Processor)도 등장합니다.

로직 합성(Logic Synthesis)는 1980년대에 UC버클리의 SIS, UCLS의 RASP 그리고 콜로라도대학의 BOLD 등의 연구가 기반이 되었습니다. UC버클리의 espresso는 상당히 성능이 좋았고, 저도 예전에 PLA설계에 사용했었습니다.

이러한 연구의 영향을 받아 1986년에 Synopsys가 창립하고 케이던스의 전신인 Automated Integrated Design Systems(1983년창림, 1985년에 Gatewaey Design Automation으로 개명)에 의해서 1984년에 Verilog언어가 만들어 졌습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>