CPU는 사용할 트랜지스터를 어떻게 결정합니까?

CPU는 사용할 트랜지스터를 어떻게 결정합니까?

아마도 나는 이것에 대해 올바르게 생각하지 않을 수도 있지만 CPU에 MR(Multiply Registers) R2,R4와 같은 명령을 내릴 때 사용할 논리 게이트를 어떻게 결정합니까? 사용 가능한 첫 번째 게이트입니까 아니면 뭔가가 있습니까? 나는 후드 아래에서 일어나는 일을 알지 못합니다. CPU에는 수백만 개의 논리 게이트가 있다는 것을 알고 있는데 어떻게 사용을 올바르게 관리합니까?

답변1

귀하의 질문은 실제로 컴퓨터 과학보다는 전기 공학 영역에 더 가깝기 때문에 주제에서 조금 벗어났지만 제가 할 수 있는 일이 무엇인지 알아보겠습니다.

곱하기 명령은 대기열에 추가됩니다.산술 처리 장치입력/출력 연결 중 하나에 있습니다.

ALU는 다음을 사용합니다.조합 논리회로 전체에 전기가 흐르도록 배치되어 있으며, 수신된 입력에 따라 출력이 달라집니다. 사용할 게이트 세트를 선택하지 않고 모든 게이트가 신호를 수신하지만 회로 레이아웃은 결과를 전달하는 입력 신호의 재현 가능한 변환을 생성합니다. 이 수준에서는 디지털 비트만큼 아날로그 신호도 사용하므로 전기는 파이프 네트워크를 통해 물처럼 흐르고 회로는 다양한 경로를 통해 어느 정도 물을 허용합니다.

명령어를 구동하는 실행 유닛은 처리를 위해 ALU에 전송하고 다음 클럭 틱에 ALU 출력 레지스터 중 하나에서 결과를 사용할 수 있을 것으로 예상합니다. 자세한 내용은 여기를 참조하세요:https://en.wikipedia.org/wiki/Arithmetic_logic_unit#Circuit_Operation

답변2

간단히 말해서 트랜지스터 상태와 사용 중인 논리 게이트를 결정하는 것은 실행 중인 명령입니다. 일련의 바이트가 표시되며 해당 시리즈는 프로세서 초기 상태를 효과적으로 구성하고 있습니다. 여러 실행 장치가 있는 최신 프로세서에서는 훨씬 더 복잡하지만 이것이 핵심입니다.

프로세서가 시작되면 주소 0에 있게 되며 해당 주소를 주소 버스에 배치합니다. 그런 다음 주소 0의 바이트가 데이터 입력에 나타날 때까지 기다립니다. 그런 다음 프로세서에 필요한 시작 상태를 알려주므로 다음 주소 위치를 주소 버스에 배치하고 다음 바이트 등을 기다릴 수 있습니다.

곧 완전한 명령과 함께 곱해야 하는 바이트 수를 가지게 될 것입니다. 이러한 모든 바이트는 수행해야 하는 작업에 맞게 프로세서 코어를 효과적으로 "구성"합니다.

레지스터에 넣은 필요한 데이터 바이트와 함께 전체 명령을 가져온 다음 필요한 명령을 수행할 수 있으며 필요한 일련의 논리 전환을 순환한 후 결과를 출력합니다.

관련 정보