2011-09-05 4 views
0

특정 작업을 수행하는 코드를 작성했습니다. 지금 내가 다른 기계 (다른 주파수를 가지고)에서 달릴 때 그것은 다른 시간이 걸릴 것입니까?내 코드의 기계 효과 실행 시간의 빈도가 있습니까?

Ouestion

내 코드는 다음 머신 사이클의 필요한 수의 모든 시스템에 대해 고정됩니다 하나 개 printf 기능을 가지고, 또는이 시스템에 따라 달라집니다 경우 ?

시스템 주파수가 2.0GHz인데 무슨 의미입니까?

+1

사이클의 수는 달라집니다 컴파일러와 CPU의 아키텍처에 의해 생성되는 머신 명령어가 무엇인지에 따라 달라집니다. 동등한 다른 것들은 속도가 클럭 속도에 비례합니다. –

+0

@ Tom 당신은 한 시스템에서 printf()가 10 머신 싸이클에서 실행되고 다른 시스템에서는 15 싸이클 싸이클이 가능하다는 것을 의미합니까? –

+2

글쎄, 그 두 숫자는'printf'와 같은 I/O를 포함하는 꽤 복잡한 함수를 위해 꽤 작습니다. 그러나 그렇습니다. 중요한 차이가있을 수 있습니다. 그것은 모두 컴파일러가 변환하는 방법과 시스템의 명령어 세트에 따라 다릅니다. –

답변

5

코드의 실행 시간은 다른 많은 것들 중에서 CPU의 빈도에 따라 다릅니다. 다른 모든 사항이 동일하면 더 빠른 CPU는 동일한 명령어를 실행하는 데 더 적은 시간이 소요됩니다. 그러나 O/S, 컴파일러, 메모리 칩, 디스크 등을 포함하여 타이밍에 영향을 미칠 수있는 다른 것들의 수는 막대합니다.

시스템의 기본 아키텍처가 동일하면 시스템주기 수가 고정됩니다. 그러나 최신 CPU 아키텍처는 매우 복잡하며 동시에 다른 컴퓨터에서 실행되는 내용에 따라 쉽게 변형 될 수 있습니다. 기계의 칩 유형이 다른 경우 (Intel Core 2 Duo와 같은 제품군에서도) 결과가 다를 수 있습니다. 시스템이 다른 아키텍처 (Intel vs SPARC 또는 PowerPC)라면 모든 베팅은 꺼져 있습니다.

'주파수가 2.0GHz'인 경우 메인 CPU 클럭이 2.0GHz에서 순환한다는 것을 의미합니다. 그 시간에 얼마나 많은 명령어가 실행되는지는 명령어, 병렬 처리 (코어 수) 및 CPU 유형 등에 따라 다릅니다. CPU 빈도는 메모리를 읽을 수있는 속도를 제어하는 ​​버스 주파수와 별개입니다 (따라서 2.0 GHz CPU를 사용하지만 메모리 버스는 1067 MHz에서 실행됩니다.

+2

"머신의 기본 아키텍처가 동일하면 머신 사이클 수가 고정되어 있습니다"- 동일한 기본 아키텍처의 의미에 따라 다릅니다. 메모리 성능 차이 등을 무시한 채로, 대부분의 경우 "동일한 아키텍처"라고 부르는 경우에도 동일한 칩의 버전 1.0과 비교할 때 일부 명령어의 경우 버전 1.1 칩이 다른 사이클 수를 가질 수 있습니다 ". 그러나 서로 다른 속도로 작동하는 동일한 칩, 사이클 수는 동일합니다. –

0

CPU의 빈도는 특정 시간 내에 수행 할 수있는 작업의 양을 정의합니다. 코드는 모든 컴퓨터에서 동일합니다 (예 : 컴파일 된 코드). 그렇기 때문에 빈도는 프로그램을 실행하는 데 걸리는 시간에 영향을줍니다.

4

물론 컴퓨터의 클럭 속도는 프로그램의 실행 시간에 영향을 미치지 만 프로세서가 2GHz에서 실행된다고 말하는 것만으로도 정확히 거대한 프로세서 제품군 간의 "효율성"의 차이 - Intel Core 제품군 프로세서는 이전 버전 인 Pentium 4보다 시간 단위당 훨씬 많은 작업을 동일한 속도로 실행합니다.

그렇습니다. CPU 속도는 프로그램의 실행 시간에 심각한 영향을 미치지 만 GHz 값만으로는 충분하지 않습니다. 이것이 프로세서가 시간 단위로 수행 할 수있는 작업을 비교할 수 있도록 다양한 벤치 마크가 설정된 이유입니다. 이러한 벤치 마크는 선택한 시나리오에서 일반적인 워크로드로 간주 할 수있는 지침과 실행 시간을 혼합하여 실행합니다. 더 오래되었지만 비교적 이해하기 쉬운 벤치 마크의 경우 WhetstoneDhrystone을 확인하십시오.

벤치 마크의 톤이 있다는 사실 만은 그 관련성이 동의 할 수있는 모두의 비교 값을 얻기 위해 전혀 쉽게 증명, 그것은 논쟁의 주제로 남아

...

+1

+1 벤치 마크에 대한 +1 – pmod

관련 문제