질로그 Z8000

Zilog Z8000
질로그 Z8000
디자이너질로그
비트16비트
소개했다1979; 43년 전 (1998년)
디자인CIC
유형레지스터-메모리
분기상황 레지스터
전임자Z80
후계자Z80000
레지스터
16×16비트 범용
24비트 PC
16비트 상태
질로그 Z8000
M20 mb cpu.jpg
Olivetti M20 컴퓨터의 마더보드에 있는 Z8001
퍼포먼스
데이터 폭16비트
주소 폭23비트
물리적 사양
트랜지스터
  • 17,500
패키지
  • 48핀 DIP(8001)
  • 40핀 DIP(8002)

Z8000("zee- 또는 zed-8000")은 질로그가 1979년 초에 도입한 16비트 마이크로프로세서다.건축은 베르나르 푸토가 설계한 반면, 논리와 물리적 구현은 시마 마사토시가 소그룹 사람들의 도움을 받아 설계했다.그 시대의 대부분의 디자인과 대조적으로 Z8000은 마이크로코드를 사용하지 않았으며, 이는 1만7500개의 트랜지스터에서만 구현될 수 있게 했다.

Z8000은 Z80을 인기 있게 만든 많은 좋은 평가를 받은 디자인 노트들이 등장했지만 Z80과 호환되는 것은 아니었다.그 중에는 하나의 더 큰 레지스터로서 그것의 레지스터를 결합하여 사용할 수 있는 능력도 있었다. Z80은 두 개의 8비트 레지스터를 하나의 16비트 레지스터로 사용할 수 있도록 허용했고, Z8000은 두 개의 16비트 레지스터를 32비트 레지스터로, 또는 네 개의 레지스터를 64비트 레지스터로 작동할 수 있도록 허용함으로써 이것을 확장했다.이러한 결합 레지스터는 수학 연산에 특히 유용했다.

그 시대에 걸맞은 매력적인 디자인이었고, 1980년대 초반에는 일부 쓰임새를 보였지만, 결코 Z80만큼 인기를 끌지 못했다.당시 질로그의 CEO였던 페데리코 파긴은 질로그가 IBM과 경쟁할 야망이 있었던 단일 투자자인 엑손 엔터프라이즈가 주로 소유하고 있었기 때문이라고 믿고 있다.IBM이 IBM PC를 시작했을 때, 그들은 질로그를 경쟁자로 보고 Z8000보다 인텔 8088을 선택했다.[1]그러나 Z8000의 출시일은 그것을 16비트 인텔 8086 (1978년 4월)과 모토로라 68000 (1979년 9월) 사이에 놓았는데, 그 중 후자는 32비트 명령 집합 아키텍처를 가지고 있었고 대략 두 배나 빨랐다.

질로그 Z80000은 1986년에 출시된 32비트 후속 설계였다.

특징들

Z8000 레지스터
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (비트 위치)
그룹화
메인 레지스터 16비트 32비트 64비트
RH0 RL0 R0 RR0 RQ0
RH1 RL1 R1
RH2 RL2 R2 RR2
RH3 RL3 R3
RH4 RL4 R4 RR4 RQ4
RH5 RL5 R5
RH6 RL6 R6 RR6
RH7 RL7 R7
R8 RR8 RQ8
R9
R10 RR10
R11
R12 RR12 RQ12
R13
R14 RR14
R15
상태 레지스터
S SN E V M - - - C Z S PO D I H - 깃발
프로그램 카운터
0 세그먼트 0 0 0 0 0 0 0 0 프로그램 카운터
주소

Z8000은 처음에 최대 8메가바이트의 메모리에 액세스할 수 있도록 23비트 외부 주소 버스를 완전히 갖춘 Z8001과 64킬로바이트의 메모리를 허용하도록 16비트 주소 지정만 지원했던 Z8002의 두 가지 버전으로 선적되었다.이를 통해 Z8002는 8개의 핀을 줄일 수 있었고, 보다 작은 40핀 DIP 형식으로 배송되어 구현 비용이 덜 들었다.

이후 시리즈는 각각 Z8001과 Z8002의 업데이트 버전인 Z8003Z8004로 확장되었다.이러한 버전은 가상 메모리에 대한 향상된 지원을 제공하도록 설계되었으며, 분할 결함(테스트 및 설정)을 나타내기 위해 새로운 상태 레지스터를 추가하고 중단 기능을 제공하였다.

레지스터 세트는 16개의 16비트 범용 레지스터로 구성되었으며, 라벨은 R0에서 R15까지였습니다.레지스터는 RR0/RR2/라는 라벨이 붙은 8개의 32비트 레지스터에 연결될 수 있다./RR14 또는 RQ0/RQ4/RQ8/RQ12라는 레이블이 있는 4개의 64비트 레지스터에 포함.처음 8개의 레지스터도 16개의 8비트 레지스터로 세분할 수 있으며, 하위 바이트의 경우 RL0을 통한 RH0과 상위(높은) 바이트의 경우 RH0을 통한 RH7로 분류할 수 있다.레지스터 R15는 스택 포인터로 지정된다.Z8001에서 레지스터 R14는 스택 포인터에 고정 오프셋을 추가하는 데 사용되며 프로그램 카운터를 32비트로 확장하여 유사한 오프셋을 포함한다.

사용자 모드("정상")와 감독자 모드(플래그 레지스터에서 비트 14로 선택됨)가 모두 있었다.감독자 모드에서 스택 레지스터는 시스템 스택을 가리키며 모든 권한 있는 지침을 사용할 수 있다.사용자 모드에서 스택 레지스터는 정상 스택을 가리키며 모든 권한 있는 명령이 고장을 생성한다.별도의 모드와 스택을 갖추면 사용자 프로그램과 운영 체제 사이의 컨텍스트 전환 성능이 크게 향상된다.[2]

질로그 Z8002 다이

메모리 처리

이전의 Z80과 마찬가지로 Z8000은 동적 램을 자동으로 새로 고치는 시스템을 포함했다.대부분의 시스템에서 이것은 일반적으로 비디오 디스플레이 컨트롤러 또는 외부 논리에 의해 처리된다.이는 현재 업데이트되는 메모리 페이지를 보유한 별도의 RC(Refresh Counter) 레지스터를 통해 구현되었다.이 기능은 RC의 가장 중요한 비트인 비트 15를 1로 설정하여 켜진다.다음 6비트, 14~9는 속도인데, 매 4번째 클럭 사이클 단위로 측정한다.표준 4MHz 클럭으로, 1 ~ 64마이크로초마다 새로 고침을 호출할 수 있다.나머지 8비트는 새로 고칠 메모리의 행을 선택한다.[3]

Z8000은 7비트 "세그먼트 번호"와 16비트 오프셋을 가진 세그먼트 메모리 맵을 사용했다.두 숫자 모두 Z8001의 핀으로 표현되었는데, 이는 23비트 메모리 또는 8MB를 직접 다룰 수 있다는 것을 의미한다.[4] 지침서는 16비트 오프셋에 직접 액세스할 수 있을 뿐이다.이것은 명령 형식을 더 작게 할 수 있게 해주었다; 23비트 주소에 직접 접속하는 시스템은 코드에 언급된 모든 주소에 대해 메모리에서 3바이트(24비트)를 읽어야 했기 때문에 16비트 버스에서 2개의 읽기가 필요할 것이다.세그먼트를 사용하는 경우 주소는 전체 주소를 생성하기 위해 세그먼트 번호에 추가된 단일 16비트 읽기만 필요했다.세그먼트 번호는 데이터가 16비트/64KB 경계를 넘을 때만 업데이트하면 된다.[5]

내부적으로 표현했을 때 주소의 길이는 모두 32비트였다.이것은 비트 15에서 선행 0을 가진 상위 16비트 단어, 7비트 세그먼트 번호, 그리고 그 다음 0을 8개 포함하는 것으로 구성되었다.이는 각 23비트 주소가 32비트의 레지스터 공간을 사용했기 때문에 더 많은 메모리를 저장해야 했지만, 16비트 레지스터에 주소를 깨끗하게 저장할 수 있었고 16비트 단어로 발생한 스택에서 더 쉽게 밀리고 튀길 수 있었다.[6]

옵션인 48핀 Z8010 메모리 관리 장치(MMU)는 23비트 주소를 CPU에서 24비트 주소로 변환해 메모리 맵을 16MB로 확장했다.내부적으로는 64개 세그먼트의 목록과 RAM에서 해당 세그먼트의 물리적 위치에 대한 8비트 포인터를 보유했다.CPU가 특정 세그먼트에 액세스를 시도했을 때 Z8010은 이를 주소 버스의 8비트 주소로 변환한 다음 변경되지 않은 상태로 16비트 오프셋을 전달한다.이를 통해 물리적인 RAM에 여러 프로그램을 분산시킬 수 있었는데, 각각 8MB의 RAM 전체에 접속하고 있다고 믿으면서 각자 작업할 수 있는 공간을 제공했다.세그먼트는 가변 길이였으며, 64개 세그먼트에서 전체 메모리에 액세스할 수 있도록 최대 64KB까지 확장되었다.64개 이상의 세그먼트가 필요한 경우 여러 개의 Z8010을 사용할 수 있다.[7]Z8010은 출시 당시에는 사용할 수 없었으며, 궁극적으로 9개월에서 1년 늦었다.[8]

Z8003/Z8004가 출시되면서 Z8015가 라인업에 추가돼 페이징 메모리 지원도 추가됐다.가장 큰 차이점은 Z8015가 메모리를 64개의 2KB 블록으로 분해한 반면 Z8010은 각각 최대 64KB의 가변 크기 블록으로 분해했다는 점이다.또한 Z8015는 세그먼트 번호를 7비트에서 12비트로 확장한 다음 23비트 전체 주소의 가장 중요한 비트로 사용하여 원래 16비트 오프셋의 상위 비트를 재정의한다.이 액세스 체계의 장점은 하드 드라이브에 2KB 블록을 읽거나 쓰기가 쉽기 때문에 이 패턴은 궁극적으로 Segfault에서 발생할 것과 더 밀접하게 일치한다는 것이다.[7]

기타 기능

Z8000에서 발견된 흔치 않은 특징 중 하나는, 미니컴퍼터와 더 흔히 연관되는 것으로, 방해를 직접 지원하는 이었다.인터럽트는 프로세서에 어떤 조건이 충족되었음을 알리기 위해 외부 장치에 의해 사용된다. 일반적인 용도는 플로피 디스크를 읽는 것과 같은 느린 프로세스의 데이터를 이제 사용할 수 있고 CPU가 데이터를 메모리로 읽을 수 있다는 것을 나타내는 것이다.

일반적으로 작은 기계에서 인터럽트는 다양한 상태 비트와 메모리 위치를 검사하여 실제로 인터럽트를 호출한 장치와 이유를 결정하는 특수 코드를 실행하게 한다.일부 설계, 특히 실시간 컴퓨팅을 위한 설계에서는 메모리의 일부를 특정 장치를 처리하는 코드에 대한 포인터 또는 벡터 집합으로 따로 둔다.그런 다음 인터럽트를 유발하는 장치는 일반적으로 CPU의 핀을 통해 특정 인터럽트 번호 N을 나타내는 일부 상태를 설정한다.인터럽트가 호출되면 CPU는 인터럽트를 디코딩할 필요가 없도록 즉시 테이블의 N번째 항목을 통해 점프한다.이렇게 하면 인터럽트 처리 코드를 단순화하는 동시에 추가 작업을 실행하지 않아도 됨으로써 인터럽트 서비스 속도를 크게 높일 수 있다.

Z8000에서 새 레지스터는 벡터인 새 프로그램 상태 영역 포인터를 지원한다.이는 레지스터의 메모리 주소와 유사하며, 세그먼트 번호를 가진 상위 16비트의 16비트 값 두 개로 구성되었다.그런 다음 16비트를 절반으로 나누고, 오프셋을 포함하는 상위 8비트를, 하위 8비트는 비어 있었다.특정 벡터를 호출하기 위해, 외부 장치는 주소 버스에 더 낮은 8비트(혹은 9비트)를 제시했고, 그 다음 세 개의 값으로 완전한 벡터 주소를 구성했다.[9]

Z8000 CPU 기반 시스템

1980년대 초, Zilog Z8000 CPU는 데스크탑 크기의 유닉스 기계에 인기가 있었다.이러한 저비용 유닉스 시스템을 통해 소규모 기업은 네트워킹이 보편화되기 전에 진정한 다중 사용자 시스템을 운영하고 리소스(디스크, 프린터)를 공유할 수 있었다.그들은 대개 내장 그래픽 대신 RS232 직렬 포트 (4–16)와 병렬 프린터 포트 (4–16)만 가지고 있었는데, 이는 당시의 서버에 흔히 있는 일이었다.

Z8000 기반 컴퓨터 시스템에는 Zilog의 자체 시스템 8000 시리즈와 기타 제조업체들이 포함되었다.

  • 1980년 1월: Onyx Systems에 의해 만들어진 C8002는 Z8001을 사용했고, 유닉스 시스템 III를 실행했으며, C와 FORTRAN 77 컴파일러를 함께 제공했으며, 사용 가능한 COBOL 컴파일러도 가지고 있었다.8개의 직렬 포트, 1개의 QIC 테이프 드라이브, 1개의 8인치 하드 드라이브, 그리고 가격은 $25,000이었습니다.메인 프로세서가 디스크, 테이프 및 직렬 IO 작업을 보조 보드의 Z80 프로세서로 오프로드했습니다.[10]
  • 1982: Olivetti M20, COSOSOS 또는 CP/M의 파생 모델인 Oliveti PCOS를 실행한 IBM과 호환되지 않는 PC.[11]
  • 1980-1986: Oliveti Linea 1 S1000, S6000, M30, M40, M50, M60, M70. Oliveti에서 온 이 미니컴퓨터는 모두 BCOS/COSMOS를 운영했다.[11]
  • 1985년: 취소된 Commodore 900 컴퓨터 프로젝트
  • 1987–1989: 동독 EAW(Elektro-apparate-Werke)는 Z8000의 동독 U8000 복제본을 기반으로 워크스테이션/멀티서 시스템 P8000을 생산했다.[12]

질로그 S8000 컴퓨터는 제우스(Zilog Enhanced Unix System)라고 불리는 유닉스의 버전을 가지고 나왔다.제우스는 유닉스 버전 7의 항구였으며, '버클리 개선'이라고 일컬어지는 것을 포함했다.제우스는 RM/COBOL이라고 불리는 COBOL의 버전을 포함했다.RM/COBOL의 가용성은 비록 이것이 장기적인 성공에 도움이 되지는 않았지만 많은 상업적 어플리케이션을 S8000 컴퓨터에 신속하게 포팅할 수 있게 했다.S8000은 전자적으로 제출된 세금 신고서를 처리하는 데 이 모델을 사용했던 미국의 국세청과 세무 작성자들에게 어느 정도 성공을 거두었다.[13]

Z8000 버전의 Xenix 운영 체제가 있었다.[14]남코는 폴 포지션과 폴 포지션 II 아케이드 게임에서 Z8000 시리즈를 사용했다.이 기계들은 Z8000의 64KB 버전인 두 개의 Z8002를 사용했다.

보고된 군사 설계에[15] 기기를 포함하면 Z16C01/02 시리얼 통신 제어기(SCC)의 형태로 오늘날 Z8000의 지속적인 생존에 대한 설명이 제공될 수 있다.또한, 표준 중앙 항공 데이터 컴퓨터(SCADC)는 Z8002를 활용하고 있었다.[16]질로그로부터 생의 종말 고지는 2012년에 보내졌다.[17]

제한된 성공

Z8000은 1980년대 초 일부 용도를 보였지만, 다른 디자인에 대해서는 비교적 빠르게 넘어갔다.[1]

당시 질로그의 CEO였던 페데리코 파긴은 이후 질로그가 엑손의 벤처캐피털 계열사인 엑손 엔터프라이즈와 맺은 자금조달 때문이라고 시사했다.기업들은 컴퓨터 분야에 많은 투자를 했고, 1980년대 초에는 대규모 시스템 분야에서 IBM의 경쟁자로 자리매김하고 있었다.Faggin은 따라서 IBM이 Zilog를 경쟁자로 보았고, 결과적으로 Z8000을 고려하기를 거부했다고 제안한다.[1]

그러나 1980년대 초반에 설계자들이 선택할 수 있는 선택들에 대한 조사는 Z8000이 더 인기가 없었던 더 많은 원론적인 이유가 있음을 시사한다.

바이트 체조립 언어 버전을 비교하면 질로그의 4MHz Z80, 인기 있는 1MHz MOS 6502 13.9 등 교체한 8비트 설계에 비해 5.5MHz Z8000의 1.1초는 인상적이라고 본다.심지어 새로운 1MHz 모토로라 6809도 5.1초로 훨씬 느렸다.[18]1.9초 만에 뒤집힌 8MHz 인텔 8086이나 4초 만에 가격이 덜 비싼 5MHz 인텔 8088과 비교해도 잘 팔린다.[18]

인텔 프로세서는 Z8001에 의해 쉽게 능가하는 반면, 40핀 DIP로 포장되어 있어 48핀 Z8001에 비해 구현 비용이 적게 들었다.Z8002도 40핀 패키지를 사용했지만 64KB의 RAM에만 접근할 수 있는 16비트 주소버스를 가지고 있었던 반면 인텔 프로세서는 1MB의 RAM에 접근할 수 있는 20비트 버스를 가지고 있었다.내부적으로는 Z8000의 23비트 주소도 16비트 기본 주소와 별도의 세그먼트 레지스터를 사용하는 인텔의 단순한 시스템보다 처리가 더 복잡했다.대용량의 메모리에 접근할 수 있는 저렴한 옵션을 찾는 사람들에게 인텔 디자인은 경쟁력 있고 1년 전에 이용 가능했다.[18]

순수 성능을 원하는 사람들에게 Z8000은 1979년 초에 사용 가능한 가장 빠른 CPU였습니다.그러나 이것은 몇 달 동안만 사실이었다.16/32비트 8 Mhz Mhz Motorola 68000은 같은 해 말에 시장에 출시되었고 같은 체 테스트에서 0.49초의 시간 내에 Z8000보다 두 배 이상 빠른 속도로 회전한다.[18]심지어 더 큰 64핀 DIP 레이아웃을 사용했지만, 40핀 이상으로 이동하고자 하는 사람들에게는 이것은 그 시대의 가장 빠른 프로세서에 대한 작은 비용이었다.32비트 명령과 레지스터는 16MB 주소가 평평한 24비트 어드레스 버스와 결합되어 설계자들에게 훨씬 더 매력적으로 다가왔으며, Faggin은 이를 인정한다.[1]

게다가 Z8000이 처음 출시되었을 때 많은 버그를 포함하고 있었다.이는 시대의 대부분의 프로세서와 달리 마이크로코드를 사용하지 않고 CPU에 직접 구현된 논리에 의존하는 복잡한 명령 디코더 때문이었다.이를 통해 마이크로코드 저장 및 관련 디코딩 논리를 제거할 수 있었고, 이는 트랜지스터 카운트로 17,500개로 줄어들었다.[19]대조적으로, 현대의 인텔 8088은 29,000개의 트랜지스터를 사용했고,[20] 모토로라는 몇 달 후에 68,000개의 트랜지스터를 사용했다.[21]

두 번째 출처

AMD, SGS-Ates, Toshiba, Sharp를 포함한 몇몇 제3자가 Z8000을 제조했다.[22]

참조

  1. ^ a b c d 역사의
  2. ^ 아브라모비츠1981, 페이지 6.1.
  3. ^ 아브라모비츠 1981, 페이지 6.5, 6.28.
  4. ^ 아브라모비츠1981년, 6.19페이지.
  5. ^ 아브라모비츠1981, 페이지 6.3.
  6. ^ 아브라모비츠1981, 페이지 6.6.
  7. ^ a b Fawcett, B. K. (1983). "A tutorial overview of the Z8003 and Z8004 microprocessors and the Z8010 and Z8015 memory management units". Journal of Microcomputer Applications. 6 (2): 163–178. doi:10.1016/0745-7138(83)90028-3.
  8. ^ OHP_2010_Z8000, 페이지 20.
  9. ^ 아브라모비츠1981, 페이지 6.8.
  10. ^ Granneman, Scott. "Computing History 1968–Present". Retrieved 2009-07-16.
  11. ^ a b Kranenborg, Jurjen; Elvey, Dwight K.; Groessler, Christian. "The Z8000 / Z80,000 / Z16C00 CPU homepage". Retrieved 2009-07-16.
  12. ^ "E. German Businesses See Tough Times After Merger". Sun Sentinel. Retrieved 2015-07-03.
  13. ^ "efile History - Electronic Tax Filing in the United States". Retrieved 2012-12-13.
  14. ^ Bezroukov, Nikolai (2008-11-15). "XENIX—Microsoft's Short-lived Love Affair with Unix". Softpanorama. Retrieved 2009-07-16.
  15. ^ "Z8000". TechEncyclopedia. TechWeb. Retrieved 2009-07-16.
  16. ^ Standard Central Air Data Computer (PDF). GEC Avionics. 1985.
  17. ^ "Z16C0110PSG and Z16C0210PSG End of Life (EOL) Notification" (PDF). Retrieved 2016-07-17.
  18. ^ a b c d 길브레 길브레 1983.
  19. ^ Bayko, John (December 2003). "Zilog Z-8000, another direct competitor". Great Microprocessors of the Past and Present.
  20. ^ "Chip Hall of Fame: Intel 8088 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2020-06-19.
  21. ^ "Chip Hall of Fame: Motorola MC68000 Microprocessor". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 2017-06-30. Retrieved 2019-06-19.
  22. ^ "Zilog Z8000". Digital History: Time Line. old-computers.com. April 1979. Retrieved 2009-07-16.

참고 문헌 목록

추가 읽기