맨위로가기

인텔 8085

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

1. 개요

인텔 8085는 1970년대에 개발된 폰 노이만 구조 기반의 8비트 마이크로프로세서로, 인텔 8080의 개선된 후속 제품이다. 8080보다 향상된 성능, 집적도, 기능 통합을 이루었으며, 3개의 인터럽트와 DMA를 지원한다. 8085는 4가지 어드레싱 모드를 가지며, 8080의 명령어 세트와 호환된다. 8085는 MCS-85 패밀리를 구성하는 다양한 주변 칩들과 함께 사용되었으며, 개인용 컴퓨터, 임베디드 시스템, 우주 항공 및 산업 제어 등 다양한 분야에서 활용되었다.

더 읽어볼만한 페이지

  • 8비트 마이크로프로세서 - 인텔 8080
    인텔이 1974년에 출시한 8비트 마이크로프로세서인 인텔 8080은 8008의 후속 제품으로서 성능과 기능 향상을 통해 초기 마이크로컴퓨터 시장 성장을 이끌었으며, 64KB 메모리 공간 지원, 다양한 애플리케이션 구현, CP/M 운영체제 핵심 프로세서 역할 수행, 후속 x86 아키텍처 기반 마련 등 중요한 역할을 수행했다.
  • 8비트 마이크로프로세서 - 인텔 8008
    인텔 8008은 1972년 인텔이 출시한 8비트 마이크로프로세서로, 데이터포인트 3300 터미널용으로 구상되었으나 인텔이 지적 재산을 인수하여 상업적 성공을 거두며 인텔 8080과 x86 제품군의 발판이 되고 최초의 상업용 개인용 컴퓨터에 사용되었다.
  • 인텔의 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔의 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
  • 인텔 x86 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔 x86 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
인텔 8085
기본 정보
검은색 플라스틱과 은색 핀이 있는 인텔 P8085AH-2 프로세서 변형
검은색 플라스틱과 은색 핀이 있는 인텔 P8085AH-2 프로세서 변형
제조업체인텔 및 기타 여러 회사
아키텍처8085
패키지40핀 DIP
이전 프로세서인텔 8080
다음 프로세서인텔 8086
소켓DIP40
지원 상태지원 중단
생산
생산 시작1976년 3월
생산 종료2000년
성능
클럭 속도 (최저)3, 5, 6
클럭 속도 단위MHz
최소 공정 크기3 μm
트랜지스터 수6,500
데이터 폭8 비트
주소 폭16 비트

2. 역사적 배경

인텔 8085는 성공을 거둔 i8080 프로세서를 기반으로 사용 편의성을 개선하기 위해 개발되었다. 기존 i8080 시스템은 동작을 위해 클럭 제네레이터(i8224), 시스템 컨트롤러(i8228) 등 여러 보조 칩이 필요했고, 세 종류의 다른 전압(+12V, +5V, -5V)을 공급해야 하는 등 회로 구성이 복잡하고 전원 요구 사항도 까다로웠다. 이러한 단점을 해결하고자 i8085는 필요한 보조 기능 일부를 칩 내부에 통합하고, +5V 단일 전원만으로 동작하도록 설계하여 시스템 구성을 간소화했다.

하지만 비슷한 시기에 등장한 Z80 프로세서는 i8080과 호환되면서도 더 많은 기능과 향상된 성능을 제공하여 개인용 컴퓨터(PC) 시장에서 큰 인기를 얻었다. 이 때문에 i8085가 범용 프로세서로서 PC에 탑재되는 경우는 상대적으로 적었다. i8080에서 확장된 명령어 세트 측면에서도 i8085와 Z80은 서로 호환되지 않았다.

대신 i8085는 시스템 구성의 간편함 덕분에 마이크로컨트롤러로서 임베디드 시스템 분야에서 널리 사용되었다. 전용 컴패니언 칩과 조합하면 적은 수의 칩만으로도 완전한 시스템을 구축할 수 있었기 때문이다. 특히 임베디드 환경에서 중요한 저전력 요구에 부응하여 경쟁 제품인 Z80보다 먼저 CMOS 공정 기반 버전이 개발 및 출시되었으며, PC-8200 시리즈와 같은 초기 핸드헬드 컴퓨터에도 채용되었다.

2. 1. 8080과의 관계 및 개선점

8085는 폰 노이만 구조의 인텔 8080을 기본으로 개발되었지만 몇 가지 중요한 차이점과 개선점을 가지고 있다. 8080과는 다르게 8비트 데이터 버스와 16비트 어드레스 버스의 하위 8비트가 멀티플렉스(multiplex) 방식으로 하나의 핀을 공유한다. 이는 핀 수를 줄여 패키지 크기를 작게 유지하는 데 도움이 되었지만, 외부 회로에서 주소와 데이터를 분리(demultiplex)하기 위한 래치가 필요하다는 단점이 있다. 다만, 인텔의 8155, 8355, 8755 메모리 및 I/O 칩은 내부에 어드레스 래치를 내장하여 8085와 직접 연결될 수 있었다.

8085는 약 6,500개의 트랜지스터로 구성되었으며[25], 초기에는 nMOS 회로로 설계되었으나 나중에 "H" 버전은 HMOS(인텔의 향상된 nMOS 공정)를 사용하여 성능이 개선되었다. HMOS는 원래 고속 SRAM 생산을 위해 개발된 기술이었다.

하드웨어적으로 8085는 8080 시스템에 별도로 필요했던 8224(클럭 제네레이터)와 8228(시스템 컨트롤러)의 기능을 내부에 통합하여 칩셋 구성이 간소화되었다. 또한, +12V, +5V, -5V의 3가지 전원이 필요했던 8080과 달리 단일 +5V 전원만 사용하도록 개선되어 시스템 설계가 더욱 단순화되고 전력 소비가 줄었다.

인터럽트 기능도 강화되었다. 8085는 RST 7.5, RST 6.5, RST 5.5 등 3개의 마스크 가능한 하드웨어 인터럽트와 TRAP이라는 NMI(Non-Maskable Interrupt), 그리고 8080과 동일한 INTR 인터럽트 입력을 지원한다. RST n.5 인터럽트는 프로세서의 특정 핀에 할당되어 있어, 간단한 시스템에서는 별도의 외부 인터럽트 컨트롤러(예: 8259) 없이도 여러 인터럽트 소스를 처리할 수 있어 비용 절감에 유리했다.

8080처럼 외부 대기 상태 신호(READY 핀)를 통해 느린 메모리 장치와의 동기화를 지원했고, DMA(Direct Memory Access)를 위해 HOLD(버스 요청)와 HLDA(버스 승인) 신호를 사용했다. 8080보다 개선된 점 중 하나는 수정 진동자를 칩에 직접 연결할 수 있다는 점이다. 내장된 클럭 제네레이터는 연결된 수정 진동자 주파수의 절반에 해당하는 내부 시스템 클럭을 생성한다. 예를 들어, 6.14MHz의 수정 진동자를 연결하면 3.07MHz의 클럭으로 동작한다.

소프트웨어 측면에서 8085는 8080과 바이너리 호환성을 유지했다. 기본적인 명령어 집합은 Datapoint 2200 터미널을 위해 개발된 8008 프로세서에서 유래했으며, 8080은 8008에 몇 가지 16비트 연산 명령어 등을 추가했고, 8085는 8080 명령어 집합에 인터럽트 마스크를 읽고 쓰는 RIM(Read Interrupt Mask)과 SIM(Set Interrupt Mask)이라는 두 개의 명령어가 추가되었다. 이 명령어들은 새로 추가된 인터럽트 기능과 직렬 입출력(SID, SOD 핀) 기능을 제어하는 데 사용된다.

동 시기에 등장한 Z80은 8080의 상위 호환 프로세서로서 더 많은 명령어와 레지스터, 내장 DRAM 리프레시 기능 등을 제공하여 큰 성공을 거두었다. 이 때문에 8085가 범용 프로세서로서 개인용 컴퓨터 등에 탑재된 예는 상대적으로 적다. 또한, 8080에 대해 확장된 명령어는 8085와 Z80 사이에는 호환성이 없다.

그러나 8085는 클럭 제네레이터와 시스템 컨트롤러를 내장하고 단일 전원으로 동작하는 등 시스템 구성이 간편하다는 장점 덕분에 마이크로컨트롤러로서 임베디드 시스템 시장에서 널리 사용되었다. 컴패니언 칩(예: 8155 RAM/IO/Timer, 8355 ROM/IO 또는 8755 EPROM/IO)과 조합하면 최소 3개의 칩으로 완전한 마이크로컴퓨터 시스템을 구성할 수 있다. 특히 임베디드 분야의 저전력 요구에 맞춰 Z80보다 먼저 CMOS 버전(80C85)이 개발되어 출시되었고, PC-8200과 같은 초기 휴대용 컴퓨터나 다양한 산업 제어 장비에 채용되었다.

다음은 8080과 8085의 주요 차이점을 요약한 표이다.

항목인텔 8080인텔 8085
동작 클럭2.0MHz~3.0MHz~
인터럽트 컨트롤러없음(외장)간이 컨트롤러 내장
클럭 제너레이터외장(8224)내장
시스템 컨트롤러외장(8228)내장
전원3전원(+12V, +5V, -5V)단일 전원(+5V)
버스 구조분리된 16비트 주소 버스, 8비트 데이터 버스멀티플렉스된 주소/데이터 버스 (AD0-AD7)
IO 포트없음직렬 포트 (SID/SOD) 및 1비트 제어 포트 내장
명령어 수244246
제조 공정6.0μm N-MOS3.0μm N-MOS (이후 HMOS, CMOS)
집적 트랜지스터 수4,500 ~ 6,0006,500[25]


2. 2. Z80과의 경쟁

i8080의 상위 호환으로 더 많은 기능을 가진 Z80이 비슷한 시기에 등장했기 때문에, i8085가 범용 프로세서로서 개인용 컴퓨터(PC)에 탑재된 경우는 많지 않았다. 또한 i8080에 비해 확장된 명령어 세트에 있어서 i8085와 Z80은 서로 호환되지 않았다. 이는 중복되는 코드에 다른 명령이 할당되거나 플래그의 동작 방식이 다른 등의 차이점 때문이었다.

하지만 i8085는 컴패니언 칩과 조합하면 최소 3개의 칩만으로 마이크로컨트롤러 시스템을 구성할 수 있다는 장점이 있어, 마이크로컨트롤러로서 임베디드 시스템용으로 널리 사용되었다. 특히 임베디드 분야에서는 저전력 소모가 중요한 요구 사항이었는데, i8085는 Z80보다 더 일찍 CMOS 버전이 개발되어 출시되었다. 핸드헬드 컴퓨터인 PC-8200 등에 채용된 사례가 있다.

3. 하드웨어 특징

8085인텔 8080을 기반으로 설계되었으나 여러 하드웨어적인 개선이 이루어졌다. 대표적으로 클럭 제네레이터(8224)와 시스템 컨트롤러(8228) 기능을 칩 내부에 통합하여 집적도를 높였다. 또한, 8080이 +12V, +5V, -5V의 세 가지 전원을 필요로 했던 것과 달리, 8085는 +5V 단일 전원만으로 동작하여 시스템 설계를 간소화했다.[25]

nMOS 회로를 사용하여 설계되었으며, 약 6,500개의 트랜지스터를 집적했다.[4] 이후 "H" 버전은 인텔의 향상된 nMOS 공정인 HMOS 기술로 제작되었는데, 이는 원래 고속 SRAM 생산을 위해 개발된 기술이었다.[3]

8080과 중요한 차이점 중 하나는 버스 구조이다. 8085는 8비트 데이터 버스와 16비트 주소 버스의 하위 8비트를 멀티플렉스(multiplex)하여 핀 수를 40개로 유지했다. 이로 인해 외부 메모리나 주변 장치를 연결할 때 버스를 분리(demultiplex)하는 회로가 필요했지만, 주소 래치가 내장된 인텔의 8155, 8355, 8755 메모리 칩과는 직접 연결이 가능하여 시스템 구성을 단순화할 수도 있었다.

또한, 인터럽트 시스템이 강화되어 3개의 마스크 가능한 벡터 인터럽트(RST 7.5, RST 6.5, RST 5.5)와 비마스크 인터럽트(TRAP) 등이 추가되었고, 수정 진동자를 직접 연결하여 내부 클럭을 생성하는 기능도 내장되었다. DMA 기능은 8080과 유사하게 HOLD와 HLDA 신호를 통해 지원되었다.

3. 1. 아키텍처

i8085 핀 배열


80858080을 기반으로 한 전형적인 폰 노이만 구조 설계를 따른다. 8080과 달리 상태 신호를 데이터 버스에 다중화하지는 않지만, 8비트 데이터 버스는 16비트 주소 버스의 하위 8비트와 멀티플렉스(multiplex)되어 핀 수를 40개로 제한한다. 상태 신호는 전용 버스 제어 신호 핀과 S0, S1이라는 두 개의 전용 버스 상태 ID 핀으로 제공된다. 핀 40은 전원 공급(+5V)에, 핀 20은 접지에 사용되며, 핀 39는 홀드 핀으로 사용된다.

8085는 nMOS 회로를 사용하여 설계되었으며, 6,500개의 트랜지스터로 구성되었다.[25][4] 나중에 출시된 "H" 버전은 인텔의 향상된 nMOS 공정인 HMOS를 사용했는데, 이는 원래 고속 SRAM 생산을 위해 개발된 기술이었다.[3] 8080과 달리 8085는 단일 5V 전원 공급 장치만 필요로 한다.

8085는 8224(클럭 제네레이터)와 8228(시스템 컨트롤러)의 기능을 칩 내부에 통합하여 집적도를 높였다. Z80과 같은 동시대 프로세서와 비교하면 멀티플렉스된 버스를 분리(demultiplex)해야 한다는 단점이 있지만, 인텔의 8155, 8355, 8755 메모리 칩은 내부에 주소 래치를 가지고 있어 8085와 직접 연결이 가능했다. 이 때문에 8085 시스템은 주로 이들 칩셋으로 구성되었다.

8085는 확장된 인터럽트 시스템을 지원한다. 3개의 마스크 가능한 벡터 인터럽트(RST 7.5, RST 6.5, RST 5.5), 1개의 비마스크 인터럽트(TRAP), 그리고 1개의 외부 서비스 인터럽트(INTR)가 있다. 이 5개의 인터럽트는 각각 프로세서에 별도의 핀이 할당되어 있어, 간단한 시스템에서는 별도의 인터럽트 컨트롤러 없이 비용을 절감할 수 있다. RST 7.5 인터럽트는 에지 트리거(래치) 방식이며, RST 5.5와 6.5는 레벨 감지 방식이다. TRAP을 제외한 모든 인터럽트는 EI 명령으로 활성화되고 DI 명령으로 비활성화된다. 또한, 8080에는 없었던 SIM(Set Interrupt Mask) 및 RIM(Read Interrupt Mask) 명령을 통해 3개의 마스크 가능한 RST 인터럽트를 개별적으로 마스크하거나 상태를 읽을 수 있다.[6] SIM 및 RIM 명령은 직렬 데이터 입출력(SID, SOD 핀) 기능도 제공한다.

8080처럼 8085도 외부 대기 상태 신호(핀 35, READY)를 통해 느린 메모리를 지원했으며, HOLD(핀 39)와 HLDA(핀 38) 신호를 이용한 DMA(Direct Memory Access) 기능을 제공했다. 8080보다 개선된 점은 수정 진동자를 직접 연결하여 내장된 클럭 제네레이터로 수정 진동자 주파수의 절반에 해당하는 내부 클럭을 발생시킬 수 있다는 것이다. 예를 들어, 6.14MHz의 수정 진동자를 연결하면 3.07MHz의 내부 클럭이 생성된다. 내부 클럭은 외부 핀으로 출력되어 다른 장치와 동기화하는 데 사용될 수 있으며, 외부 발진기를 통한 클럭 입력도 가능하다.

8085는 8080의 이진 호환 후속 제품으로, 8080의 전체 명령 집합을 지원한다 (단, 일부 명령어의 플래그 처리 방식이나 타이밍은 다를 수 있음).[5] 따라서 8080용으로 작성된 대부분의 코드는 수정 없이 8085에서 실행될 수 있다. 8085에 새로 추가된 명령어는 SIM과 RIM 뿐이다.[6]

항목인텔 8080인텔 8085
동작 클럭2.0MHz~3.0MHz~
인터럽트 컨트롤러없음(외장)간이 컨트롤러 내장
클럭 제너레이터외장(8224)내장
전원3전원(+12V, +5V, -5V)단일 전원(+5V)
IO 포트없음1비트 포트 내장
명령어 수244246
제조 공정6.0μm N-MOS3.0μm N-MOS
집적 트랜지스터 수4,600 (6,000 설도 있음)6,500



8085는 다음과 같은 버스를 갖추고 있다.



주소 버스의 하위 8비트와 데이터 버스는 멀티플렉스되어 있다. 일반적인 메모리를 연결하기 위해서는 주소 래치와 버스 분리 버퍼가 필요하다.

3. 2. 레지스터

인텔 8085는 프로그래머가 접근할 수 있는 7개의 8비트 레지스터를 가지고 있다. 이들은 각각 A, B, C, D, E, H, L로 명명된다.

  • A 레지스터: 8비트 누산기(Accumulator)로 사용된다. 산술 및 논리 연산의 결과를 저장한다.
  • B, C, D, E, H, L 레지스터: 개별 8비트 레지스터 또는 특정 명령어에서 16비트 레지스터 쌍(BC, DE, HL)으로 사용된다.
  • HL 레지스터 쌍: 일부 명령어에서는 제한적인 16비트 누산기처럼 사용되기도 한다. 또한, HL 레지스터 쌍이 가리키는 메모리 주소의 내용은 M 레지스터(메모리를 나타내는 가상 레지스터)를 통해 접근할 수 있다.


이 외에도 16비트 크기의 특수 목적 레지스터 두 개가 있다.

  • 스택 포인터 (SP): 메모리의 스택 영역을 가리키는 16비트 스택 포인터이다. 이는 8008의 내부 스택을 대체한다.
  • 프로그램 카운터 (PC): 다음에 실행할 명령어의 메모리 주소를 저장하는 16비트 프로그램 계수기이다.

프로그램 상태 워드 (PSW)는 A 레지스터(누산기)와 플래그 레지스터를 합쳐 부르는 말이다. PUSH PSW, POP PSW 같은 명령어를 통해 스택에 저장하거나 불러올 수 있다. 플래그 레지스터는 연산 결과의 상태를 나타내는 비트들로 구성된다.

  • 부호 플래그 (S): 연산 결과가 음수일 때(즉, 누산기의 최상위 비트인 7번 비트가 1일 때) 1로 설정된다.
  • 제로 플래그 (Z): 연산 결과가 0일 때 1로 설정된다.
  • 보조 캐리 플래그 (AC): 연산 중 3번 비트에서 4번 비트로 자리올림(carry)이 발생했을 때 1로 설정된다. BCD 연산에 사용된다.
  • 패리티 플래그 (P): 연산 결과(누산기 값)에서 1인 비트의 개수가 짝수이면 1로 설정되고, 홀수이면 0으로 설정된다.
  • 캐리 플래그 (CY): 연산 결과 누산기의 최상위 비트(7번 비트)에서 자리올림이 발생하거나, 빌림(borrow)이 발생했을 때 1로 설정된다.


아래는 인텔 8085의 레지스터 구조를 나타낸 표이다.

인텔 8085 레지스터
1514131211109876543210레지스터 쌍설명
주요 레지스터
A (누산기)플래그PSWProgram Status Word
BCBCB
DEDED
HLHLH (간접 주소용)
특수 목적 레지스터
SPSPStack Pointer (스택 포인터)
PCPCProgram Counter (프로그램 계수기)
플래그 레지스터 상세 (PSW 하위 바이트)
(A 레지스터)SZXACXPXCYF플래그 (X는 사용되지 않는 비트)


3. 3. 명령어 집합

인텔 8080과 바이너리 호환성을 가지며, 기본적인 명령어 집합은 인텔 8008인텔 8080을 계승하여 소스 코드 호환성을 유지했다. 8080 명령어 집합에 2개의 명령어(RIM, SIM)만 추가되었다.

다른 많은 8비트 프로세서처럼 모든 명령어는 단순성을 위해 단일 바이트로 인코딩된다(레지스터 번호 포함, 즉시 데이터 제외). 일부 명령어 뒤에는 1~2 바이트의 데이터(즉시 피연산자, 메모리 주소, 포트 번호 등)가 따라올 수 있다. 아무 작업도 하지 않는 NOP 명령어(No Operation)도 존재하며, 레지스터나 플래그를 수정하지 않는다.

다단계 프로시저 호출과 복귀를 위한 CALL, RET 명령어를 갖추고 있으며, 이들은 점프처럼 조건부로 실행될 수도 있다. 스택에는 어떠한 16비트 레지스터 쌍이라도 저장하고 복원할 수 있다. 또한, 고정된 8개의 주소(00h, 08h, 10h, ..., 38h)에 위치한 서브루틴을 직접 호출하는 1바이트 명령어 RST도 있다. 이 명령어는 원래 외부 하드웨어에서 해당 인터럽트 서비스 루틴을 호출하기 위한 것이었지만, 빠른 시스템 호출 용도로도 자주 사용되었다. 가장 복잡한 명령어 중 하나인 XTHL은 스택 포인터가 가리키는 주소에 저장된 값과 HL 레지스터 쌍의 값을 교환하는 데 사용된다.

=== 8비트 연산 ===

8비트 산술 및 논리 연산(ALU)은 8비트 누산기 (A 레지스터)에서 수행된다. 두 개의 피연산자를 사용하는 연산의 경우, 다른 피연산자는 즉시 값, 다른 8비트 레지스터, 또는 16비트 레지스터 쌍 HL로 주소를 지정한 메모리 셀이 될 수 있다. 누산기가 아닌 다른 대상을 가질 수 있는 유일한 8비트 ALU 연산은 단항 증가 또는 감소 명령이며, 이는 모든 8비트 레지스터 또는 HL로 주소를 지정한 메모리에서 직접 작동할 수 있다.

MOV 명령어를 사용하면 임의의 두 8비트 레지스터 간, 또는 임의의 8비트 레지스터와 HL로 주소를 지정한 메모리 셀 간에 직접 데이터를 복사할 수 있다. MVI 명령어를 사용하면 즉시 값을 이러한 대상 중 하나로 이동시킬 수 있다. MOV 명령어의 규칙적인 인코딩 방식 때문에 레지스터를 자기 자신에게 복사하는 중복 코드(예: `MOV B,B`)가 존재하는데, 이는 지연(delay) 외에는 거의 쓸모가 없다.[7] 하지만 HL로 주소를 지정한 메모리 셀에서 자기 자신에게 복사하는 코드(`MOV M,M`)는 특별히 HLT 명령으로 사용되어, 외부 리셋이나 마스크되지 않은 인터럽트가 발생할 때까지 프로세서 실행을 중지시킨다.[8]

=== 16비트 연산 ===

8085는 8비트 프로세서이지만 일부 16비트 연산을 지원한다. 세 개의 16비트 레지스터 쌍(BC, DE, HL) 또는 스택 포인터(SP)는 다음과 같은 연산이 가능하다.

  • LXI: 즉시 16비트 값으로 로드.
  • INX, DCX: 1씩 증가 또는 감소.
  • DAD: HL 레지스터 쌍에 더하기. 이 연산은 캐리 플래그를 업데이트하므로, 24비트 이상의 덧셈이나 좌측 시프트를 구현하는 데 유용하다. HL을 자기 자신에게 더하는 것(DAD HL)은 16비트 산술 좌측 시프트를 한 명령으로 수행한다. 스택 포인터를 HL에 더하는 것(DAD SP)은 스택 프레임 내 변수를 인덱싱하는 데 유용하다.
  • LHLD, SHLD: 직접 주소로 지정된 메모리에서 HL을 로드하거나 저장.
  • XCHG: HL과 DE 레지스터 쌍의 값을 교환.
  • XTHL: 스택에 마지막으로 푸시된 항목과 HL 레지스터 쌍의 값을 교환.
  • SPHL: HL의 값을 스택 포인터로 복사.
  • PCHL: HL 레지스터 쌍의 값을 프로그램 카운터로 복사하여 해당 주소로 분기.


이러한 16비트 연산 기능 덕분에 PL/M, 파스칼, C와 같은 고급 프로그래밍 언어로 작성된 코드를 16비트 변수를 사용하여 8085 기계 코드로 컴파일하는 것이 가능했다. 다만, 16비트 뺄셈이나 비트 단위 논리 연산은 8비트 연산을 여러 단계로 수행해야 했으며, 부호 있는 정수의 비교, 곱셈, 나눗셈 등은 별도의 서브루틴 라이브러리를 통해 구현해야 했다.

=== 숨겨진 명령어 ===

8085 어셈블러 개발 과정에서 볼프강 덴하르트(Wolfgang Dehnhardt)와 빌리 M. 소렌슨(Villy M. Sorensen)에 의해 여러 문서화되지 않은 명령어(undocumented instructions)와 플래그가 발견되었다. 이 숨겨진 명령어들은 16비트 피연산자를 사용하며, 워드 단위의 간접 로드 및 저장, 뺄셈, 시프트, 회전, 오프셋 연산 등을 포함한다.[9]

인텔은 8085가 설계되고 발표되기 직전, 당시 개발 중이던 차세대 8086 CPU의 설계를 가속화하고 단순화하기 위해, 이 새로운 12개의 8085 명령어 중 10개를 의도적으로 문서화하지 않기로 결정했다.[10] 이는 8085가 경쟁 제품에 비해 성능이 떨어진다는 내부 평가도 영향을 미쳤을 수 있다.

=== 추가된 명령어 ===

8080 명령어 세트 대비 2개의 명령어가 추가되었다. 이 명령어들은 주로 내장된 직렬 I/O 포트와 인터럽트 제어 기능을 다룬다.

  • RIM (Read Interrupt Mask): 다음 기능을 수행한다.
  • * SID(Serial Input Data) 핀의 상태 읽기
  • * 인터럽트 마스크 상태 읽기 (RST 7.5, RST 6.5, RST 5.5)
  • * 보류 중인 인터럽트 상태 읽기
  • * 인터럽트 활성화 플래그 상태 읽기
  • SIM (Set Interrupt Mask): 다음 기능을 수행한다.
  • * SOD(Serial Output Data) 핀의 출력 값 설정
  • * 인터럽트 마스크 설정 (RST 7.5, RST 6.5, RST 5.5)
  • * RST 7.5 플래그 리셋


=== 8080과의 비교 ===

항목인텔 8080인텔 8085
동작 클럭2.0MHz~3.0MHz~
인터럽트 컨트롤러없음(외장)간이 컨트롤러 내장
클럭 제너레이터외장(8224)내장
전원3전원(+12V, +5V, -5V)단일 전원(+5V)
IO 포트없음1비트 직렬 포트 내장 (SID/SOD)
명령어 수244246 (RIM, SIM 추가)
제조 공정6.0μm N-MOS3.0μm N-MOS
집적 트랜지스터 수4,600 (6,000 설도 있음)6,500



동일한 명령이라도 실행 클록 수가 변경된 경우가 많다. 자세한 명령어와 레지스터 세트는 인텔 8080 명령어 세트 및 인텔 8080 레지스터 세트를 참조할 수 있다.

3. 4. 인터럽트

인텔 8080에도 존재했던 INTR(Interrupt Request) 외에 4개의 새로운 인터럽트 입력 핀을 가지고 있다. 8085는 총 5개의 인터럽트를 지원하는데, 이는 3개의 마스크 가능한 벡터 인터럽트(RST 7.5, RST 6.5, RST 5.5), 1개의 비마스크 인터럽트(TRAP), 그리고 외부에서 서비스 루틴 주소를 받아야 하는 INTR 인터럽트이다.[25] 이 5개의 인터럽트는 각각 프로세서 칩의 별도 핀에 할당되어 있다. 덕분에 간단한 시스템을 구성할 때 별도의 인터럽트 컨트롤러 칩 없이도 인터럽트 처리가 가능해 시스템 구축 비용을 줄일 수 있다.

각 인터럽트의 동작 방식은 다음과 같다.

  • '''RST 7.5''': 에지 트리거(latch) 방식으로 동작한다. 즉, 신호의 상승 에지에서 인터럽트 요청이 인식되고 기억된다.
  • '''RST 6.5''' 및 '''RST 5.5''': 레벨 트리거 방식으로 동작한다. 즉, 해당 핀의 신호 레벨이 high 상태를 유지하는 동안 인터럽트 요청이 유지된다.
  • '''TRAP''': 비마스크 인터럽트(NMI)로, 소프트웨어적으로 비활성화할 수 없다. 일반적으로 전원 이상 감지 등 치명적인 오류 처리에 사용된다. 에지와 레벨 트리거 모두에 반응하며, 가장 높은 우선순위를 가진다. 벡터 주소는 0024H이다.
  • '''INTR''': 레벨 트리거 방식으로 동작하며, 외부 장치로부터 인터럽트 요청을 받는다. 마스크 가능한 인터럽트 중 가장 낮은 우선순위를 가진다.


TRAP을 제외한 모든 인터럽트(RST 7.5, RST 6.5, RST 5.5, INTR)는 CPU의 EI(Enable Interrupt) 명령어를 실행해야 활성화되고, DI(Disable Interrupt) 명령어를 실행하면 비활성화된다.

특히 8085에는 인텔 8080에는 없던 새로운 명령어인 SIM(Set Interrupt Mask)과 RIM(Read Interrupt Mask)이 추가되었다.[6] 이 명령어들을 이용하면 다음과 같은 작업이 가능하다.

  • '''RIM(Read Interrupt Mask)''':
  • * 현재 인터럽트 마스크 상태(RST 7.5, 6.5, 5.5의 개별 마스크 여부 및 전체 인터럽트 활성화 상태)를 읽는다.
  • * 보류 중인 인터럽트(어떤 인터럽트가 요청되었는지) 상태를 확인한다.
  • * RST 7.5 인터럽트 요청을 기억하는 내부 래치(플립플롭)를 리셋한다. (인터럽트 서비스 없이 요청 취소)
  • * SID(Serial Input Data) 핀을 통해 외부로부터 1비트 직렬 데이터를 입력받는다.
  • '''SIM(Set Interrupt Mask)''':
  • * RST 7.5, RST 6.5, RST 5.5 인터럽트를 개별적으로 마스크(비활성화)하거나 마스크를 해제(활성화)한다.
  • * SOD(Serial Output Data) 핀을 통해 외부로 1비트 직렬 데이터를 출력한다.


SIM과 RIM 명령어는 각각 4 클럭 사이클 만에 실행되므로, 일반적인 메모리 입출력(Memory-mapped I/O)이나 포트 입출력(Port-mapped I/O) 방식을 사용하는 것보다 훨씬 빠르게 직렬 데이터를 주고받거나 인터럽트 상태를 제어할 수 있다.

INTR 인터럽트가 요청(assert)되면, CPU는 인터럽트 확인(Acknowledge) 사이클을 시작하며, 이에 동기하여 외부 인터럽트 컨트롤러(주로 인텔 8259 칩이 사용됨)가 인터럽트 요인에 따른 벡터 정보를 제공해야 한다. 반면, RST 계열 인터럽트(RST 7.5, 6.5, 5.5)와 TRAP 인터럽트는 각 핀에 대응하는 고정된 메모리 주소(벡터)로 CPU가 직접 분기하므로, 여러 인터럽트 요인을 처리하기 위해 다른 칩이 필요 없다.

RST 인터럽트의 벡터 주소와 원본 소스에 명시된 우선순위는 다음과 같다.

인터럽트 입력벡터 주소 (16진수)우선 순위 (원본 표기)
RST 5.5002CH높은 우선 순위
RST 6.50034H중간 우선 순위
RST 7.5003CH낮은 우선 순위



TRAP 인터럽트는 마스크 불가능하며 가장 높은 우선순위를 가진다. INTR은 마스크 가능한 인터럽트 중 가장 낮은 우선순위를 가진다.

3. 5. 입출력(I/O) 설계



인텔 8085는 메모리 맵 I/O와 포트 맵 I/O 방식을 모두 지원한다.
포트 맵 I/O 방식은 전용 입출력(I/O) 명령어를 사용하여 최대 256개의 I/O 포트에 접근하는 방식이다. 이 설계는 프로세서의 제한된 주소 공간을 효율적으로 활용할 수 있다는 장점이 있다.[6] 포트 맵 I/O 명령어를 실행하면, 8비트 I/O 포트 주소가 16비트 주소 버스의 하위 8비트와 상위 8비트 모두에 동일하게 출력된다. 예를 들어, `IN 05h` 명령어는 주소 버스에 `0505h`를 내보낸다. 이러한 I/O 처리 방식은 8080과 호환되는 자일로그 Z80 및 x86 마이크로프로세서 제품군에서도 유사하게 찾아볼 수 있다.
메모리 맵 I/O 방식은 메모리 주소를 사용하는 일반 명령어(예: LDA, STA)를 통해 I/O 장치에 접근한다. 이 경우 I/O 접근은 버스 상에서 일반적인 메모리 접근과 동일한 신호로 처리된다.

또한 8085는 1비트 직렬 입출력을 위한 SID(Serial Input Data) 핀과 SOD(Serial Output Data) 핀을 내장하고 있다. 이 핀들은 8080에는 없던 8085의 고유 명령어인 RIM(Read Interrupt Mask)과 SIM(Set Interrupt Mask)을 통해 제어된다.[6] RIM 명령어는 다른 기능들과 함께 SID 핀의 상태를 읽어 들이는 기능을 수행하며, SIM 명령어는 다른 기능들과 함께 SOD 핀으로 1비트 데이터를 출력하도록 설정하는 기능을 수행한다. 이 두 명령어는 각각 4 클럭 사이클 만에 실행되므로, 일반적인 병렬 I/O 포트나 메모리 맵 I/O 방식보다 훨씬 빠르게 직렬 데이터를 입출력할 수 있어 간단한 직렬 통신이나 외부 상태 확인 등에 유용하게 사용될 수 있다.

4. 소프트웨어 개발 환경

인텔8080 및 8085 마이크로프로세서를 위한 다양한 하드웨어 및 소프트웨어 개발 도구를 제공했다. 초기에는 MDS-80과 같은 데스크톱 크기의 개발 시스템이 사용되었으며, 이는 ISIS 운영 체제를 기반으로 인서킷 에뮬레이터(ICE)와 EPROM 프로그래밍 기능을 지원했다. 이후 휴대성을 높인 iPDS 시스템과 저가형 교육/개발 키트인 SDK-85 보드 등 다양한 형태의 개발 하드웨어가 출시되었다.

소프트웨어 측면에서는 어셈블러 외에도 PL/M-80, 파스칼과 같은 고급 언어 컴파일러를 제공했으며, 작성된 프로그램을 EPROM에 기록하여 임베디드 시스템에서 사용할 수 있도록 연결하고 배치하는 유틸리티도 지원했다. 이러한 개발 환경은 8085 기반 시스템의 설계 및 구현에 활용되었다.

4. 1. 개발 시스템

인텔은 8080과 8085 마이크로프로세서를 위한 개발 시스템 시리즈를 생산 및 판매했다.

초기 시스템 중 하나인 PDS(Personal Development System)는 CPU와 모니터, 8인치 플로피 디스크 드라이브를 갖춘 큰 상자 형태였으며, ISIS 운영체제를 실행하고 에뮬레이터 포드와 외부 EPROM 프로그래머를 작동시킬 수 있었다. 이와 유사하게 MDS-80 마이크로프로세서 시스템은 초기에는 8080 프로세서를 탑재했으며, 이후 인서킷 에뮬레이터(ICE)를 포함한 8085 및 8086 지원이 추가되었다. MDS-80은 CPU, 모니터, 8인치 플로피 디스크 드라이브 1개를 포함하는 약 약 50.80cm 정육면체 크기의 크고 무거운 데스크톱 박스 형태였으며, 나중에 플로피 드라이브 2개를 더 장착한 외부 박스가 제공되었다. 이 시스템은 개발 시스템 전용 멀티버스 카드 케이지를 사용했으며, 이는 이후 멀티버스가 별도의 제품으로 개발되는 계기가 되었다.

나중에 출시된 iPDS는 손잡이가 달린 휴대용 장치로, 크기는 약 약 20.32cm × 약 40.64cm × 약 50.80cm였다. 작은 녹색 화면, 상단에 내장된 키보드, 5¼인치 플로피 디스크 드라이브를 갖추고 ISIS-II 운영체제를 실행했다. iPDS는 두 번째 8085 프로세서를 장착하여 제한적인 형태의 다중 프로세서 작동을 지원했다. 이를 통해 두 프로세서가 화면, 키보드, 플로피 디스크 드라이브를 공유하며 동시에 독립적으로 실행될 수 있었는데, 예를 들어 한 프로세서에서 프로그램을 어셈블하는 동안 다른 프로세서에서 파일을 편집하는 것이 가능했다. 또한 버블 메모리 옵션과 EPROM, 인텔 8048, 인텔 8051 프로그래밍 모듈 등 다양한 모듈을 측면에 장착하여 독립형 장치 프로그래머 기능을 대체할 수 있었다.

저가형 옵션으로는 "MCS-85 시스템 설계 키트"(SDK-85) 보드가 있었다. 이 보드에는 8085 CPU, 디버깅 모니터 프로그램을 포함하는 8355 ROM, 8155 RAM 및 22개의 I/O 포트, 8279 헥스 키패드 및 8자리 7 세그먼트 LED, 그리고 텔레타이프(TTY) 20mA 전류 루프 직렬 인터페이스가 포함되었다. 추가로 2K×8 8755 EPROM을 장착할 수 있는 패드와 256 바이트 RAM을 갖춘 8155 I/O 타이머/카운터를 선택적으로 추가할 수 있었다. 모든 데이터, 제어, 주소 신호는 듀얼 핀 헤더를 통해 접근 가능했으며, 넓은 프로토타입 제작 영역이 제공되었다.

인텔은 이러한 하드웨어 시스템과 함께 8080/8085 어셈블러, PL/M-80 및 파스칼 컴파일러, 그리고 프로그램을 EPROM에 기록하여 임베디드 시스템에서 사용할 수 있도록 연결하고 배치하는 도구 등 다양한 소프트웨어도 판매하였다.

4. 2. 어셈블러 및 컴파일러

인텔은 8080과 8085 프로세서를 위한 다양한 개발 도구를 제공했다.
개발 시스템

  • MDS-80 (Microprocessor Development System): 인텔은 8080 및 8085용으로 MDS-80 마이크로프로세서 시스템으로 알려진 일련의 개발 시스템을 생산했다. 최초의 개발 시스템에는 8080 프로세서가 탑재되었다. 이후 인서킷 에뮬레이터(ICE)를 포함한 8085 및 8086 지원이 추가되었다. 이 시스템은 CPU, 모니터 및 약 20.32cm 플로피 디스크 드라이브 1개를 포함하는 약 약 50.80cm 정육면체 크기의 크고 무거운 데스크톱 박스(인텔 기업 블루 색상)였다. 나중에 플로피 드라이브 2개가 더 있는 외부 박스가 제공되었다. 이 시스템은 ISIS 운영 체제를 실행하며 에뮬레이터 포드 및 외부 EPROM 프로그래머도 작동할 수 있었다. 이 장치는 개발 시스템만을 위해 제작된 멀티버스 카드 케이지를 사용했으며, 이는 멀티버스를 별도의 제품으로 개발하는 결과를 낳았다.
  • PDS (Personal Development System): 오리지널 PDS는 CPU와 모니터, 약 20.32cm 플로피 디스크를 사용하는 커다란 박스였는데 ISIS 운영체제와 에뮬레이터 포드와 EPROM 프로그래머를 작동할 수 있었다. 나중에 출시된 iPDS는 손잡이가 달린 휴대용 장치로, 크기는 약 약 20.32cm × 약 40.64cm × 약 50.80cm 정도였다. 작은 녹색 화면, 상단에 내장된 키보드, 약 13.34cm 플로피 디스크 드라이브가 있으며 ISIS-II 운영 체제를 실행했다. 또한 두 번째 8085 프로세서를 수용하여 두 프로세서가 동시에 독립적으로 실행되는 제한적인 형태의 다중 프로세서 작동을 허용했다. 화면과 키보드는 두 프로세서 간에 전환할 수 있어 한 프로세서에서 프로그램을 어셈블하는 동안 다른 프로세서에서 파일을 편집할 수 있었다. 이 장치에는 버블 메모리 옵션과 EPROM, 인텔 80488051 프로그래밍 모듈을 포함한 다양한 프로그래밍 모듈이 있었으며, 이는 독립형 장치 프로그래머를 대체하여 측면에 꽂을 수 있었다.
  • SDK-85 (MCS-85 System Design Kit): 저가형 보드 형태의 개발 키트로, 8085 CPU, 디버깅 모니터 프로그램을 포함하는 8355 ROM, 8155 RAM 및 22개의 I/O 포트, 8279 헥스 키패드 및 8자리 7 세그먼트 LED, 그리고 TTY(텔레타이프) 20mA 전류 루프 직렬 인터페이스가 포함되어 있었다. 2K×8 8755 EPROM을 하나 더 장착할 수 있는 패드가 있었으며, 256 바이트 RAM 8155 I/O 타이머/카운터도 선택적으로 추가할 수 있었다. 모든 데이터, 제어 및 주소 신호는 듀얼 핀 헤더에서 사용할 수 있었고, 넓은 프로토타입 제작 영역이 제공되었다.

소프트웨어인텔은 하드웨어 개발 시스템과 함께 다양한 소프트웨어 도구를 제공했다. 대표적으로 8080/8085 어셈블러가 있었으며, 고급 언어로는 PL/M-80과 파스칼 컴파일러를 판매했다. 또한, 작성된 프로그램을 EPROM에 기록하여 임베디드 시스템에서 사용할 수 있도록 프로그램을 연결하고 정적으로 배치하기 위한 일련의 도구들도 생산했다.

4. 3. 시뮬레이터

8085 마이크로프로세서를 위한 다양한 소프트웨어 시뮬레이터가 존재한다. 이를 통해 그래픽 사용자 인터페이스(GUI) 환경에서 명령어(opcode)의 실행 과정을 시뮬레이션하며 학습할 수 있다.

주요 시뮬레이터는 다음과 같다.

또한, 안드로이드 환경에서도 https://play.google.com/store/apps/details?id=mp.project.intel8085simulator 인텔 8085 시뮬레이터를 사용할 수 있다.

5. 응용 사례

8085는 다양한 활용을 위해 MOV, ADD, SUB, JMP 등 여러 명령어로 구성된 명령어 셋을 제공한다. 이를 통해 분기, 덧셈, 뺄셈, 비트 연산, 비트 시프트 같은 기본적인 작업을 수행하는 프로그램을 작성할 수 있었다. 다만 곱셈과 같이 더 복잡한 연산은 별도의 소프트웨어 알고리즘을 통해 구현해야 했다.

이러한 특징을 바탕으로 8085 프로세서는 초기 개인용 컴퓨터, 임베디드 시스템, 우주 항공 분야의 데이터 처리 장치, 프로그래머블 로직 컨트롤러(PLC) 등 다양한 기기에 적용되었다. 특히 저전력 CMOS 버전인 80C85는 여러 제조사에서 생산되었으며, 일부는 추가적인 기능을 갖춘 변형 제품으로 개발되기도 했다. 특정 응용 분야에서는 방사선 경화 처리된 버전이 사용되기도 했다.[16]

5. 1. 개인용 컴퓨터

8085 프로세서는 몇몇 초기 개인용 컴퓨터에 사용되었다. 예를 들어 TRS-80 모델 100 라인은 OKI에서 제조한 80C85(CMOS 버전 NMOS/HMOS 8085 프로세서)를 사용했다. 80C85는 여러 제조업체에서 생산되었다. 소련에서는 80C85 클론이 지정 IM1821VM85A(ИМ1821ВМ85Аru)로 개발되었으며, 2016년에도 여전히 생산되고 있었다.[15] 일부 제조업체는 추가적인 명령어를 포함한 변형 제품을 제공하기도 했다.

'''인텔 8085 세컨드 소스'''

미쓰비시 M5L8085


OKI M80C85

5. 2. 임베디드 시스템

i8080을 사용한 시스템은 클럭 제네레이터(i8224), 시스템 컨트롤러(i8228) 등 여러 보조 칩이 필요했고, +12V, +5V, -5V의 세 가지 전원이 필요하여 회로 구성이 복잡했다. i8085는 이러한 단점을 개선하여 +5V 단일 전원으로 동작하고, 클럭 제네레이터와 버스 컨트롤러, 간단한 인터럽트 컨트롤러를 내장하여 시스템 설계를 간소화했다.

동시대에 더 많은 기능을 가진 Z80이 등장하면서 i8085가 범용 프로세서로서 PC에 탑재된 경우는 상대적으로 적었다. 또한, i8085와 Z80은 i8080에 대해 확장된 명령어 세트에서 서로 호환되지 않았다.

하지만 i8085는 컴패니언 칩과 조합하여 최소 3개의 칩으로 마이크로컨트롤러 시스템을 구성할 수 있었기 때문에, 임베디드 시스템 용도로 널리 사용되었다. 특히 임베디드 환경의 저전력 요구에 맞춰 Z80보다 먼저 CMOS 버전인 80C85가 개발되어 여러 제조사에서 생산되었다. 소련에서는 80C85의 복제품인 IM1821VM85A(ИМ1821ВМ85Аru)가 개발되어 2016년까지도 생산되었다.[15] 일부 제조사는 추가적인 명령어를 포함한 변형 제품을 제공하기도 했다.

i8085는 컴패니언 칩인 i8155(RAM, I/O, 타이머), i8355(ROM, I/O) 또는 i8755(EPROM, I/O)와 함께 사용되었다. 이를 통해 i8085, i8155, 그리고 i8355 또는 i8755의 3개 칩으로 최소 시스템을 구성할 수 있었다. 만약 애플리케이션이 별도의 RAM을 필요로 하지 않는다면, i8085와 i8355 또는 i8755의 2개 칩만으로도 시스템 구성이 가능했다. 이 컴패니언 칩들은 i8085의 신호에 맞춰 설계되어 글루 로직 없이 마이크로컴퓨터 시스템을 구성할 수 있었으며, 핀 배치 또한 i8085와 인접하여 배치했을 때 배선 연결이 용이하도록 고려되었다.

이러한 특징 덕분에 i8085는 다양한 임베디드 기기에 적용되었다. TRS-80 모델 100 라인과 같은 핸드헬드 컴퓨터는 OKI에서 제조한 80C85를 사용했다. 스위스의 SAIA 사는 1980년대에 자사의 PCA1 라인 프로그래머블 로직 컨트롤러(PLC)의 CPU로 8085 및 8085-2를 사용했다. 또한, Pro-Log Corp.는 8085와 지원 하드웨어를 STD 버스 카드 형태로 제작하여 CPU, RAM, ROM/EPROM 소켓, I/O 및 외부 버스 인터페이스를 포함시켰는데, 이는 인텔의 Multibus 카드 제품과 경쟁 관계에 있었다.

'''Intel 8085 세컨드 소스 제조사'''

5. 3. 우주 항공

1990년대와 2000년대 초반, NASA와 ESA는 여러 우주 물리학 임무에서 8085 프로세서를 온보드 기기 데이터 프로세서로 활용했다. 특히 방사선 경화 처리된 버전이 사용되었으며, 주요 임무로는 CRRES, Polar, FAST, Cluster, HESSI, Sojourner 화성 탐사 로버,[16] 그리고 THEMIS 등이 있다.

5. 4. 산업 제어

스위스의 SAIA 사는 1980년대에 자사의 PCA1 라인 프로그래머블 로직 컨트롤러(PLC)의 중앙 처리 장치(CPU)로 8085 및 8085-2를 사용했다.

또한 8085의 방사선 경화 버전은 극한 환경에서의 제어 능력을 인정받아 우주 분야에서도 활용되었다. 1990년대와 2000년대 초반, 미국 항공우주국(NASA)과 유럽우주국(ESA)은 여러 우주 물리학 임무의 온보드 기기 데이터 프로세서에 이 칩을 사용했다. 대표적인 임무로는 CRRES, Polar, FAST, Cluster, HESSI, Sojourner 화성 탐사 로버,[16] 그리고 THEMIS 등이 있다.

미국의 Pro-Log Corp.는 8085 및 지원 하드웨어를 STD 버스 형식의 카드에 탑재하여 산업용 시스템 구축을 위한 플랫폼을 제공했다. 이 카드에는 CPU, RAM, ROM/EPROM 소켓, 입출력(I/O) 및 외부 버스 인터페이스가 포함되어 있었으며, 당시 인텔의 멀티버스 카드 제품과 직접적인 경쟁 관계에 있었다. Pro-Log Corp.가 제공한 명령어 집합 참조 카드는 인텔 8085 CPU와는 다른 니모닉을 사용하기도 했다.

6. MCS-85 패밀리

8085는 시스템을 구성하기 위해 인텔이 개발한 많은 주변 칩들과 함께 사용되었는데, 이 칩들을 MCS-85 패밀리라고 한다. 8085 자체는 큰 성공을 거두지는 못했지만, MCS-85 패밀리 칩들은 나중에 인텔 8086 프로세서나 초기 IBM PC 등 다른 시스템에서도 널리 사용되었다. 오늘날 개인용 컴퓨터에는 이 칩들이 직접 사용되지는 않지만, 사우스브리지와 같은 VLSI 칩에 이 칩들과 동등한 기능이 내장되어 있다.

MCS-85 패밀리의 주요 칩들은 다음과 같다.

칩 번호설명
8007RAM 컨트롤러
8085CPU
8155RAM + 3 I/O 포트 + 타이머
8156RAM + 3 I/O 포트 + 타이머
8185SRAM
8202DRAM 컨트롤러
8203DRAM 컨트롤러
82051 ~ 8 이진 디코더
8206오류 검출 정정 장치
8207DRAM 컨트롤러
8210TTL To MOS 시프터 & 고전압 클럭 드라이버
82128비트 I/O 포트
82164비트 양방향 병렬 버스 드라이버
8218/8219버스 컨트롤러
8222DRAM 리프레시 컨트롤러
82264비트 양방향 병렬 버스 드라이버
8231산술 처리 유닛
8232부동소수점 프로세서
8237DMA 컨트롤러
8251커뮤니케이션 컨트롤러 (UART)
8253프로그래머블 인터벌 타이머 (PIT)
8254프로그래머블 인터벌 타이머 (PIT)
8255프로그래머블 주변기기 인터페이스 (PPI)
8256멀티펑션 서포트 컨트롤러
8257DMA 컨트롤러
8259프로그래머블 인터럽트 컨트롤러 (PIC)
8271프로그래머블 플로피 디스크 컨트롤러
8272싱글/더블 밀도 플로피 디스크 컨트롤러
8273프로그래머블 HDLC/SDLC 프로토콜 컨트롤러
8274멀티 프로토콜 시리얼 컨트롤러
8275CRT 컨트롤러
8276스몰 시스템 CRT 컨트롤러
8278프로그래머블 키보드 인터페이스
8279키보드/디스플레이 컨트롤러
82828비트 Non-Inverting Latch with Output Buffer
82838비트 Inverting Latch with Output Buffer
8291GPIB Talker/Listener
8292GPIB 컨트롤러
8293GPIB 트랜시버
8294데이터 암호화/암호해독 유닛 + O/P 포트
8295도트 매트릭스 프린터 컨트롤러
8296GPIB 트랜시버
8297GPIB 트랜시버
835516,384비트 (2048 x 8) ROM + I/O
86044096비트 (512 x 8) PROM
87022048비트 (265 x 8 ) PROM
8755EPROM + 2 I/O 포트



MCS-85 패밀리 칩들은 8085 CPU와 신호 타이밍 등을 맞춰 설계되었기 때문에, 별도의 외부 회로 없이도 마이크로컴퓨터 시스템을 쉽게 구성할 수 있었다. 예를 들어, 8085 CPU, 8155(RAM, I/O, 타이머), 그리고 8355(ROM, I/O) 또는 8755(EPROM, I/O) 칩 3개만으로 최소 시스템을 구성하는 것이 가능했다. 만약 응용 프로그램이 내장된 레지스터 외에 추가적인 RAM을 요구하지 않는다면, 8085와 8355 또는 8755의 2개의 칩만으로도 시스템을 구성할 수 있었다. 또한 이 칩들은 8085 옆에 배치했을 때 배선 연결이 용이하도록 핀 배치가 고려되어 설계되었다.

7. 어드레싱 모드

8085다이렉트 어드레싱 모드, 레지스터 어드레싱 모드, 레지스터 인다이렉트 어드레싱 모드, 이미디어트(immediate) 어드레싱 모드 등 4가지 어드레싱 모드가 있다.

참조

[1] 웹사이트 The Life Cycle of a CPU https://www.cpushack[...]
[2] 웹사이트 Intel® Microprocessor Quick Reference Guide - Year https://www.intel.co[...]
[3] 간행물 New Products: HMOS MCS-85 Chips Uses 20 to 30 Percent Less Power Intel Corporation 1981-07
[4] 논문 The history of the microcomputer-invention and evolution 1995
[5] 서적 The MCS-80/85 Family User's Manual http://www.bitsavers[...] Intel 1983-01
[6] 문서
[7] 문서
[8] 문서
[9] 간행물 Unspecified 8085 op codes enhance programming http://www.club100.o[...] McGraw-Hill 1979-01
[10] 간행물 Intel's 8086 https://ieeexplore.i[...] IEEE Computer Society 2010-01
[11] 문서
[12] 간행물 New EPROM completes 5MHz capability for MCS-85™ family Intel Corporation 1980-01
[13] 간행물 Microcomputer Component: New industrial grade product line answers the demand for high-reliability components to operate in industrial applications. Intel Corporation 1979-03
[14] 간행물 Military Products: Intel marches on! Intel Corporation 1979-03
[15] 웹사이트 Микропроцессорный комплект М1821 http://www.nzpp.ru/p[...] AO NZPP 2016-05-31
[16] 웹사이트 Description of the Rover Sojourner https://mars.jpl.nas[...]
[17] 간행물 8086 Available for industrial environment Intel Corporation 1980-05
[18] 간행물 Microcomputer Components: Intel reduces prices on the 8202, the first single chip, complete solution to dynamic RAM control Intel Corporation 1979-05
[19] 간행물 New Product Focus Components: A Refreshing New Dynamic RAM Controller Intel Corporation 1984-07
[20] 간행물 NewsBit: Intel Licenses Oki on CMOS Version of Several Products Intel Corporation 1984-07
[21] 간행물 New Product Focus Components: Peripheral Vision: The 8256AH Combines Four Chips In One Intel Corporation 1984-07
[22] 간행물 Intel peripherals enhance 8086 system design Intel Corporation 1980-05
[23] 간행물 New Products: High-Speed Controller Supports Three Protocols Intel Corporation 1981-07
[24] 간행물 Feature: 8293 Transceiver completes Intel GPIB family Intel Corporation 1980-01
[25] 웹인용 Reichel-Orbital museum - CPU Collection https://web.archive.[...] 2009-06-21



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

문의하기 : help@durumis.com