인텔 8080

 


1. 개요
2. 상세
3. Z80과의 비교
3.1. 레지스터의 비교
3.2. 명령어 세트의 비교
3.3. 주소 지정 범위 비교
4. 기타


1. 개요


1974년 4월 인텔에서 출시한 8비트 마이크로프로세서다.
2년전 출시된 8008의 개선판이며 바이너리 호환성은 없지만 어셈블리어 수준에서 호환되므로 다시 어셈블하면 정상적으로 작동했다.
8008을 기반으로 하고 있지만 내부 구조에서 개선이 이루어졌다. 가장 큰 변화는 함수 호출시 복귀 주소를 스택 포인터를 이용해서 메모리에 저장한다. 이로 인해 8레벨 이상의 함수 호출이 가능해졌다. 이외에도 여러가지 명령어와 레지스터의 용도를 확장했다.
공정이 더 미세해져서 6마이크로미터의 공정을 사용했다.

2. 상세


인텔 8080은 컴퓨터 역사에서 가장 중요한 마이크로프로세서중의 하나이다. Z80만 하더라도 8080을 기반으로 하고 있으며 당시 가장 널리 사용했던 8비트 운영 체제, CP/M도 원래는 8080 프로세서를 위한 운영체제였다.

3. Z80과의 비교



3.1. 레지스터의 비교


8080의 레지스터 :
8비트 레지스터
B, C, D, E, H, L, F, A
16비트 레지스터
BC, DE, HL, SP (BC, DE, HL은 8비트 레지스터 두개를 하나는 상위 8비트 하나는 하위 8비트로 하여 16비트로 만든 것이다.)
PC
Z80의 레지스터 :
8비트 레지스터
B, C, D, E, H, L, F, A
B', C', D', E', H', L', F', A'
B와 B' 레지스터를 바꾸는 이면지 같은 방법으로 사용할 수 있다. 당연하지만 동시 사용은 불가능.
I(Interrupt Vector) : 인터럽트 벡터값이 저장되있다.
R(Memory Refresh) : DRAM의 리프레시 주기를 카운트한다. 다만 8비트가 아닌 7비트 레지스터다.
16비트 레지스터
BC, DE, HL, SP
IX, IY
PC

3.2. 명령어 세트의 비교


Z80이 개선판이므로 8080은 서술하지 않음.
1. 인덱스 레지스터를 이용한 연산의 추가. 당연하지만 8080은 인덱스 레지스터가 없기 때문에 HL 레지스터를 이용해서 주소 지정을 한다. 그래서 베이스 포인터 개념을 사용하기가 힘들다.
LD r, (IX+d)
ADD A, (IY+d) 등으로 사용할 수 있다.
2. 메모리 리프레쉬 기능 추가.
DRAM을 사용할 경우 리프레쉬 신호를 자동으로 보내준다.
3. 인터럽트 제어의 강화
4. 레지스터를 양쪽으로 사용할 수 있음. r <=> r'

3.3. 주소 지정 범위 비교


차이 없음. 8080과 Z80은 서로 호환된다. 하지만 입출력의 경우 Z80에서 확장된 명령어가 있다.

4. 기타


  • CP/M은 8080용으로 프로그래밍 되었지만 실제로는 Z80을 탑재한 컴퓨터에서 더 많이 사용되었다.
  • 8080의 후속작이 Z80이라고 하는 이야기도 있는데 약간 좀 다르다. Z80은 8080을 기반으로 하는 개선된 프로세서이고 레지스터나 명령어 세트에서 확장이 많이 되었기 때문에 8080의 프로그램을 Z80에서 돌릴수는 있지만 그 역으로는 어렵다.
  • 일본 아케이드 게임의 선구자 스페이스 인베이더에 쓰인 CPU로도 유명하다.
  • AMD가 이 CPU를 리버스 엔지니어링하여 만들었다. (이름은 Am9080)