등록기란 무엇입니까?

컴퓨터에 특별한 관심이 없다면 컴퓨터의 유일한 메모리 형태는 하드 드라이브와 RAM뿐이라고 가정해도 괜찮을 것입니다. 컴퓨터에 관심이 있는 사용자는 이것이 사실이 아니며 CPU에는 CPU가 더 빠르게 액세스할 수 있도록 RAM에서 데이터를 캐시하는 데 사용되는 캐시 세트가 있다는 것을 알고 있을 것입니다. 속도 및/또는 용량이 적절한 판매 포인트이고 일반적으로 성능 수준에 영향을 미치기 때문에 이들 모두 광고된 기능입니다.

그러나 실제로는 다른 메모리 계층이 하나 있습니다. L1 캐시가 가능한 한 실제 처리 코어에 가깝다고 생각할 수 있지만 메모리 계층에는 또 다른 상위 계층이 있습니다. 이들은 CPU 레지스터입니다. 이것이 실제로 광고되거나 언급되지 않는 이유는 실제로 전혀 변경되지 않았기 때문입니다. 기술적으로는 레지스터의 수와 크기가 실제로 아키텍처의 기본이 될 수 있습니다. 이는 모든 x86-64 CPU가 동일한 수의 레지스터를 가짐을 의미합니다. 그들은 경쟁 포인트가 아니기 때문에 판매되지 않습니다.

레지스터는 무엇을 합니까?

레지스터는 프로세서에 대해 빠르게 사용할 수 있는 저장 위치입니다. 레지스터에 대한 액세스는 레이턴시 없이 즉시 이루어지지만 L1 캐시도 최신 CPU에서 대략 4-5 사이클 레이턴시를 가집니다. 이러한 액세스 즉시성은 레지스터의 사용 사례를 암시합니다. 레지스터는 CPU에 의해 능동적으로 작동되는 명령을 저장하는 데 사용됩니다. 또한 처리할 데이터 포인트도 저장합니다. 일부 레지스터는 범용적인 반면 다른 레지스터는 매우 특정한 목적을 가지고 있습니다. 특수 목적 레지스터의 예는 프로세서가 프로그램 시퀀스에서 자신의 위치를 ​​추적하는 프로그램 카운터입니다.

많은 레지스터는 사용자가 액세스할 수 있는 것으로 간주됩니다. 그렇다고 해서 컴퓨터 사용자가 입력할 값을 선택할 수 있다는 의미는 아닙니다. 이는 실행 중인 소프트웨어가 이러한 레지스터에 로드할 데이터를 지정할 수 있음을 의미합니다. 더 적은 수의 레지스터가 내부에 있으므로 소프트웨어에서 주소를 전혀 지정할 수 없습니다. 현재 실행 중인 명령을 저장하는 명령 레지스터는 내부 레지스터의 예입니다.

이름 변경 등록

CPU 아키텍처는 레지스터의 단일 구성만 허용할 수 있지만 실제로는 약간의 뉘앙스가 있습니다. 모든 최신 CPU는 레지스터 이름 변경을 사용합니다. 이것은 더 많은 물리적 레지스터를 가질 수 있고 이를 사용하여 데이터를 미리 로드하거나 그렇지 않으면 덮어써졌을 잘못된 명령과 관련된 데이터를 저장할 수 있는 기술입니다. CPU가 추가 레지스터의 데이터가 필요한 지점에 도달하면 이전에 주소를 지정할 수 있는 레지스터를 주소를 지정할 수 없게 만드는 동시에 주소를 지정할 수 있도록 단순히 이름을 바꿉니다.

레지스터 이름 변경 프로세스는 비순차적 실행에 매우 유용할 수 있습니다. 예를 들어, 메모리 위치가 읽혀지고 쓰여지도록 프로그램되어 있고 명령이 그 순서대로 실행되었다면 괜찮습니다. 그러나 쓰기를 먼저 수행하도록 명령을 재정렬하면 읽기 명령이 잘못된 값을 얻게 됩니다. 이를 방지하기 위해 읽어야 할 원래 값을 사용하지 않는 레지스터에 저장했다가 해당 명령어를 처리할 때 이름을 바꾼다.

결론

레지스터는 메모리 계층 구조에서 가장 높은 계층입니다. CPU에서 직접 주소를 지정할 수 있는 유일한 부분이며 대기 시간이 없습니다. 레지스터는 CPU에 의해 능동적으로 실행되는 데이터를 저장하는 데 사용됩니다. 또한 다음에 실행할 명령어를 추적하는 프로그램 카운터와 같은 다른 데이터 포인트를 저장하는 데 사용됩니다. AVX-512 지원 여부에 따라 16개의 범용 레지스터와 16개 또는 32개의 부동 소수점 레지스터가 있는 x86-64 아키텍처에서는 매우 제한된 수의 레지스터를 사용할 수 있습니다.



Leave a Comment

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 충전되지 않으면 다른 전원 소스를 사용하고 귀마개를 청소하세요. 귀마개를 충전하는 동안 케이스를 열어 두세요.

3D 프린팅 기본: 필수 유지보수 체크리스트

3D 프린팅 기본: 필수 유지보수 체크리스트

장비를 좋은 상태로 유지하는 것은 필수입니다. 다음은 3D 프린터를 최상의 상태로 유지하기 위한 유용한 팁입니다.

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220에서 잉크가 없을 때 스캔을 활성화하는 방법입니다.

노트북 과열의 5가지 이유

노트북 과열의 5가지 이유

노트북이 과열되는 몇 가지 가능한 이유와 이 문제를 피하고 장치를 시원하게 유지하는 팁과 요령을 알아보세요.

데스크탑 및 노트북 PC에 SSD 설치하는 방법

데스크탑 및 노트북 PC에 SSD 설치하는 방법

PC의 내부 저장 공간을 업그레이드하기 위해 SSD를 구입했지만 설치 방법을 모르겠습니까? 지금 이 기사를 읽어보세요!

GeForce Now 오류 코드 0xC272008F 수정 방법

GeForce Now 오류 코드 0xC272008F 수정 방법

게임의 밤을 준비하고 있으며, "Star Wars Outlaws"를 GeForce Now 스트리밍 서비스에서 플레이하려고 합니다. Ubisoft 게임을 다시 시작할 수 있도록 GeForce Now 오류 코드 0xC272008F를 수정하는 방법을 알아보세요.

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린터를 효과적으로 유지하는 것은 최상의 결과를 얻는 데 매우 중요합니다. 기억해야 할 중요한 팁을 소개합니다.

프린터의 IP 주소 찾는 방법

프린터의 IP 주소 찾는 방법

프린터의 IP 주소를 찾는 데 어려움이 있습니까? 우리는 그것을 찾는 방법을 보여줄 것입니다.

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에 AirPods 구입 여부를 고민하고 있다면, 이 가이드가 도움이 될 것입니다. 가장 간단한 질문은 호환성 여부입니다.

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.