모토로라 88000

88000 또는 줄여서 m88k는 1980년대 모토로라가 개발한 RISC 명령어 집합이다. MC88100은 경쟁 제품인 SPARC와 MIPS가 출시된 지 약 2년 후인 1988년에 시장에 출시되었다. 늦은 시작과 2세대 MC88110 출시의 광범위한 지연으로 인해, m88k는 MVME 플랫폼과 임베디드 컨트롤러 환경 외에서는 매우 제한적인 성공을 거두었다. 모토로라가 AIM 얼라이언스에 1991년 합류하여 파워PC를 개발하면서 88000의 추가 개발은 중단되었다.

 역사 
배경
모토로라는 1980년대에 강세를 보였다. 회사의 최근 출시된 모토로라 68000은 시장의 다른 어떤 마이크로프로세서보다도 뛰어난 성능을 보였고, 32비트 아키텍처는 신흥 워크스테이션 시장에 자연스럽게 적합했다. 인텔은 32비트 시장에 적극적으로 진출하지 않았고, 내셔널 세미컨덕터와 같이 진출한 회사들은 출시를 망쳐 인텔이 아닌 모든 것을 모토로라가 장악하게 되었다. 당시 인텔은 전체 컴퓨터 시장의 약 80%를 차지했고, 모토로라는 나머지 90%를 장악했다.

이러한 상황에서 1980년대 초 RISC 개념이 도입되었다. 처음에는 이 개념이 실제로 성능을 향상시킬지, 아니면 더 긴 기계어 프로그램이 추가적인 메모리 접근으로 인해 실행 속도를 실제로 늦출지에 대한 업계 내에서 치열한 논쟁이 있었다. 그러한 논쟁은 1980년대 중반에 첫 RISC 기반 워크스테이션이 등장하면서 끝났다. 20MHz 모토로라 68030에서 실행되는 최신 Sun-3/80은 약 3MIPS를 제공했지만, 16MHz SPARC를 탑재한 첫 SPARC 기반 Sun-4/260은 10MIPS를 제공했다. 휴렛 팩커드, DEC 및 기타 대형 벤더들은 모두 RISC 플랫폼으로 전환하기 시작했다.

이러한 시장 변화는 모토로라를 워크스테이션 시장에서 배제시킬 가능성이 있었는데, 이 시장은 모토로라의 유일한 강력한 거점 중 하나이자 가장 수익성이 높은 시장이었다. 애플은 워크스테이션 시장 외에서 모토로라의 유일한 대형 벤더로 남아 있었다. 68000의 다른 사용자, 특히 아타리 코퍼레이션과 코모도어 인터내셔널은 IBM PC 호환기종으로 빠르게 표준화되는 시장에서 고전하고 있었다.

모토로라의 접근법
RISC 설계는 프로세서를 해당 플랫폼의 컴파일러가 호출하는 연산 유형에 맞게 조정하려는 의식적인 노력이었다. 유닉스 워크스테이션의 경우, C 프로그래밍 언어였다. IBM 801 프로젝트는 컴파일러가 일반적으로 사용 가능한 명령어의 대부분을 사용하지 않고, 대신 가장 간단한 버전의 명령어를 사용한다는 점을 지적했는데, 이는 종종 이러한 명령어들이 가장 빠르게 수행되었기 때문이었다. 그러나 이러한 명령어의 다른 버전을 제공하는 회로는 가장 간단한 버전에도 오버헤드를 추가했다. CPU에서 이러한 사용되지 않는 명령어를 제거하면 이 오버헤드가 제거되고 칩에 상당한 공간이 확보되었다. 이는 프로세서 레지스터의 수를 늘릴 공간을 제공했으며, 이는 제거된 특수 경우 명령어보다 성능에 훨씬 더 큰 영향을 미쳤다. 이러한 이유로 RISC 개념은 컴파일러의 실제 설계에 의해 주도된다고 말할 수 있다.

88000 설계에 대한 모토로라의 기사들은 단일 사이클 명령어, 대형 프로세서 레지스터 파일 및 RISC 개념의 다른 특징들을 언급하지만, "RISC"라는 단어는 한 번도 언급하지 않는다. 기존 RISC 설계가 이미 시장에 진출했기 때문에, 회사는 이들과 경쟁하려고 시도하지 않고 대신 세계에서 가장 강력한 프로세서를 생산하기로 결정했다. 이를 위해 이전 시대의 가장 빠른 컴퓨터 중 하나인 CDC 6600 슈퍼컴퓨터에서 설계 노트를 가져왔다. 특히, 6600의 스코어보드 개념을 채택했다. 스코어보딩은 CPU가 명령어의 레지스터 사용을 검사하고 아직 완료되지 않은 이전 계산에 의존하지 않는 명령어들을 즉시 디스패치할 수 있도록 했다. 이는 명령어들이 필요한 데이터를 가진 명령어들이 다른 명령어들이 캐시나 메모리에서 데이터를 로드하는 동안 실행될 수 있도록 재정렬될 수 있게 했다. 이러한 명령어 재정렬은 사용률을 최대 35%까지 향상시킬 수 있었다.

이 디자인은 또한 별도의 데이터 및 명령어 주소 버스를 사용했다. 이는 핀 수 측면에서 비용이 많이 들었다. 명령어 및 데이터 캐시 모두 주소에 32개 핀, 데이터에 32개 핀이 있어 전체 시스템은 "P-버스"에 128개 핀을 사용했다. 이 디자인은 작업의 약 3분의 1만이 메모리 관련이라는 관찰에 기반을 두었다. 나머지는 이미 읽은 데이터에서 작동했다. 이는 외부 명령어 캐시에 전용 명령어 경로를 갖는 것을 강력히 선호했다. 캐시와 관련 메모리 관리 장치 (MMU)는 처음에는 외부에 있었고, 캐시 컨트롤러는 데이터 또는 명령어 버스에 연결될 수 있었으며, 각 버스에 최대 4개의 컨트롤러가 사용될 수 있었다. 내부적으로는 세 개의 32비트 버스가 있었고, 레지스터에 데이터를 읽고 쓰는 데 필요한 다양한 방식으로 내부 장치에 연결되었다.

새로운 설계의 또 다른 특징은 특수화된 코프로세서 또는 "특수 기능 유닛"(SFU)에 대한 내장 지원이었다. 기본적으로 지원되는 내부 명령 외에도 코프로세서가 사용할 수 있는 256개의 명령어 블록을 따로 설정했다. 이는 시스템을 사용자 정의하려는 설계자들을 위한 것이었다. 새로운 기능 유닛은 기존 명령어 집합에 영향을 주지 않고 추가될 수 있었으며, 이는 주요 기능에 대한 소프트웨어 호환성을 보장했다. 모든 88000에는 SFU1(부동 소수점 장치(FPU))이 이미 설치되어 있었다. 브랜치 및 점프 명령어에는 지연된 브랜치 옵션(.n)이 포함되어 있는데, 이는 브랜치 조건과 관계없이 브랜치 대상 명령어 이전에 다음 순차 명령어(subsequent sequential instruction)가 실행되도록 지정할 수 있다. 브랜치 지연 슬롯에 브랜치 명령어 또는 명령어 포인터를 변경할 수 있는 다른 명령어를 배치하는 것은 향후 호환성을 유지하기 위해 권장되지 않는다.

출시
1987년까지 모토로라가 자체 RISC 프로세서를 설계하고 있다는 사실은 널리 알려졌다. 이전 68000에 대한 경의를 표하며 컴퓨터 업계에서 "78000"이라고 불리던 이 프로세서는 1988년 4월에 출시될 때 88000이 되었다.

설계의 복잡성으로 인해 CPU는 단일 칩에 들어가지 않았다. 1년 일찍 출시된 68030은 산술 논리 장치 (ALU)와 메모리 관리 장치 (MMU)를 단일 칩에 포함하고 있었으며, 선택 사항인 부동소수점 장치 (FPU)는 별도의 칩이었다. 대조적으로, 88000은 ALU와 FPU를 75만 트랜지스터 MC88100에 함께 패키징했고, 메모리 관리 장치 (MMU)와 16KB 정적 램 캐시는 75만 트랜지스터 MC88200에 담았다. FPU가 진정으로 선택 사항이었던 68030과 달리, 실제적인 88000 시스템은 적어도 하나의 MC88200 없이는 구축될 수 없었다. 시스템은 하나 이상의 MC88200을 포함할 수 있었고, 더 큰 캐시를 생성하고 성능 향상을 위해 메인 메모리로의 여러 경로를 허용했다.

하이엔드 시장을 겨냥한 이 제품은 출시 당시 세계에서 가장 빠른 32비트 프로세서로 평가받았다. 20MHz로 구동되며 34,000 드라이스톤즈 또는 17 VUPS에 도달했다. 이는 SPARC스테이션의 같은 시기 12.5MHz SPARC의 약 12MIPS, 또는 20MHz 68030의 약 3.3MIPS와 비교된다. 또한 25MHz 부품으로 21MIPS, 48,387 드라이스톤즈로도 제공되었다.

당시 모토로라는 88000을 "통신, 인공지능, 그래픽, 3D 애니메이션, 시뮬레이션, 병렬 처리 및 슈퍼컴퓨터"를 포함한 시장의 하이엔드에 엄격하게 마케팅했으며, 기존 68k 시리즈는 워크스테이션 시장에서 계속 사용될 것이라고 제안했다. 대신, 대부분의 잠재 고객은 88000을 무시했고, 이 시스템은 거의 사용되지 않았다.

재출시
초기 출시가 모토로라 자체 제품 외에는 거의 사용되지 않았고, 전통적인 고객들이 다른 RISC 디자인으로 이동하기 시작하면서, 회사는 이 디자인을 단일 칩 형태인 MC88110으로 재출시했다. 1980년대 후반, NeXT, 애플 컴퓨터 및 아폴로 컴퓨터를 포함한 여러 회사들이 미래 사용을 위해 88000 시리즈를 적극적으로 검토했지만, 88110이 1992년에 마침내 출시될 무렵에는 모두 이 디자인을 포기했다.

썬 마이크로시스템즈가 SPARC 디자인으로 시도했던 것과 유사하게 88open 그룹을 통해 시스템을 대중화하려는 시도가 있었다. 이는 실질적인 의미에서 실패한 것으로 보인다.

포기
1990년대 초 모토로라는 AIM 노력에 참여하여 IBM POWER 아키텍처를 기반으로 하는 새로운 RISC 아키텍처를 개발했다. 모토로라는 고객들에게 일종의 업그레이드 경로를 제공하기 위해 88000의 몇 가지 기능(예: 호환되는 버스 인터페이스)을 새로운 파워PC 아키텍처에 통합했다. 그 시점에 88000은 가능한 한 빨리 폐기되었다.

 아키텍처 
이전의 68000처럼 88000은 "클린" 설계로 여겨졌다. 88000은 독립적인 명령어 및 데이터 캐시(하버드 아키텍처)와 독립적인 데이터 및 주소 버스를 갖춘 순수한 32비트 로드/스토어 아키텍처이다. 작고 강력한 명령어 집합을 가지며 평면 주소 공간을 사용한다.

특이한 아키텍처적 특징은 정수 명령어와 부동소수점 명령어 모두 동일한 레지스터 파일을 사용한다는 점이다.

 구현 
섬네일|오른쪽|모토로라 88100 RISC CPU
88000 ISA의 첫 번째 구현은 통합 FPU를 포함한 MC88100 마이크로프로세서였다. 이와 결합된 것은 MC88200 MMU 및 캐시 컨트롤러였다. 이러한 기능 분할의 이면에는 멀티프로세서 시스템을 더 쉽게 구축할 수 있도록 하려는 아이디어가 있었다. 하나의 MC88200은 최대 4개의 MC88100을 지원할 수 있었다. 그러나 이는 또한 단일 프로세서로 가장 기본적인 시스템을 구축하려면 두 칩과 그 사이의 상당한 배선이 필요하여 비용이 증가한다는 것을 의미했다. 이것이 88000의 제한적인 성공의 또 다른 주요 원인이 되었을 가능성이 크다.

MC88100은 오류 허용을 위해 두 개 이상의 중복 MC88100을 사용하는 '마스터/체커' 기능을 구현했다.
이 응용 프로그램에서는 두 프로세서가 함께 연결된다. 마스터 프로세서(PCE 비활성화)는 정상적으로 작동한다. 체커 프로세서(PCE 활성화)는 ERR를 제외한 모든 출력을 고임피던스 상태로 전환하고, 모든 출력을 입력으로 모니터링한다. 체커 프로세서는 마스터 프로세서와 동일한 작업을 수행하고 내부 결과를 고임피던스 핀에서 읽은 결과와 비교한다. 마스터와 체커 간에 불일치가 발생하면 체커는 ERR를 활성화한다. 그런 다음 외부 로직은 시스템에 대한 적절한 조치를 결정해야 한다.

섬네일|오른쪽|130픽셀|모토로라 88110 RISC CPU
패키징 및 비용 문제는 나중에 슈퍼스칼라 MC88110에 의해 해결되었는데, 이는 CPU, FPU, MMU 및 L1 캐시를 단일 패키지에 통합했다. MIT의 *T 프로젝트의 요청에 따라 추가적인 수정이 이루어져 MC88110MP가 탄생했으며, 이는 멀티프로세서 시스템에서 사용하기 위한 온칩 통신 기능을 포함했다. 100MHz까지 속도를 낼 수 있는 버전은 MC88120으로 계획되었지만, 결코 제작되지 않았다.

임베디드 애플리케이션용 구현인 MC88300은 1990년대 초 개발 중이었으나, 결국 취소되었다. 포드 모터 컴퍼니는 이 칩을 사용할 계획이었는데, 통신업체들의 채택과 더불어 이 아키텍처의 영구적인 실행 가능성을 보장하는 것으로 여겨졌다. 모토로라는 파워PC 설계를 대체품으로 제안했고, 포드는 이를 수락했다.

 제품 및 애플리케이션 
섬네일|오른쪽|MVME-197LE
모토로라는 88000 기반 "즉시 사용 가능" 시스템 구축을 위한 MVME 시리즈라고 알려진 단일 보드 컴퓨터 시리즈와 이러한 MVME 보드를 사용하는 Series 900 스택형 컴퓨터를 출시했다. 타워 또는 랙 마운트 시스템과 달리, Series 900은 서로 쌓여 있었고 버스형 케이블링으로 서로 연결되었다. 이 개념은 인기를 얻지 못했다.

주요 서드파티 사용자는 제한적이었다. 유일하게 널리 사용된 곳은 데이터 제너럴 AViiON 시리즈였다. 이들은 상당히 인기가 있었고, 오늘날에도 제한적으로 사용되고 있다. 후기 모델에서는 DG가 인텔로 전환했다. 앙코르 컴퓨터는 m88k에 기반한 Encore-91 기계를 만들었고, 이어서 Infinity 90 시리즈로 완전히 새로운 디자인을 선보였지만, 이 기계가 얼마나 많이 팔렸는지는 불분명하다. 앙코르는 알파로 전환했다. 텍트로닉스는 1989년 4월에 XD88 그래픽 워크스테이션 라인을 출시했다.

GEC 컴퓨터는 MC88100을 사용하여 GEC 4310을 만들었지만, 메모리 관리 문제로 인해 회사의 이전 게이트 어레이 기반 및 Am2900 기반 GEC 4000 시리즈 컴퓨터만큼 성능이 좋지 않았다. BBN 버터플라이 모델 TC-2000은 MC88100 프로세서를 사용했으며, 최대 512개의 CPU로 확장되었다. 리노타이프-헬은 이미지 조작을 위한 다빈치 래스터 그래픽스 편집기를 실행하는 "파워" 워크스테이션에 88110을 사용했다.

MC88110은 출시되지 않은 NeXT 컴퓨터인 NeXT RISC 워크스테이션의 일부 버전에 포함되었지만, 1993년 모든 NeXT 하드웨어 프로젝트와 함께 취소되었다. 일본의 4프로세서 OMRON LUNA-88K 기계는 m88k를 사용했으며, 카네기 멜런 대학교의 마하 커널 프로젝트에 잠시 사용되었다. 1990년대 초 노던 텔레콤은 MC88100과 MC88110을 DMS SuperNode 전화 스위치 제품군의 중앙 프로세서로 사용했다.

대부분의 다른 사용자는 훨씬 더 소규모였다. 알파 마이크로시스템즈는 원래 모토로라 68000에서 88K 아키텍처로 전환할 계획이었고, 내부적으로 유닉스 시스템 V를 실행하는 기계를 만들었지만, 나중에 68K 파생 모델을 선호하여 폐기되었다. NCD는 88100(88200 없이)을 88K X-터미널에 사용했다. 사망 직전의 노르스크 데이터에서 분사한 돌핀 서버는 88k 기반 서버를 구축했다. 1988년부터 1992년까지 약 100대가 출하되었다.

버추얼리티는 SU2000 가상 현실 아케이드 기기에서 그래픽 프로세서로 MC88110을 사용했으며, 각 가상 현실 헤드셋 화면당 하나의 MC88110을 사용했다.

임베디드 컴퓨터 분야에서는 F-15 S/MTD의 "트라이채널 VMS 컴퓨터"가 3개의 88000을 3중 이중화 컴퓨터에 사용했다.

 운영 체제 지원 
모토로라는 자체 유닉스 시스템 V 파생 시스템인 System V/88을 88000 기반 시스템용으로 출시했다. 주요 릴리스는 릴리스 3.2 버전 3과 릴리스 4.0 버전 3이었다. 데이터 제너럴 AViiON 시스템은 DG/UX를 실행했다. 오픈BSD 포트는 MVME 시스템,OpenBSD/mvme88k LUNA-88K 워크스테이션,OpenBSD/luna88k 및 데이터 제너럴 AViiON 시스템용으로 존재한다.OpenBSD/aviion MVME 시스템용으로 적어도 하나의 비공식적인 실험적 NetBSD 포트가 존재한다.NetBSD/m88k  Unofficial port of NetBSD 3.x

 내용주 

 각주 
인용

참고 문헌





 외부 링크 
 m88k 웹사이트 m68k/m88k 참조 웹사이트
 Dolphin m88k 돌핀 서버 기술
 Badabada.org의 m88k 하드웨어 및 컴퓨터 정보

분류:모토로라 제품
분류:명령어 집합 구조
분류:32비트 마이크로프로세서