CPU 아키텍처

마이크로 프로세싱 유닛은 전통적인 컴퓨터에서 사용되는 CPU 인 중앙 처리 장치와 동의어입니다. 마이크로 프로세서 (MPU)는 다음 작업을 수행하는 장치 또는 장치 그룹의 역할을합니다.

  • 주변 장치와 통신
  • 타이밍 신호 제공
  • 직접적인 데이터 흐름
  • 메모리의 지침에 지정된대로 컴퓨터 작업을 수행합니다.

8085 마이크로 프로세서

8085 마이크로 프로세서는 64k 메모리를 처리 할 수있는 8 비트 범용 마이크로 프로세서입니다. 이 프로세서에는 40 개의 핀이 있으며 + 5V 단일 전원 공급 장치와 3MHz 단상 클록이 필요합니다.

블록 다이어그램

ALU

ALU는 마이크로 프로세서의 컴퓨팅 기능을 수행합니다. 누산기, 임시 레지스터, 산술 및 논리 회로 및 5 개의 플래그가 포함됩니다. 결과는 누산기 및 플래그에 저장됩니다.

블록 다이어그램

어큐뮬레이터

ALU의 일부인 8 비트 레지스터입니다. 이 레지스터는 8 비트 데이터를 저장하고 산술 및 논리 연산을 수행하는 데 사용됩니다. 연산 결과는 누산기에 저장됩니다.

도표

플래그

플래그는 프로그래밍 가능합니다. 명령어를 사용하여 레지스터에서 데이터를 저장하고 전송하는 데 사용할 수 있습니다. ALU에는 누산기 및 기타 레지스터의 데이터 조건에 따라 설정 및 재설정되는 5 개의 플립 플롭이 포함되어 있습니다.

  • S (Sign) flag− 산술 연산 실행 후 결과의 비트 D 7 이 1이면 부호 플래그가 설정됩니다. 서명 된 숫자에 사용됩니다. 주어진 바이트에서 D7 이 1이면 음수를 의미합니다. 0이면 양수임을 의미합니다.

  • Z (Zero) flag − ALU 연산 결과가 0이면 제로 플래그가 설정됩니다.

  • AC (Auxiliary Carry) flag− 산술 연산에서 D3 자리에 캐리가 생성되어 D 4 자리에 전달 되면 AC 플래그가 설정됩니다. 이 플래그는 내부적으로 BCD 작업에만 사용됩니다.

  • P (Parity) flag− 산술 또는 논리 연산 후 결과가 짝수 1이면 플래그가 설정됩니다. 홀수 1이 있으면 플래그가 재설정됩니다.

  • C (Carry) flag − 산술 연산 결과가 캐리이면 캐리 플래그가 설정되고, 그렇지 않으면 리셋됩니다.

섹션 등록

기본적으로 저장 장치이며 명령어를 사용하여 레지스터에서 데이터를 전송합니다.

  • Stack Pointer (SP)− 스택 포인터는 메모리 포인터로 사용되는 16 비트 레지스터이기도합니다. 스택이라고하는 읽기 / 쓰기 메모리의 메모리 위치를 가리 킵니다. 프로그램 실행 사이에 때때로 데이터가 스택에 저장됩니다. 스택의 시작은 스택 포인터에 16 비트 주소를로드하여 정의됩니다.

  • Program Counter (PC)−이 16 비트 레지스터는 명령어 실행 순서를 지정하는 네 번째 연산을 다룹니다. 이 레지스터는 메모리 포인터이기도합니다. 메모리 위치에는 16 비트 주소가 있습니다. 실행 주소를 저장하는 데 사용됩니다. 프로그램 카운터의 기능은 다음 바이트를 가져올 메모리 주소를 가리키는 것입니다.

  • Storage registers−이 레지스터는 프로그램 실행 중에 8 비트 데이터를 저장합니다. 이러한 레지스터는 B, C, D, E, H, L로 식별됩니다. 레지스터 쌍 BC, DE 및 HL로 결합하여 16 비트 작업을 수행 할 수 있습니다.

시간 및 제어 섹션

이 장치는 클럭 펄스에 따라 마이크로 프로세서 작동을 동기화하고 마이크로 프로세서와 주변 장치 간의 원활한 통신에 필요한 제어 신호를 생성하는 역할을합니다. RD bar 및 WR bar 신호는 데이터 버스에서 데이터를 사용할 수 있는지 여부를 나타내는 동기 펄스입니다. 제어 장치는 마이크로 프로세서, 메모리 및 주변 장치 간의 데이터 흐름을 제어합니다.

PIN 다이어그램

모든 신호는 6 개의 그룹으로 분류 될 수 있습니다

SN 그룹 기술
1 Address bus

8085 마이크로 프로세서에는 단방향이며 고차 주소 버스로 사용되는 8 개의 신호 라인, A 15 -A 8 이 있습니다.

2 Data bus

신호 라인 AD7-AD0은 이중 목적을 위해 양방향입니다. 하위 주소 버스 및 데이터 버스로 사용됩니다.

Control signal and Status signal

제어 신호

RD bar− 읽기 제어 신호 (액티브 로우)입니다. 활성화되면 메모리가 데이터를 읽습니다.

WR bar− 쓰기 제어 신호 (액티브 로우)입니다. 선택한 메모리에 쓸 때 활성화됩니다.

상태 신호

ALU (Address Latch Enable)− ALU가 높을 때. 8085 마이크로 프로세서는 주소 버스를 사용합니다. ALU가 낮을 때. 8085 마이크로 프로세서는 데이터 버스를 사용합니다.

IO/M bar− 이것은 I / O와 메모리 작동을 구별하는 데 사용되는 상태 신호입니다. 높으면 I / O 동작을 나타내고, 낮 으면 메모리 동작을 나타냅니다.

S1 and S0 − 이러한 상태 신호는 I / O 및 메모리 바와 유사하여 다양한 작동을 식별 할 수 있지만 소규모 시스템에서는 거의 사용되지 않습니다.

4 Power supply and frequency signal

Vcc − + 5v 전원 공급 장치.

Vss − 접지 기준.

X, X−이 두 핀에 크리스탈이 연결되어 있습니다. 주파수는 내부적으로 3MHz에서 두 개의 작동 시스템으로 나뉘며, 수정은 6MHz의 주파수를 가져야합니다.

CLK out −이 신호는 다른 장치의 시스템 클럭으로 사용할 수 있습니다.

5 Externally initiated signal

INTR (i/p) − 인터럽트 요청.

INTA bar (o/p) − 승인 인터럽트로 사용됩니다.

TRAP (i/p) − 이것은 마스크 불가능한 인터럽트이며 가장 높은 우선 순위를 갖습니다.

HOLD (i/p) − 실행중인 프로그램을 유지합니다.

HLDA (o/p) − 확인 보류.

READY (i/p) −이 신호는 느리게 응답하는 주변 장치가 데이터를 수신하거나 전송할 준비가 될 때까지 마이크로 프로세서 읽기 또는 쓰기주기를 지연시키는 데 사용됩니다.

RESET IN bar −이 핀의 신호가 낮아지면 프로그램 카운터가 0으로 설정되고 버스가 3 중 상태가되고 MPU가 재설정됩니다.

RESET OUT−이 신호는 MPU가 재설정 중임을 나타냅니다. 이 신호는 다른 장치를 재설정하는 데 사용할 수 있습니다.

RST 7.5, RST 6.5, RST 5.5 (Request interrupt)− 프로그램 제어를 특정 메모리 위치로 전송하는 데 사용됩니다. INTR 인터럽트보다 우선 순위가 높습니다.

6 Serial I/O ports

8085 마이크로 프로세서에는 직렬 전송 직렬 입력 데이터와 직렬 출력 데이터를 구현하는 두 개의 신호가 있습니다.

지시 형식

각 명령어는 컴퓨터 내의 일련의 비트로 표시됩니다. 명령어는 필드라는 비트 그룹으로 나뉩니다. 명령어가 표현되는 방식을 명령어 형식이라고합니다. 일반적으로 직사각형 상자 형태로 표시됩니다. 명령어 형식은 다음 유형일 수 있습니다.

가변 명령어 형식

이는 명령어 길이가 opcode 및 주소 지정자에 따라 달라지는 명령어 형식입니다. 예를 들어, VAX 명령어는 1 바이트에서 53 바이트 사이이며 X86 명령은 1 바이트에서 17 바이트 사이입니다.

체재

이점

이러한 형식은 코드 밀도가 좋습니다.

약점

이러한 명령어 형식은 디코딩 및 파이프 라인이 매우 어렵습니다.

고정 명령어 형식

이 유형의 명령어 형식에서는 모든 명령어의 크기가 동일합니다. 예 : MIPS, Power PC, Alpha, ARM.

체재

이점

디코딩 및 파이프 라인이 쉽습니다.

약점

코드 밀도가 좋지 않습니다.

하이브리드 명령어 형식

이 유형의 명령어 형식에서는 opcode에 의해 지정된 여러 형식 길이가 있습니다. 예 : IBM 360/70, MIPS 16, Thumb.

체재

이점

이러한 유형의 코드 밀도와 명령어 간의 이러한 절충은 디코딩하기가 매우 쉽습니다.

주소 지정 모드

주소 지정 모드는 프로세서에 주어진 데이터에 대한 주소에 액세스하는 다양한 방법을 제공합니다. 작동 데이터는 메모리 위치에 저장되며, 각 명령어는 작동해야하는 특정 데이터가 필요합니다. 데이터 주소를 지정하는 방법에는 여러 가지가 있습니다. 이러한 기술을 주소 지정 모드라고합니다.

  • Direct addressing mode− 직접 주소 지정 모드에서 피연산자의 주소는 명령어에 제공되며 데이터는 명령어에 제공된 메모리 위치에서 사용할 수 있습니다. 이 데이터를 원하는 위치로 이동합니다.

  • Indirect addressing mode− 간접 주소 지정 모드에서 명령어는 피연산자의 주소를 포함하는 레지스터를 지정합니다. 내부 RAM과 외부 RAM 모두 간접 주소 지정 모드를 통해 액세스 할 수 있습니다.

  • Immediate addressing mode− 즉시 주소 지정 모드에서는 누산기에서 데이터를 이동하는 피연산자에 직접 데이터가 제공됩니다. 매우 빠릅니다.

  • Relative addressing mode− 상대 주소 모드에서 유효 주소는 범용 프로세서 레지스터 대신 프로그램 카운터를 사용하여 인덱스 모드에 의해 결정됩니다. 이 모드를 상대 주소 모드라고합니다.

  • Index addressing mode− 인덱스 주소 모드에서는 레지스터 내용에 내용 값을 추가하여 피연산자의 유효 주소를 생성합니다. 이 모드를 인덱스 주소 모드라고합니다.