CPU를 구성하는 요소와 랜덤 액세스 메모리가 구조화 된 방법을 연구했지만 비교 연산을 등록하는 레지스터를 이해하지 못합니다.레지스터를 등록하십시오.
"왜 비교 연산을 등록하는 것이 일반적으로 RAM의 두 데이터 항목에 해당하는 연산보다 빠릅니까?"
CPU를 구성하는 요소와 랜덤 액세스 메모리가 구조화 된 방법을 연구했지만 비교 연산을 등록하는 레지스터를 이해하지 못합니다.레지스터를 등록하십시오.
"왜 비교 연산을 등록하는 것이 일반적으로 RAM의 두 데이터 항목에 해당하는 연산보다 빠릅니까?"
RAM 액세스, 캐시 외부에있을 때 매우 느립니다. DDR3 모듈의 데이터에 액세스하는 것은 레지스터 액세스 (또는 L1 캐시)보다 수백 배 느립니다. 오늘날의 데스크톱 (또는 서버 또는 랩톱) 프로세서는 대부분의 시간을 자신의 (L1) 캐시 외부의 데이터에 액세스 할 수 없게합니다. DDR3 RAM 모듈에.
숫자를 표시하려면 레지스터 또는 L1 캐시 된 데이터에 액세스하는 데 최대 몇 시간이 걸립니다 (3GHz 시스템에서는 일반적으로 1 나노초를 의미). DDR3 RAM 모듈의 데이터 처리에는 약 200 또는 300 나노초가 걸립니다. 그 시간 동안 프로세서는 백 가지 이상의 기계 명령어를 실행할 수 있습니다.
데이터 지역성이 점차 중요한 이유입니다. 그리고 우리가 작성한 코드에서도 결과가 나타납니다. 링크 된 목록을 스캔하는 것은 배열을 스캔하는 것보다 훨씬 느릴 수 있습니다.
세부 사항은 어렵습니다. 현재 프로세서에서 작은 루틴의 최악의 실행 시간을 예측하는 것은 매우 어렵습니다.