문제

내가 들었어요 용어:등록,하드웨어 등록,프로그램에 등록,등록 파일입니다.

의 차이점은 무엇 모든 이?에 assebmly,의 유형은 무엇입 EAX 레지스터?프로그램 등록?

도움이 되었습니까?

해결책

레지스터는 CPU 내부의 저장 공간입니다. 몇 가지 정의는 다음과 같습니다.

  • 레지스터 파일은 레지스터 배열입니다. http://en.wikipedia.org/wiki/register_file 전체 설명을 위해.
  • EAX 레지스터는 인텔 X86 CPU 제품군의 축적기 레지스터입니다. 정수 수학이 완료되는 곳입니다.
  • 프로그램 레지스터 (프로그램 카운터를 의미한다고 생각합니다)는 실행될 다음 기계 코드 명령의 주소를 포함하는 특수 목적 레지스터입니다.

다른 팁

레지스터는 가장 기본적인 데이터 저장 장치입니다. 이제 이것들이 주요 차이점입니다.

레지스터 파일은 일반적으로 계산에 사용되도록 구성된 대규모 레지스터 모음입니다. 최신 프로세서에서 모든 계산은 레지스터 파일의 여러 레지스터에 저장된 값간에 수행됩니다.

하드웨어 레지스터는 일반적으로 구성 및 상태 정보를 저장하는 레지스터를 나타냅니다. 프로세서 또는 일부 외부 하드웨어 I/O 장치 용일 수 있습니다.

프로그램 레지스터는 프로세서가 실행중인 현재 명령의 메모리 위치를 저장하는 특별 레지스터 인 프로그램 카운터를 참조 할 수 있습니다.

레지스터는 CPU 내부에있는 작은 메모리입니다. 어셈블리 언어에 의해 다양한 작업을 수행하기 위해 사용됩니다.

프로그램 레지스터로 프로그램 카운터를 의미 할 수 있습니까?

만,당신은 일반적인 목적의 등록,당신은 레지스터가 있는 특별한 목적으로 사용하고자 한다(예를 들어,프로그램 카운터 레지스터),그리고 당신은 다양한 다른 사람(메모리/세그먼트 레지스터 SSE).

EAX,EBX,etc.은 표준 범용 레지스터가 있습니다.사용할 수 있습니다 당신이 무엇을 원합니다.일반적으로 반환 값은 넣어 EAX,하지만 그것은 기본적으로합니다.당신은 스택은 포인터 EBP,는 점을 시작 부분의 스택이다.마지막으로,당신은 프로그램 카운터는 현재 명령,EIP.On x86,거기에 몇 가지 특별한 경우에,두 개의 레지스터를 얻을 융합을 할 때에는 64 비트 정수 계산.더 많은 특별한 경우를 위해 존재한 문자열이다.는 경우에 대해 배워 어셈블리는 가장 쉬운 것으로 시작하는 파워를 등록,그리고 당신은 무료로 사용하지 않고 그들 모두 제한이 있습니다.

이러한 모든 등록은 물론 하드웨어 레지스터는,그들은 육체적으로 구축으로 귀하의 CPU;)는 곳들이라고 등록 파일입니다.

다른 유형의 등록을 볼 수 있습니다면 가상 컴퓨터가 있는 사용 등록(앵무새다),당신을 얻을"가상 레지스터"나중에 할당된 실제 레지스터가 있습니다.이것은 무엇을 할 수 있는 때 쓰는 컴파일러 자신을,당신은 기본적으로정한 금액의 레지스터(즉,당신은 당신을 생성하는 새로운 중 하나에서 각 사용)및 하 변환하여 실제 레지스터에 다른 단계(기록이 할당).

"하드웨어 등록할 수 있습니다"또한 위치를 참조 안에 어떤 하드웨어 장치입니다.예를 들어,UART(COM)는 다음과 같습 a D-shaped connector9 25 핀에서 외부 캐비닛이나,장치 드라이버처럼 보이는 여러 가지 구성 레지스터 상태를 등록하고,데이터 레지스터 들고 다음 문자를 보내고 마지막 문자 받았습니다.(나는 좌 의 세부사항 없다.)

에 x86 아키텍처 사람들 레지스터에 있는 일반적으로 특별한 물리 주소 공간에 액세스할 수 있는 I/O 다.다른 플랫폼에서,그것은 일반적인 하드웨어 등을 매핑될부의 일반 메모리 공간입니다.어느 경우에,하나의 중요한 역할을 운영체제의 시스템과 장치 드라이버를 방지하는 것입 응용 프로그램 코드를 필요로에서의 세부 사항을 알고는 하드웨어 레지스터가 위치하고 있고 그들이 무엇을 의미합니다.

에서 몇 가지 종류의 하드웨어 장치 사이의 차이는 메모리와 하드웨어 등록은 분명하지 않습니다.예를 들면,비디오 어댑터가 포함되어 블록의 메모리로 알려진 프레임 버퍼를 보유하고 있는 컬러와 광도값에 대한 각 개별 픽셀.는 메모리 큰 하드웨어 등록하거나 아니면 그냥 버퍼에 있는 흥미로운 부작용 효과가 있을까요?

질문과 관련하여, 두 가지 일반적인 유형의 레지스터가 있습니다.

  • 프로그램 레지스터
  • 하드웨어 레지스터

하드웨어 레지스터는 시계 (시계 진드기에서 업데이트 됨)에 사용됩니다. 물리적 인 프로세서 회로 설계.

프로그램 레지스터는 무작위 액세스 메모리이며 CPU에 위치한 레지스터 파일로 유지됩니다. 어셈블리/기계 코드 지침은 %eax, %esp, %rdi, %edi 등과 같은 이름을 통해 이러한 레지스터에 액세스합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top