문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 RAM (문단 편집) === RAM의 성능 === RAM 성능이라 하면 '용량'을 가장 먼저 떠올리지만, '''간접적인 성능'''일 뿐이지 메모리 자체의 직접적인 성능이 아니다. 메모리 성능의 지표가 되는 요소는 기본적으로 '''메모리 레이턴시, 메모리 쓰루풋 및 대역폭'''으로, 동시 멀티스레딩(SMT)를 지원하는 CPU가 등장한 이후에는 '''메모리 레벨 병렬 처리(MLP)'''까지 추가되어 총 '''3가지'''로 구분한다. 거기에 메모리 엑세스 패턴별과 데이터 타입별로 레이턴시, 쓰루풋, MLP가 달라질 수 있다. 한 가지 측정 값만으로는 종합적으로 파악할 수 없다는 뜻이다. 참고로 메모리 엑세스 패턴은 크게 '순차적', '페이지 내에 랜덤', '전체 랜덤' 해서 3가지로 구분한다. * '''메모리 레이턴시''' 메모리에 있는 데이터에 대한 요청부터 검색 완료될 때까지의 '''접근 시간'''으로 참조 시간, 대기 시간, 지연 시간이라고도 부르며, 데이터 요청 후 실제 데이터 전송이 시작되는데 걸리는 시간이기도 하다. [[HDD]]로 따지면 탐색 시간(seek time)에 대응되는 개념. 만약 데이터가 캐시 메모리에 없을 경우 메인 메모리와 직접 통신해야 하므로 데이터를 얻기까지 더 긴 시간이 걸린다. 따라서, 접근 시간이 짧을수록 작업 속도가 짧아진 접근 시간만큼 빨라진다. 일반적으로는 초 단위로 사용하지만, 현재 주류 메모리들이 비동기식 DRAM이 아닌 동기식 DRAM 계열인 특성상 [[클럭]] 사이클 단위로도 취급하는 편이다. 주의할 점은 동기식 DRAM이 일정한 클럭 주파수로 동작하면서 데이터를 전송하기 때문에 이에 역수인 클럭 주기도 초 단위인데, 1GHz 클럭 속도를 지니는 SDRAM의 주기인 1ns가 같은 초 단위라는 점 때문에 혼동될 수 있다는 것. 그래서 보통 레이턴시라고 하면 클럭 주파수의 역수(주기) 개념이 아니라, 참조/지연/대기/접근 시간 개념을 가리킨다고 보면 된다. [[오버클럭]]할 때 거론되는 '''램 타이밍''' 또는 '''메모리 타이밍'''의 파라미터(매개변수)별로 각각의 메모리 레이턴시들이 존재한다. 램 타이밍들이 짧을수록 성능이 향상되는 것은 맞지만, 빈번한 데이터 요청이라는 특수한 작업이 아닌 일반적인 경우에는 램 타이밍에 따른 메모리 성능 영향력은 별로 없다고 봐도 무방하며, 사실상 아래의 항목인 메모리 쓰루풋에 크게 좌우된다. * '''메모리 쓰루풋 및 대역폭''' 쓰루풋은 단위 시간 동안 메모리의 데이터를 읽기, 쓰기, 저장할 수 있는 처리량, 줄여서 처리율이라고도 부른다. 대역폭과 같은 개념처럼 취급하는 사람들이 많은데 엄밀히 따지면 서로 밀접한 관련이 있지만, 처리량은 하나의 전송 채널에서 처리되는 데이터의 양을 의미하고, 대역폭은 하나가 아닌 여러 개의 전송 채널을 통해 처리되는 데이터의 양을 의미하는 약간 다른 개념이다. 또한, 데이터 전송 작업의 수를 의미하는 전송량과 단위 시간 동안 데이터 전송 작업의 수를 의미하는 전송률과도 같은 개념처럼 취급하는 경우도 있는데 하나의 전송 채널이라는 조건은 똑같지만 전송량과 전송률은 전송 그 자체에만 의미를 두는 개념이고, 처리량은 전송뿐만 아니라 읽기, 쓰기, 저장같은 일련의 작업 과정까지 포함하는 개념이라는 차이점이 있다. 사용자들은 데이터 전송에만 관심을 두는 것이 아니라 데이터 읽기, 쓰기, 저장까지 완료된 상태에 관심이 있기 때문에 전송량 & 전송률보다는 처리량 & 처리율, 처리량 & 처리율보다는 대역폭이 더 현실적인 단위 개념이라고 볼 수 있다. 메인 메모리가 일찍부터 하나의 전송 채널이 아닌 여러 개의 전송 채널 구성으로 발전되어 왔기 때문. 일반적으로 바이트/초 단위로 표기하며, 대역폭을 기준으로 '(메모리 클럭 속도) × (메모리 버스 폭) × (메모리 채널 수)'로 계산한다. 제품에 표기된 메모리 대역폭은 이론적인 최대 대역폭으로 실제 대역폭은 표기상 대역폭보다 작게 측정되며, 표기 대역폭에 도달했다 해도 지속적이지 않을 수 있다. * '''메모리 레벨 병렬 처리 (MLP: Memory-Level Parallelism)''' 메모리 성능의 기본적인 지표는 아니지만, CPU가 멀티 프로세서 또는 [[멀티코어 프로세서]]를 필두로 [[SMT]]가 가능해지면서 스레드 개수만큼 메모리에 동시 접근이 가능해졌다. 이에 따라 메모리 동시 처리 능력에 차이가 발생하게 되는데, 절대적인 코어 개수와 스레드 개수에 따른 차이도 있지만 똑같은 코어 개수와 똑같은 스레드 개수라도 CPU [[마이크로아키텍처]]에 따라 성능이 크게 달라질 수 있다. 적중률 개념이 있는 캐시 메모리의 경우, '캐시 적중되지 않았더라도 병렬 처리 기능을 통해 얼마나 빠르게 데이터를 처리할 수 있는지'로 판별하는 지표가 된다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기