내가 인텔 제온 프로세서의 Datasheet을 읽고 프로그래머를위한 의미합니까 어떻게 다음 보았다독립 메모리 채널 : 그것은
통합 메모리 컨트롤러 (IMC)를 지원하는 DDR3 프로토콜 사 독립과를 64 (각각 72 비트)에 대해 8 비트 ECC가있는 8 비트 메모리 채널을 지원하고 메모리 유형에 따라 채널 당 1 - 3 개의 DIMM을 지원합니다. .
나는 이것이 프로그래머 관점에서 정확히 무엇을 의미하는지 알아야합니다.
- 이 메모리 컨트롤러가 인접하지 않은 메모리 영역에서 동시에 데이터의 4로드를 실행할 수있다),이에
문서는 오히려 드문 드문 것 같다 내가 물어 손에 인텔 사람이없는 (그리고 최대 3 개의 메모리 DIMM에서 각 데이터 요청)? 나는. 3 개 DIMM을으로부터 스트라이프 4x64 비트 값, 예를 들면 :
| X | _ | X | _ | X | _ | X |
이 IMC는 1x256 비트까지로드 (1 개)의 부하를 실행할 수있다 (X는 _ 언로드 된 데이터의 임의의 큰 영역은 데이터로드) 인접한 메모리 영역으로부터.
| X | X | X | X | _ | _ | _ | _ |
감사합니다. 하지만 올바른지 확인하려면 다음을 수행하십시오. QuadCore 프로세서에 이러한 메모리 컨트롤러가 있고 내 예제 (1)에 표시된 것처럼 4 개의 스레드 (동시에)가로드를 발행하는 경우 - 스레드 당 하나의 'X' 떨어져서. 메모리 컨트롤러가 병렬로 (= 독립적으로) 읽을 수 있습니까? 그리고 이들 4 가지 요청 각각은 최대 3 개의 DIMM (TripleChannel의 경우)에 의해 서비스 될 수 있습니까? – Patrick
@Patrick 하드웨어를 올바르게 이해하면 모든로드가 캐시와 비교하여 검사됩니다. 그런 다음 존재하지 않는 것이 직렬화 된 순서로 캐시에로드됩니다. 나는 그 명령이 무엇이 될지 모르겠다. 또한 구현과 관련이 있다고 생각한다. 캐시에서 실제 작업이 완료됩니다. 로드 요청 크기가 캐시를 초과하면 흥미로운 일이 발생하기 시작합니다. 한 코어가 새로로드 된 데이터에서 계속 작업하고 있습니다. 일부 CPU는 캐시를 비 웁니다 (나중에 다른로드를 강제 실행). 이 수준에서 코딩 된 로직과 항상 상관 관계가있는 것은 아닙니다. – Sqeaky
@Squaky : 물론 사실입니다. 아마 내가 바꾸어야 할 것 : 컨트롤러에 독립 채널이있는 경우 - 한 번에 두 개 이상의로드 요청에 대해 데이터를로드 할 수 있습니까? 이 컨텍스트에서 "독립적 인"의미를 이해하고 싶습니다. 이 기능은 여러 개의 요청을 동시에 처리 할 수있는 병렬 처리 기능을 제공합니까 (대기열로 직렬화하는 것과 반대)? – Patrick