mir.pe (일반/어두운 화면)
최근 수정 시각 : 2024-10-27 01:31:36

인텔 8080


명령어 집합
CISC AMD64 x86 · M68K · 68xx · Z80 · 8080 · MOS 65xx · VAX
RISC AArch64 ARM · RISC-V · MIPS · DEC Alpha · POWER PowerPC · CELL-BE
LoongArch · OpenRISC · PA-RISC · SPARC · Blackfin · SuperH · AVR32 AVR
VLIW
EPIC
E2K · IA-64 · Crusoe

펜티엄 이전의 인텔 CPU
아키텍처 분류 제품
x86 이전 (4비트) 4004 (1971) 4040 (1974)
x86 이전 (8비트) 8008 (1972) 8080 (1974) 8085 (1977)
x86 (16비트) 8086/8088 (1978/1979) 80186/80188 (1982) 80286 (1982)
x86( IA32) (32비트) 80386 (1985) 80486 (1989)
기타 iAPX432(8800) i860 i960
관련 문서 인텔 펜티엄 시리즈 인텔 코어 시리즈 인텔 코어2 시리즈
인텔 코어i 시리즈 인텔 코어 Ultra 시리즈


1. 개요2. 제원3. 아키텍처
3.1. 레지스터
4. 기타

1. 개요

1974년 4월 인텔에서 출시한 8비트 마이크로프로세서다. 1969년부터 인텔 4004 설계를 도운 시마 마사토시(嶋正利)는 다니던 비지콤을 그만두고 1972년 인텔로 이직하면서 그가 인텔 8080 설계를 주도했다. 페데리코 파진(Federico Faggin)은 그를 지도하면서 설계를 도왔다. #

2년전 출시된 8008의 개선판이며 바이너리 호환성은 없지만 어셈블리어 수준에서 호환되므로 다시 어셈블하면 정상적으로 작동했다.

8008을 기반으로 하고 있지만 내부 구조에서 개선이 이루어졌다. 가장 큰 변화는 함수 호출시 복귀 주소를 스택 포인터를 이용해서 메모리에 저장한다. 이로 인해 8레벨 이상의 함수 호출이 가능해졌다. 이외에도 여러가지 명령어와 레지스터의 용도를 확장했다.

인텔 8008보다 개선된 6μm NMOS 공정으로 생산되었으며, 4500개의 트랜지스터로 구성되어 있다.

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

2. 제원

클럭 2~3.125MHz
데이터 폭 8비트
어드레스 폭 16비트
지원 명령어 72개
트랜지스터 4,500개
공정 6μm

3. 아키텍처

3.1. 레지스터


===# 명령어 #===
8진수 코드 Mnemonic 설명
D7 D6 D5 D4 D3 D2 D1 D0
데이터 이동 명령어
1DS MOV r1, r2 0 1 D D D S S S
1D6 MOV r, M 0 1 D D D 1 1 0
16S MOV M, r 0 1 1 1 0 S S S
0D6 --- MVI r, data 0 0 D D D 1 1 0
data
066 --- MVI M, data 0 0 1 1 0 1 1 0
data
0-1 --- --- LXI rp, data16 0 0 R P 0 0 0 1
low-order data
high-order data
072 --- --- LDA addr 0 0 1 1 1 0 1 0
low-order addr
high-order addr
062 --- --- STA addr 0 0 1 1 0 0 1 0
low-order addr
high-order addr
052 --- --- LHLD addr 0 0 1 0 1 0 1 0
low-order addr
high-order addr
042 --- --- SHLD addr 0 0 1 0 1 0 1 0
low-order addr
high-order addr
0-2 --- --- LDAX addr 0 0 R P 1 0 1 0 rp=B(00), rp=D(01) 만 지정 가능
low-order addr
high-order addr
0-2 --- --- STAX addr 0 0 R P 0 0 1 0 rp=B(00), rp=D(01) 만 지정 가능
low-order addr
high-order addr
사칙연산 명령어
논리연산 명령어
분기 명령어
스택, 입출력, 제어 명령어

===# 8008 명령어와의 대응관계 #===
8008 명령어 클럭 수 8080 명령어 클럭 수
Mnemonic 바이트 수 Mnemonic 바이트 수
Lr1r2 1 10 MOV r1, r2 1 5
LrM 1 16 MOV r, M 1 7
LMr 1 14 MOV M, r 1 7
LrI 2 16 MVI r, data 2 7
LMI 2 18 MVI M, data 2 10
INr/DCr 1 10 INR/DCR r 1 5
(ALU)r 1 10 (ALU) r 1 4
(ALU)M 1 16 (ALU) M 1 7
(ALU)I 2 16 (ALU)I 2 7
RLC/RRC/RAL/RAR 1 10 RLC/RRC/RAL/RAR 1 4
JMP 3 22 JMP addr 3 10
JFc/JTc 3 18-22 Jcc addr 3 10
CAL 3 22 CALL addr 3 17
CFc/CTc 3 18-22 Ccc addr 3 11-17
RET 1 10 RET 1 10
RFc/RTc 1 6-10 Rcc addr 1 5-11
RES 1 10 RST n 1 11
INP 1 16 IN port 2 10
OUT 1 12 OUT port 2 10
HLT 1 8 HLT 1 7

4. 기타


[1] 자일로그의 창립 멤버이자 Z80의 개발 주체가 8080의 설계 주역인 페데리코 파진과 시마 마사토시이기에 두 CPU는 닮을 수밖에 없다. [2] B-C, D-E, H-L은 8비트 레지스터 두개를 하나(앞에 표기)는 상위 8비트 하나(뒤에 표기)는 하위 8비트로 하여 16비트로 만든 것이다.