맨위로가기

자일로그 Z80000

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

자일로그 Z80000은 자일로그에서 개발한 32비트 마이크로프로세서이다. 다양한 어드레싱 모드와 16개의 32비트 범용 레지스터를 지원하며, 최대 4GB 메모리 직접 접근이 가능한 리니어 어드레싱, 16비트 주소로 32비트 공간을 관리하는 컴팩트 모드, 세그먼트 모드를 제공한다. 또한, 인터럽트 및 예외 처리 메커니즘을 통합하여 시스템 안정성을 높였으며, 부동 소수점 연산을 위한 코프로세서를 지원했다. Z80000의 CMOS 버전인 Z320은 저전력 소비를 위해 설계되었다.

더 읽어볼만한 페이지

  • 자일로그의 마이크로프로세서 - 자일로그 Z8000
    자일로그 Z8000은 자일로그에서 개발한 16비트 마이크로프로세서로, 8MB 메모리 주소 지정을 지원하는 Z8001과 64KB를 지원하는 Z8002의 두 가지 버전으로 출시되었으며, 사용자 모드와 슈퍼바이저 모드를 제공하고 16개의 범용 레지스터를 통해 다양한 데이터 크기를 처리할 수 있었으나, 시장에서 큰 성공을 거두지는 못하고 32비트 버전인 Z80000으로 발전했다.
  • 자일로그의 마이크로프로세서 - 자일로그 Z80
    자일로그 Z80은 1976년 자일로그에서 출시된 8비트 마이크로프로세서로, 인텔 8080의 개선형이며 16비트 주소 공간과 8080과의 소프트웨어 호환성을 제공하며, 2024년 4월 15일 단종되었다.
  • 32비트 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 32비트 마이크로프로세서 - 슈퍼H
    슈퍼H는 히타치에서 개발한 RISC 기반 CPU 코어 제품군으로, 상위 호환성을 갖는 명령어 집합과 높은 코드 밀도를 특징으로 하며, 다양한 모델이 개발되어 여러 기기에 탑재되었으나, ARM 아키텍처의 부상으로 개발이 중단된 후 르네사스 일렉트로닉스를 통해 라이선스가 제공되고 SH-2 특허 만료 후에는 오픈 소스 구현 프로젝트가 진행되었다.
  • 32비트 컴퓨터 - VAX
    VAX는 DEC에서 개발한 가상 메모리를 지원하는 32비트 CISC 컴퓨터 아키텍처 및 컴퓨터 시리즈로, PDP-11의 확장이며, 다양한 모델과 운영 체제를 지원하며 슈퍼미니컴퓨터 시장에서 인기를 얻었으나 RISC 아키텍처의 등장으로 대체되었다.
  • 32비트 컴퓨터 - 모토로라 68000 시리즈
    모토로라 68000 시리즈는 1979년 출시된 16/32비트 마이크로프로세서 제품군으로, 데스크톱 컴퓨터, 워크스테이션, 게임 콘솔 등 다양한 시스템에 사용되었으며, 직교적인 명령어 집합, 다양한 주소 지정 방식, 슈퍼바이저 모드 등의 특징을 갖추고 성능과 기능이 개선되었다.
자일로그 Z80000

2. 아키텍처

Z80000은 다양한 어드레싱 모드를 지원하여 메모리 접근의 유연성을 높였다. 레지스터 직접 어드레싱, 직접 어드레싱, 간접 어드레싱, 인덱스 어드레싱, 베이스-인덱스 어드레싱, 상대 어드레싱, 자동 증가/감소 어드레싱 방식을 제공했다. 또한, 32비트 논리 주소를 사용하여 최대 4GB의 메모리를 직접 액세스할 수 있는 리니어 어드레싱 방식을 통해 시스템 모드, 노멀 모드, 명령용 주소 공간, 데이터용 주소 공간을 구분하여 메모리 관리를 효율적으로 수행했다.

Z80000은 16비트 주소를 사용하여 32비트 주소 공간을 효율적으로 관리하는 컴팩트 모드를 지원하여 메모리 공간을 절약하고 코드 밀도를 높였다. 프로그램 카운터(PC)의 상위 비트를 활용하여 32비트 주소를 처리했으며, 64K 워크스페이스 내에서 고밀도 코드를 구현할 수 있도록 설계되었다. 베이스 레지스터를 활용하여 메모리 접근 방식을 최적화하였다.

자일로그 Z80000은 보호 메모리 환경에서 개별 오브젝트 파일을 세그먼트에 할당하는 세그먼트 모드를 지원하며, 16MB(128 세그먼트) 및 64KB(32K 세그먼트)의 두 가지 세그먼트 크기를 제공하여 유연성을 확보했다.

2. 1. 레지스터

Z80000은 16개의 32비트 범용 레지스터(R0~R15)를 제공한다. 이 레지스터들은 데이터 저장 및 연산에 사용되며, 프로그램의 핵심적인 작업 공간을 구성한다. 레지스터 페어링을 통해 64비트 데이터를 처리할 수 있으며, R0와 R1, R2와 R3 등의 조합으로 사용된다. 또한, Z80000은 8비트 및 16비트 산술/논리 연산을 지원하여, 다양한 데이터 크기에 대한 유연성을 제공한다.

2. 2. 어드레싱 모드

Z80000은 다양한 어드레싱 모드를 지원하여 메모리 접근의 유연성을 높였다.

  • 레지스터 직접 어드레싱: 8비트, 16비트, 32비트 레지스터를 직접 지정하여 데이터를 읽거나 쓸 수 있다. 이 방법은 가장 빠르고 간단한 메모리 접근 방식이다.
  • 직접 어드레싱: 16비트 또는 32비트 주소를 직접 지정하여 메모리에 접근한다. 절대 주소를 사용하므로, 코드의 위치에 독립적으로 데이터를 참조할 수 있다.
  • 간접 어드레싱: 레지스터에 저장된 주소를 사용하여 메모리에 접근한다. 레지스터의 값을 변경함으로써 다른 메모리 위치에 접근할 수 있어, 데이터 구조를 처리하는 데 유용하다.
  • 인덱스 어드레싱: 기본 주소와 인덱스 레지스터의 값을 더하여 메모리 주소를 계산한다. 배열과 같은 데이터 구조에 접근하는 데 효과적이다.
  • 베이스-인덱스 어드레싱: 기본 주소, 인덱스 레지스터, 그리고 오프셋을 사용하여 메모리 주소를 계산한다. 복잡한 데이터 구조와 다차원 배열을 처리하는 데 적합하다.
  • 상대 어드레싱: 현재 명령어의 위치를 기준으로 상대적인 거리에 있는 메모리 위치에 접근한다. 분기 명령 등에 사용되며, 코드의 위치에 독립적인 코드를 작성하는 데 도움을 준다.
  • 자동 증가/감소 어드레싱: 메모리 접근 후 레지스터의 값을 자동으로 증가 또는 감소시킨다. 스택과 같은 자료 구조를 효율적으로 관리할 수 있게 해준다.

2. 2. 1. 리니어 어드레싱

Z80000은 32비트 논리 주소를 사용하여 최대 4GB의 메모리를 직접 액세스할 수 있었다. 이 리니어 어드레싱 방식은 시스템 모드, 노멀 모드, 명령용 주소 공간, 데이터용 주소 공간을 구분하여 메모리 관리를 효율적으로 수행했다. 이러한 주소 공간 구분은 시스템의 안정성을 높이고, 다양한 응용 분야에서 유연성을 제공했다. 특히, 컴퓨터 그래픽스나 대규모 배열 처리와 같은 분야에서 Z80000의 강력한 성능을 발휘하는 데 기여했다.

2. 2. 2. 컴팩트 모드

컴팩트 모드는 Z80000의 주요 특징 중 하나로, 16비트 주소를 사용하여 32비트 주소 공간을 효율적으로 관리하는 방식이다. 프로그램 카운터(PC)의 상위 비트를 활용하여 32비트 주소를 처리함으로써, 메모리 공간을 절약하고 코드 밀도를 높이는 데 기여했다. 이 모드는 64K 워크스페이스 내에서 고밀도 코드를 구현할 수 있도록 설계되었으며, 베이스 레지스터를 효과적으로 활용하여 메모리 접근 방식을 최적화했다. 베이스 레지스터는 데이터 접근 시 기준 주소 역할을 하며, 이를 통해 코드의 유연성을 높이고 프로그램의 크기를 줄일 수 있었다. 이러한 컴팩트 모드는 Z80000이 제한된 메모리 환경에서도 강력한 성능을 발휘할 수 있도록 돕는 핵심 기술이었다.

2. 2. 3. 세그먼트 모드

자일로그 Z80000은 보호 메모리 환경에서 개별 오브젝트 파일을 세그먼트에 할당하는 세그먼트 모드를 지원한다. 이 아키텍처는 16MB(128 세그먼트) 및 64KB(32K 세그먼트)의 두 가지 세그먼트 크기를 제공하여 유연성을 확보했다.

3. 메모리 관리

Z80000은 강력한 메모리 관리 기능을 제공하여 시스템의 안정성과 효율성을 높였다. 이 프로세서는 보호된 메모리 공간을 제공하여, 한 프로그램이 다른 프로그램의 메모리 영역을 침범하는 것을 막아, 멀티태스킹 환경에서 시스템의 안정성을 유지했다. 또한, 가상 메모리 주소 지정을 지원하여 하드 디스크를 메모리처럼 사용할 수 있게 했다. 이를 통해 실제 물리적 메모리 용량보다 더 큰 메모리 공간을 확보하여, 대용량 데이터를 처리하는 데 유용하게 활용되었다. 가상 메모리 기술은 메모리에 모든 데이터를 상주시키지 않고, 필요한 부분만 불러와 사용하므로, 시스템의 전반적인 성능 향상에도 기여했다.

4. 인터럽트 및 예외 처리

Z80000은 인터럽트를 예외(exception)의 한 유형으로 취급한다. 즉, 인터럽트, 트랩(trap), 버스 오류, 리셋(reset) 등이 모두 예외 처리 메커니즘을 공유한다. 이러한 통합된 방식은 시스템의 안정성과 효율성을 높이는 데 기여한다.

인터럽트가 발생하면, Z80000은 현재 실행 중인 명령어를 완료한 후, 인터럽트 벡터(interrupt vector)를 참조하여 해당 인터럽트 서비스 루틴(interrupt service routine, ISR)의 주소를 얻는다. 인터럽트 벡터는 인터럽트 유형에 따라 고유한 주소를 가지며, 이 주소를 통해 적절한 ISR로 분기한다. ISR은 인터럽트의 원인을 처리하고, 필요한 경우 시스템의 상태를 변경한 후, `RETI` (Return from Interrupt) 명령을 사용하여 인터럽트 발생 이전의 실행 흐름으로 돌아간다.

예외 처리는 다음과 같은 과정을 따른다. 특정 조건 발생 시(예: 0으로 나누기, 메모리 접근 오류), CPU는 현재 실행 중인 명령어의 상태를 저장하고, 해당 예외에 대한 예외 벡터를 참조한다. 예외 벡터는 예외 유형에 따라 정의된 ISR의 주소를 담고 있으며, CPU는 이 주소로 분기하여 ISR을 실행한다. ISR은 예외의 원인을 파악하고, 오류를 수정하거나 시스템을 안전한 상태로 복구하는 등의 작업을 수행한다. ISR 실행 후에는 `RETI` 명령을 사용하여 예외 발생 이전의 상태로 복귀한다.

Z80000은 다양한 유형의 예외를 지원하며, 각각에 대해 고유한 예외 벡터를 할당한다. 대표적인 예외 유형으로는 리셋, 버스 오류, 트랩 등이 있다. 리셋 예외는 시스템 부팅 시나 치명적인 오류 발생 시에 발생하며, 시스템 초기화 및 복구 작업을 수행한다. 버스 오류는 메모리 접근 오류 등, 하드웨어적인 문제 발생 시에 처리된다. 트랩은 특정 조건(예: 디버깅, 소프트웨어 인터럽트)에 의해 의도적으로 발생하며, 시스템의 동작을 제어하거나 디버깅 정보를 수집하는 데 사용된다.

5. 코프로세서 지원

Z80000은 부동 소수점 연산을 위해 별도의 코프로세서를 지원했다. Zilog Z8070 부동 소수점 코프로세서는 IEEE 754 표준을 준수하며, 32비트 및 64비트 단정밀도 및 배정밀도 부동 소수점 형식을 지원했다. Z8070은 Z80000과 함께 사용되어 과학 기술 계산, 그래픽 처리 및 기타 수치 연산 집약적인 작업의 성능을 향상시켰다. 이러한 코프로세서의 지원은 Z80000 시스템의 유연성을 높이고, 다양한 응용 분야에 적용될 수 있도록 했다.

6. Z320 (CMOS 버전)

Z80000의 CMOS 버전인 Z320은 저전력 소비를 위해 설계되었다. Z320은 1980년대 후반에 개발되었으며, Z80000과 동일한 명령어 집합과 아키텍처를 공유하여 코드 호환성을 유지했다. Z320은 주로 임베디드 시스템 및 배터리 구동 장치와 같이 전력 효율성이 중요한 응용 분야에 사용되었다. 비록 Z320은 Z80000의 CMOS 버전으로 개발되었지만, Z80000의 전체적인 시장 영향력은 크지 않았고, Z320 또한 널리 채택되지는 못했다.

참조

[1] 웹사이트 The Z8000 / Z80,000 / Z16C00 CPU homepage https://www.kranenbo[...] 2024-11-10
[2] 웹사이트 Z80,OOOTM CPU Preliminary Technical Manual September 1984 http://bitsavers.tra[...] 2023-12-08
[3] 웹사이트 IC collection Z80000 http://www.itofamily[...]
[4] 뉴스 8ビットCPUの名機Z80の後継はなぜ失敗した? Zilog Z800/Z8000/Z80000の誕生と消滅(人知れず消えていったマイナーCPUを語ろう 第10回) https://www.techno-e[...]
[5] 웹사이트 IC collection Z320 http://www.itofamily[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com