자일로그 Z80: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
TedBot (토론 | 기여)
잔글 봇: 기계 번역 틀 날짜 추가/정리
잔글편집 요약 없음
4번째 줄:
{{기계 번역|날짜=2015-5-27}}
}}
'''자일로그 Z80'''(Zilog Z80)은 [[마이크로프로세서미국]] 가운데 하나로, [[자일로그]]에서 만들었다사에서 개발한 [[마이크로프로세서]]이다. 1976년에 발표되어 1980년대 중순까지 [[개인용 컴퓨터]]의 [[중앙 처리 장치|CPU]] 등 다양한 등에용도로 쓰였다사용됐다. [[시마 마사토시]]를 비롯하여 [[인텔]]에서 나온 [[8080]]의 개발 스탭이개발자가 설계했기 때문에 8080과 바이너리 수준에서 호환된다.
 
2.5 MHz의 Z80, 4 MHz의 Z80A, 6 MHz의 Z80B, 8 MHz의 Z80H, Z80M 등의 변종과 타사에서의타사의 세컨드 소스 제품이 있다.
 
Z80과 그 호환 CPU는 [[닛폰 전기|NEC]]의 PC-6001, 6601, 8001, 8801 시리즈, 샤프의 MZ, X1 시리즈, MSX 컴퓨터, 세가의 게임기등에게임기 등에 탑재되었다. 또, Z80에서 명령을 몇 개 뺀 간략판이 닌텐도의[[닌텐도]]의 게임보이에[[게임보이]]에 사용되었다. [[S1 MP3 플레이어]]에도 사용된다.
 
자일로그사는자일로그 이를사는 Z80을 16비트(자일로그 Z800, 자일로그 Z8000, 자일로그 Z180, 자일로그 Z280) 32비트 (자일로그 Z80000, 자일로그 Z380)로 확장하려고 노력하였으나, 다른 회사에서 이미 앞서는 바람에 좌절되었다. 자일로그사의자일로그 사에서 발표한 가장 최근의 중앙처리장치는 자일로그 eZ80이며, Z80을 24 MB의 어드레싱 능력을 가지도록 만든 빠른 CPU이다. 그 밖에도 8080에 있던 주변 회로 IC 8251(SIO)·8253(CTC/PIT)·8255(PIO) 에 대응하는 것으로 Z80SIO, Z80CTC, Z80PIO, Z80DMA 등의 패밀리가계열이 있다.
 
[[MS-DOS]]의 전신인, 8비트 컴퓨터의 [[CP/M]]은 Z80을 기준으로기반으로 제작되었다.
 
== Z80의 개요 ==
Z80은 [[인텔]] 8080 마이크로 프로세서의마이크로프로세서의 개량형이라고 할 수 있는 제품이며, 8080에 비해 약간의 아키텍처 확장, 전원 5V 단일화 및, 보다 높은 클럭 주파수 대응 등을 도모할 수 있었다. 주소 공간은 16비트(64KB)로 그 이상으로 확장할 때에는 [[메모리 관리 장치|MMU]] 등으로 뱅크 교환을 한다. [[i8080]]의 개발진들이 회사를 나와 설립한 회사가 [[자일로그]]였으며, Z80은 [[i8080]]과 소프트웨어 호환성이 있게 설계되었다. [[i8080]]에 더 많은 명령어, 인터럽트 모드가 추가되었다. [[동적 램|DRAM]] 리프레시 회로도 포함하고 있다.
 
또한 최대클럭 주파수의 차이는 Z80A (4 MHz), Z80B (6 MHz) 등 말미에 붙인 알파벳으로 구분된다.
29번째 줄:
그 밖에 Z80는, 상대 점프는 할 수 있는 것의 범위가 좁은 등 위치를 바꿔 구성하는 것이 힘들고, 멀티태스킹 지원 운영 체제를 만들려면 적합하지 않다고 여겨졌다. 또, 주소를 참조할 때의 오프셋 지정은 범용 레지스터에는 쓰이지 않고, 인덱스 레지스터 사용에서는 오프셋 지정이 0~7으로 고정인 모아 두어 C 언어의 포인터와의 궁합이 좋지 않은 면이 있었다.
 
또한 Z80는 addressing어드레싱 mode가모드가 적어서, 각 명령 코드를 16 진수로 기억하는 일도 그렇게 어렵지는 않았다.
 
== 레지스터 집합 ==
(괄호 안은 레지스터 크기: 비트 수)
 
A, B, C, D, E, H, L는 8080의 같은 이름의 레지스터와 같은 기능을 가진다. F, F'는 8080 호환의 플레그플래그 레지스터이다.
 
* 범용 레지스터표(8)
61번째 줄:
 
== 입출력 포트 ==
Z80에는 8080으로 같이 메모리주소와는메모리 주소와는 별도로 0으로부터 FF(255)까지의 입출력 포트 주소를 가지고 있었다. 포트 주소는 어드레스 버스의 하위 8비트에8비트로 출력되었지만, 상위 8비트에도 동시에 값이 출력되는 사양이 되어 있었다(이 값에는 입출력 주소를 C레지스터로 지정하는 명령의 경우는 B레지스터, 그 밖의 명령은 A 레지스터의 값이 이용된다).
 
이 사양을 이용하면 입출력 포트 공간을 16비트 주소로 취급할 수 있어있으며, 그래픽 메모리를 여기에 할당하는 것으로,할당하여 메인 메모리가 그래픽 메모리에 의해서 압박 받는 것을 막을 수 있다. 샤프의 X1는 그 대표적인 머신으로, 같은 비행기능을 사용한 것은 그 밖에 Bubcom80등이 있다.
== 예제 코드 ==
<source lang="text">
105번째 줄:
(고속화나, 주변 기능의 확장이 된 것)
 
* HD64180 - 히타치 제작소(현르네사스테크노로지현 르네상스테크놀러지)가 개발. 고속화된 Z80. 빅터의MSX2, HC-90,95에 탑재되었다. 후지쯔의FM TOWNS HR등의 CD-ROM콘트롤러에도 사용되었다.
* [[R800]] - (주) ASCII가 개발한, 내부 16비트의 고속판 Z80 호환 CPU. 곱셈 명령을 확장하고 있지만 불편이 있다. MSX turboR에 탑재되었다. MMU나 [[직접 메모리 접근|DMA]]를 가지지만 같은 turboR에서는 사용되지 않았다.
* μPD9002 - 일본 전기가 개발한, 16비트 PCPC-88VA에 탑재된 CPU. V30하지만 8080 호환 모드를 가지는 것과 같게, V30 모드와 Z80 호환 모드를 가진다.
* KC80 - 카와사키 마이크로일렉트로닉스( 구카와사키 제철)의, Z80 호환의 고속판 CPU. 곱셈·나눗셈 명령을 가진다. KC80를 코어에 MMU등을 추가한 편입용 IC로서 * KL5C8012, KL5C8016, KL5C8400가 판매되고 있다. 16비트판으로 상위 호환의 것 KC160도 판매되고 있다.
 
== 후계후속 CPU ==
* Z180 - 자일로그에서 히타치의 HD64180를 자사의 제품으로서 채용한 것.
* Z280 - 16비트 확장판. 채용되는채용된 일이적이 그다지별로 없고, 지금은 쓰이지 않는다.
* Z380 - 32비트 확장판. 16비트의 Z8000에 흡수되어 발전적 해소했다.