8085 CPU에 ALU 내에 추가 레지스터가 있습니까?


11

8085 CPU 아키텍처에서 ALU가 계산을 수행하면 결과는 다음 클럭 에지에서 누산기 A로 다시 클럭됩니다. 그러나 어큐뮬레이터 A는 ALU 입력으로 직접 연결됩니다. 클럭 에지가 A를 두 번 이상 추가 할 정도로 빠르게 증가하지 않으면 이러한 오류를 감지하기가 매우 어려울 수 있습니다. 이러한 설계는 " 깨지기 쉬운 "나에게.

그렇지 않으면, ALU 결과를 임시 저장하기위한 ALU 내에 추가 레지스터가 있습니까?

https://ko.wikipedia.org/wiki/Intel_8085#/media/File:Intel_8085_arch.svg

https://ko.wikipedia.org/wiki/Intel_8085


2
이것은 @KenShirriff에 대한 질문처럼 보입니다…
duskwuff -inactive-

1
ALU 결과를 중간 레지스터에 클로킹하는 것이 누산기에 클로킹하는 것과 같은 문제가 발생하지 않는 이유는 무엇입니까? 어느 쪽이든, ALU가 시계에 비해 충분한 설정 및 유지 시간으로 유효한 결과를 생성한다는 것을 더 잘 알고있었습니다.
광자

답변:


17

@duskwuff가 의심 한 것처럼 이것을 조사했습니다. 이 질문에 답하기 위해 8085에는 ALU에 두 개의 추가 레지스터가 있습니다.

8085에는 16 비트 WZ 쌍과 2 개의 8 비트 ALU 도우미 레지스터 (ACT 및 TMP)와 같은 몇 가지 "숨겨진"레지스터가 있습니다. WZ는 레지스터 파일의 일부이며 ACT, A (누적 기) 및 TMP는 ALU 회로 자체에 있습니다.

다음은 ALU 작동 방식에 대한 다이어그램입니다.

8085 ALU의 등록 구조

ACT 레지스터에는 몇 가지 중요한 기능이 있습니다. 먼저, ALU에 대한 입력을 보유합니다. 이것은 입력을 방해하지 않으면 서 ALU의 결과가 누산기에 다시 쓰여지도록하여 불안정성을 초래할 수 있습니다. 둘째, ACT는 누산기에 영향을주지 않고 일정한 값을 유지할 수 있습니다 (예 : 증분 또는 감소 또는 소수점 조정). 마지막으로 ACT는 누산기를 사용하지 않는 ALU 작업을 허용합니다.

8085의 ALU 설정의 흥미로운 결과 중 하나는 ALU를 통과 한 후에 만 ​​값을 누산기에로드 할 수 있다는 것입니다.

8085 레지스터 세트에 대한 자세한 내용 은 여기 에 있으며 ALU에 대한 자세한 내용은 여기에 있습니다 .


1
어쨌든, 나는 당신이 이것에 대해 할 말이 있다는 것을 알았습니다. : 3
duskwuff -inactive-

2
화려한 ~ (Ken Shirriff의 블로그와 8085)!
starx

5

동기식 디자인에서는 이러한 일이 발생하지 않도록 디자이너의 중요한 작업입니다. 데이터가 "클럭킹"되고있는 레지스터는 클럭 상승 시간, 클럭 유지 시간, 클럭 신호 변경 전후 데이터 안정성과 같은 특정 동적 속성을 갖습니다. 타이밍을 위반하면 결과 상태가 보장되지 않습니다.

특정 경우 ALU가 전파 지연을 겪고 있으며 A를 두 번 더하려면 가산기 내에서 이전 A에 새 A가 추가되고 결과가 출력에 나타날 때까지 시간이 있어야합니다. 아마도 장치에 대해 정의 된 허용 클록 주파수 범위 내에서 그러한 일이 발생하지 않는 것으로 시뮬레이션 및 계산 되었습니다. 그렇기 때문에 데이터 시트에 명시 적으로 최소 및 최대 클록 등급이 있습니다. 8085A-2의 경우 다음과 같이 말합니다.

  • 최소 CLK주기 : 320ns
  • 최대 CLK주기 : 2000ns

5

누산기는 ALU의 출력 레지스터입니다.

8085에는 2 상 클럭이 있습니다. NOP와 같은 단일 클럭 명령은 2 클럭 사이클을 사용했습니다. 최초의 IBM PC에서 사용 된 8088과 유사하게, 8088은 4Mhz 4 상 클록을 가지며 1Mhz의 속도로 명령을 실행했습니다.

2 상 클럭을 사용하면 각 명령 사이클마다 2 개의 오실레이터 사이클이 있습니다.

내부적으로 타이밍을 위해 두 클럭의 모든 에지를 사용할 수 있습니다. 클럭은 반전되어 실제로 타이밍에 사용할 수있는 4 개의 클럭이 있습니다.

그런 다음 하강 에지를 고정하는 투명 래치와 상승 클록 에지를 고정하는 D- 플립 플롭이 있습니다.

투명한 래치를 사용하면 입력 데이터가 클록의 상승 에지에서 시작하여 출력으로 전파되고 값이 클록의 하강 에지에서 래치됩니다.

8085는 전파 경쟁 조건을 피하기 위해 많은 옵션을 가지고있었습니다.

여기에 이미지 설명을 입력하십시오


"8088은 4Mhz 4 상 클록을 갖고 1Mhz의 속도로 명령을 실행했습니다"-8088은 단일 클록 입력 핀만 갖습니다 (비대칭 클록을 예상하지만 높은 상태는 약 2 배 정도 지속됨). 항상 같은 클럭 에지에서 모든 것을 클럭하는 대부분의 최신 프로세서와 달리 내부적으로 이러한 상태에서 다른 일을 명확하게 수행하고 있음을 나타내는 낮은 상태). 이것이 어떻게 작동하는지에 대한 설명이 있습니까?
Jules
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.