값이 한 레지스터에서 다른 레지스터로 복사 될 때 소스 레지스터의 값 은 어떻게됩니까? 대상 레지스터의 값은 어떻게됩니까?CPU와 메모리 (값, 레지스터)
답변
CPU 아키텍처를 연구하는 데 사용되는 DLX 또는 RISC와 같은 간단한 프로세서에서 어떻게 작동하는지 보여 드리겠습니다.
add $R1, 0, $R2
명령이 CPU는 소스 피연산자를 읽어 작동
mov $R1, $R2
또는 (RISC 스타일 아키텍처) (& T 구문 AT 또는 $ R2에 $ R1 복사)
: R1은 register file이고 0은 ... 피연산자 또는 제로 생성기 일 수 있습니다. 두 입력을 모두 Arithmetic Logic Unit (ALU)에 전달하십시오. ALU는 첫 번째 소스 피연산자를 대상 (A + 0 = A)에 전달하고 ALU 이후에 대상을 레지스터 파일 (R2 슬롯)에 다시 쓰는 작업을 수행합니다.
그래서 데이터 소스 레지스터에서만 읽혀질되고 이 동작 변경되지; 대상 레지스터의 데이터는 소스 레지스터 데이터의 복사본이있는을 덮어 씁니다. (목적지 레지스터의 이전 상태 with generating of heat 손실 될 것이다.) 물리적 레벨에서
를 레지스터 파일에있는 레지스터가 그들 각각의 M1, M2에 기초하여, 플립 플롭 두 인버터 (이중 안정하다 SRAM cells의 설정 , M3, M4) 및 추가 게이트 쓰기 및 읽기 :
우리 SRAM 셀에 저장된 값을 덮어 쓸지
우리 BL 설정되며 -BL 우리의 데이터 (0 비트 저장에 기재된 - BL 및 unset -BL을 설정하고 비트 1 - BL 및 BL을 저장하도록 설정합니다. 쓰기가 현재 셀 집합 (줄)에 대해 활성화됩니다 (WL이 켜져 있으며 M5와 M6이 열림). M5와 M6을 열면, BL과 -BL은 (SR-latch에서와 같이) 쌍 안정 플립 플롭의 상태를 바꿀 것이다. 따라서 새로운 값이 기록되고 이전 값이 삭제됩니다 (BL 및 -BL로 요금이 누설 됨).
- 1. 레지스터 값 디버깅
- 2. GCC의 레지스터 값 덤프
- 3. 스택 포인터 레지스터 값
- 4. RAM 어셈블리에 레지스터 값 전송
- 5. 어셈블리 언어 + 레지스터 간의 이동 값
- 6. jvisualvm에서 CPU와 메모리 프로파일 링을 동시에 수행 할 수 있습니까?
- 7. glibc malloc과 비교했을 때 jemalloc의 CPU와 메모리 사용량
- 8. Windows에서 PCI 장치 메모리 레지스터 읽기
- 9. 서버 CPU와 램프가있는 GPU
- 10. objdump를 사용할 때 레지스터 값 결정
- 11. 하이테크 PICC를 사용하여 PIC16F876의 레지스터 값 설정
- 12. Java 프로그램의 프로그램 카운터 레지스터 값
- 13. 프로세서 레지스터
- 14. 레지스터 단축키
- 15. MIPS 컴파일러의 레지스터 - 사용할 레지스터?
- 16. CPU와 GPU에 대한 동일한 코드베이스
- 17. CPU와 GPU 간의 명령어 전송
- 18. 스택 너비는 항상 CPU 레지스터 크기와 같습니까?
- 19. 메모리 값 검사
- 20. Vim : 외부 레지스터 명령에 파이프 레지스터
- 21. nvcc --ptxas-options = -v (레지스터 및 메모리 사용) 오류
- 22. 레지스터 내용을 x86_64의 다른 레지스터의 메모리 주소로 이동
- 23. 하드웨어 레지스터를 읽고 쓸 수 없습니다 (메모리 맵핑) 하드웨어 레지스터
- 24. 어셈블리 언어 레지스터
- 25. 명령어로드 레지스터
- 26. 기준 레지스터, 제한 레지스터 및 재배치 레지스터는 어떻게 사용됩니까?
- 27. CUDA 글로벌 메모리, 그것은 어디입니까?
- 28. 리눅스 커널 운영 체제 레지스터
- 29. 임의의 CPU와 x64 간의 관리 코드 참조
- 30. 공정한 비교를 위해 CPU와 GPU를 어떻게 선택합니까?
와우! Landauer의 원리는 멋지다! 이런 식으로 생각하지 마십시오. –
아직도 논쟁의 여지가 없다는 것을 알아야합니다. 그것은 하한이고 현대 CPU (Wt 수십 가지)에 대한 Wt의 <2/100 (최악의 경우 추정)입니다. 그러나 그것은 양자 컴퓨터의 주요 제한 요소입니다. (양자 레지스터를 돌이킬 수 없게 재 작성하면 과열되어 양자 속성을 잃게됩니다.) 따라서 [Quantum gates] (http://en.wikipedia.org/wiki/Quantum_gate)는 동일한 수의 입출력을 가지며, 모든 계산은 최종 상태에서 시작 상태로 복원 (반전) 될 수 있습니다. – osgx