RAM과 프로세서 속도의 관계


1

RAM은 임시 저장에 사용됩니다. 그러나이 저장소는 CPU 메모리 (RAM)에 있기 때문에 빠릅니다. 프로그램은 값을 쉽게 읽고 쓸 수 있습니다. 응용 프로그램을로드 / 실행하는 데 걸리는 시간이 더 적다는 것을 알았습니다. 그러나 이것이 실제로 프로세서 속도 (MHz 또는 GHz 값)에 의존하지는 않습니다. 프로세서 속도와 RAM의 과학 / 관계가 무엇인지 궁금합니다.


6
나는 당신의 질문을 읽고 벌레 눈을 갔다고 생각합니다.
— caliban

@deostroll, 이 사이트 에서 processorand nehalem태그를 보고 기본 참조로 시작할 수 있습니다.
— nik

나는 Scoopdreams에 동의한다 :이 질문은 읽기 어렵다. 그리고 끝에 느낌표가 없습니다. 진짜 질문인가요?
— Burkhard

과학자와 대화를하려고하는데 문법과 스파링을 잊어 버리고있는 것 같습니다.
— 녹색 개구리

숙제입니까?
— Xetius

답변:


11

처리 목적으로 IO 작업을 언급하고 있다고 생각하며 간단한 평신도 답변을 제공하려고합니다.

프로세서가 공장의 육류 분쇄기라고 가정하고 RAM을 가정하면 하드 디스크는 컨베이어 벨트 시스템과 동일하게 처리되지 않은 육류를 분쇄기에 공급합니다.

컨베이어 벨트에는 두 부분, 즉 느리지 만 넓은 부분과 빠르지 만 좁은 부분이 있다고 가정하십시오. 전자는 하드 디스크의 큰 저장 공간이지만 속도는 느리며 후자는 메모리의 작은 저장 공간이지만 고속 특성을 나타냅니다.

그래서...

하드 디스크 컨베이어 (와이드 부트 속도가 느림)-> RAM 컨베이어 (좁은 버터 플라이)-> 그라인더 (프로세서)

RAM을 늘리면 RAM 컨베이어가 넓어 지므로 분쇄기가 한 번에 처리 할 때 훨씬 더 많이받을 수 있습니다.

RAM이 적 으면 RAM 컨베이어가 빠르지 만 매우 좁아서 분쇄기에 쏟아지는 고기의 양이 적다는 것을 의미합니다. 동시에, 육류는 하드 디스크 컨베이어 지점에서 질식 할 수 있습니다 (잘 최적화 된 시스템에서 RAM 컨베이어에있는 짧은 육류에서는 실제로는 여전히 하드 디스크 컨베이어에 있습니다 (일명 페이징 / 스왑 파일)).

A의 답을 모두 정리해 희망이 이해하기 쉬운 문장 :

RAM과 프로세서의 관계와 프로그램 실행 속도가 빠른 이유는 RAM이 많을수록 처리 할 데이터가 프로세서에 더 빨리 도달 할 수 있기 때문입니다.

시스템 메모리의 크기가 RAM 컨베이어의 너비와 같으면 FFS (Frontside Bus)는 RAM 컨베이어의 속도 와 같습니다 .

아휴! 이것이 귀하의 질문에 답변되기를 바랍니다!


램이 프로세서 명령을 보유하지 않습니까?
— deostroll

@deostroll,이 맥락에서 보시면 명령어는 프로세서에 대한 데이터 이기도 합니다. 혼동하지 않기를 바랍니다.
— Nik

메모리 위치의 주소를 보유한 CPU 레지스터는 실제로 램 내부의 물리적 위치를 가리 킵니까?
— deostroll

아니요, 레지스터는 CPU 내부에 있으므로 RAM의 외부 버스 속도가 아니라 CPU 자체의 내부 버스 속도에 구속됩니다. 머신 코드의 구식 프로그래밍은 종종 변수를 레지스터에 유지하고 RAM 속도를 높이 지 않도록 최적화되었습니다.
— Xetius

1
이 비유는 효과가 있지만 세부 사항은 잘못되었습니다. 하드 디스크는 거대한 창고에서 나오는 컨베이어이지만 컨베이어 자체는 더 크거나 크지 않습니다.
— 벤 Voigt

3

나는 과학적 방정식은 실제로 프로그램 행동의 함수라고 생각합니다. 우리가 약간 단순화하면 가장 잘 이해됩니다.

  • 프로그램이 디스크를 많이 사용하는 경우 속도는 디스크에 비례합니다.
  • 프로그램이 계산을 지향한다면 : 오늘날 메모리 캐시는 매우 지능적이고 빠르기 때문에 속도는 (대부분) CPU에 비례합니다.
  • 다른 속도는 (대부분) 메모리에 비례합니다.

요약 : 집중적으로 활동중인 모든 프로그램에는 병목 현상이 있습니다. 전문 도구를 사용하더라도 어떤 구성 요소를 비난해야하는지 쉽게 분석 할 수있는 것은 아닙니다. 매우 큰 데이터베이스의 관리자와 논의한 후에는 각각의 개선에 따라 동작이 변경 될 수 있기 때문에 시스템 병목 현상을 차례로 개선하는 것이 좋습니다. 하드웨어가 너무 복잡하기 때문에 정확한 과학은 아닙니다. 인텔의 8 코어 CPU에는 23 억 개의 트랜지스터가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.