Study/Computer

[Computer Architecture] ISA, CPI, Time의 종류

MuviSsum 2019. 11. 5. 15:58

ISA(Instruction Set Architecture)

 

마이크로프로세서가 인식해서 기능을 이해하고 실행할 수 있는 기계어 명령어의 집합이다.

 

이렇게 말하면, 아 그냥 명령어의 집합으로만 생각하기 쉬운데.

 

다른 면에서 살펴 보자면, 소프트웨어와 하드웨어를 잇는 추상적 도구 라고 할 수 있다.

 

CPI와 Time의 종류

 

1. Wall Time

 

Wall-clock time 이라고도 불리는 이 시간은 프로그램이 실행되고 종료 될 때까지

 

CPU, I/O, Sub Program 등의 모든 시간을 합친 것을 말한다.

 

 

2. CPU Time

 

Excution Time 이라고도 불리는 이 시간은 프로그램이 실행되고 종료 될 때까지

 

오직 CPU(User와 System - 굳이 나누자면 이런 부분이 있다.)가 실행된 시간을 말한다.

 

 

3. Clock Period

 

동기화 사이클에 0 -> 1 -> 0 으로 되는 시간을 말하며, 단위로는 Hz와 Sec가 있다.

 

비트가 바뀔 때엔 0과 1로 바로 변하게 되면 아주 작은시간에 오류가 날 수 있으므로,

 

먼저 0,1로 바꾸어 주는 Set Time과 잠시 유지시켜주는 Hold Time이 있다.

 

 

4. CPI(Cycles Per Instruction)

 

말 그대로 명령어당 사이클의 갯수를 의미한다. 자, 여기서 헷갈리면 안되는 사실이 있는데

 

기본적으로 CPI라고 하면 모든 명령어의 CPI를 종합해서 평균을 낸 것을 기본 CPI라고 한다.

 

그렇다면 각 명령어의 CPI는 다르다는 소리다. 

 

예를 들어 보자.

 

이 컴퓨터에는 명령어가 10개 있다. 각 명령어의 CPI는 5인데, 개선을 거쳐 한 명령어의 CPI가 2가 되었다.

 

그렇게 개발자는 개선을 거친 명령어를 보여주며, 속도를 약 2.5배 증진 시켰습니다~

 

하면서 발표를 한다. 하지만 기본 CPI는 (5 X 9 + 2 X 1) / 10 = 4.7 로써 속도는 5/4.7배 밖에 빨라지지 않았다.

 

약 1.1배 정도만 증진된 것이다.     - (암다스로우)

 

그러므로 CPI 계산을 할 땐 주의 하여야 한다.

 

 

5. Response Time

 

응답시간을 말한다. 사실 이건 Pipeline을 할 때 같이 배울 것이지만, 먼저 배워보자.

 

한 사이클의 모든 일을 끝냈을 때, 그 시간을 말한다.

 

 

6. Throughput

 

처리율을 말한다. 이것도 pipeline과 같이 배울 건데, 간략히 말하자면

 

특정 시간 안의 모든 사이클들의 일 처리 시간을 뜻한다.

 

 

A single-cycle processor

Pipelined processor

예제

카드

컴퓨터

전력

저전력

고전력

처리율

낮음

높음

응답시간

빠름

동기화 때문에 조금 느림

 

Pipelining을 배우고 나면 5, 6번은 쉽게 다가온다.

 

 

마지막으로

 

1~4번의 시간에 대한 식을 알아보자.

 

CPU Performance(성능) = 1 / CPU time

 

CPU time = The Number of Instruction X CPI X Clock Period

 

Wall Time = I/O Time + CPU Time + Sub Program Time

반응형