- 시스템 클록 : 명령어 인출, 명령어 해독, 산술연산수행 등과 같이 프로세서에 의해 수행되는 연산들은 시스템클록에 의해 통제된다. 프로세서의 속도는 클록에 의해 발생되는 펄스 주파수(Hz)에 의해 결정된다.
- 사이클 시간 : 펄스들 간의 시간
- 명령어 실행율
- - f: 주파수
- - t : 주기 = 1/f
- - I_c : 명령어 카운트, 정해진 시간 간격동안 실행된 기계명령어들의 수
- - CPI : 명령어당 평균사이클
- - CPI_i : 명령어 유형 i를 위해 필요한 사이클 수
- - I_i : 주어진 프로그램에서 실행된 유형 i의 명령어들의 수
- =>CPI=([sigma i=1 to n][CPI_i * I_i])/I_c
- - T : I_c * CPI * t =>주어진 프로그램을 수행하는데 필요한 프로세서 시간
- - 고쳐쓴 수식(개량) : T = I_c * [p+(m+k)]*t
- -- p : 명령어를 해독하고 실행하는데 필요한 프로세서 사이클 수
- -- m : 필요한 기억장치 참조수
- -- k : 기억장치 사이클 시간과 프로세서 사이클 시간간의 비율
- MIPS(millions of instructions per second:초당 백만 명령어들) : 프로세서의 성능을 나타내는 보편적으로 사용되는 척도
- MIPS 율=I_c/T*10^6=f/(CPI*10^6)
- MFLOPS : 부동소수점 명령어들만 대상으로 하는 척도
- MFLOPS율=(한 프로그램에서 실행되는 부동소수점 연산자수)/(수행시간*10^6)
- 벤치마크
- - 고급언어로 작성되며, 서로 다른 기계들에 호환성을 가질 수 있도록 한다.
- - 시스템 프로그래밍, 수치적 프로그래밍, 혹은 상용 프로그래밍과 같이 특정종류의 프로그래밍 유형의 대표적인 것이여야 한다.
- - 쉽게 측정될 수 있어야 한다.
- - 널리 보급될 수 있어야 한다.
- SPEC 벤치마크
- - 산업체나 학계 및 연구기관에서 일반적으로 받아들일만한 컴퓨터 성능 측정의 필요성으로 인해 제안됨
- 평균 결과들
- - m :벤치마크 프로그램 개수
- - 산술적 평균
- - R_A=(1/m)*[sigma i=1 to m][R_i]
- - R_i : i번째 벤치마크 프로그램에 대한 고급언어 명령어 실행율
- 하모닉 평균
- - R_H=m/([sigma i=1 to m][1/R_i]
- SPEC 벤치마크의 두가지 척도
- - 속도 척도 : 컴퓨터가 단일 테스크를 완료시키는 능력
- -- 처리시간과 그 시스템의 처리 시간간의 비율이 결과값으로 나옴
- -- r_i=(Tref_i)/(Tsut_i)
- -- Tref_i : 참조시스템에서의 벤치마크 i 의 실행시간
- -- Tsut_i : 테스트되는 시스템에서의 벤치마크 i의 실행시간
- -- 기하적 평균 : r_G=([pi i=1 to n][r_i])^(1/n)
- -- r_i : i번째 벤치마크 프로그램에 대한 비율
- - 비율척도(rate metric) : 기계가 수행하는 많은 작업들의 처리율 혹은 비율
- -- r_i = (N*Tref_i)/Tsut_i
- -- Tref_i : 벤치마크 i에 대한 참조수행시간
- -- N : 동시에 처리되는 프로그램의 복사본 수
- -- Tsut_i : 실험에 사용되는 시스템에서 N개의 프로세서들이 모두 프로그램의 수행을 시작한 때부터 모든 프로그램 복사본들의 수행이 종료될 때까지 소요된 시간
- - 암달의 법칙 : 단일 프로세서에 비교하여 다수의 프로세서들을 사용한 프로그램의 잠재적 속도향상을 다룸
- -- T : 단일 프로세서에서 처리하는 경우의 실행시간
- -- N : 프로세서의 수
- -- N개의 프로세서를 가진 병렬프로세서를 사용하여 그 프로그램의 병렬부분을 완전히 이용하는 경우에 얻을 수 있는 속도향상
- -- 속도 향상 = (단일 프로세서 프로그램 실행에 걸리는 시간)/(N개의 병렬 프로세서에서 프로그램 실행에 걸리는 시간)=(T(1-f)+Tf)/(T(1-f)+(Tf)/N) = 1 / ((1-f)+f/N)
- -- 결론
- --- f가 작을 때는 병렬 프로세서를 사용하는 효과가 매우 적다
- --- N이 무한대에 접근함에 따라 속도향상은 1/(1-f)에 의해 제한되며, 따라서 더 이상 프로세서들을 사용하더라도 그 효과는 점차 줄어든다.
- - 암달의 법칙은 컴퓨터 시스템에서의 어떤 설계나 기술적인 개선을 평가하기 위해 일반화 될 수 있다.
- -- 속도 향상 = 보강전의 실행시간 / 보강후의 실행시간
- -- SU_f : 보강후의 속도향상
- -- 전체속도향상 = 1/((1-f)+f/SU_f)