CS/컴퓨터 구조

[컴퓨터 구조] IC 제조 & Performance

윤곰이 2024. 4. 27. 23:00
학교에서 들은 컴퓨터 구조 강의 내용을 복습하면서 작성한 글입니다.
March 16, 2024 5:11 PM

IC (Intergrated Circuit, 집적회로) &IC Cost

Yield(수율) ⬆️ → cost per die는 ⬇️

  • Wafer Cost, area 고정
  • defect는 제조과정에서 결정
  • die area 는 구조와 회로 디자인에 다라 결정

Performance

  • 성능 평가는 기준에 따라 달라질 수 있음
  • 직관적 성능: 실행시간과 반비례
  • 성능에 영향 주는 것들
    • clock frequency: 속도
    • 코어 수
    • processor architecture
  • 무엇을 측정하는 지에 다라 다름
    • Algorithms: 실행되는 operation의 수 결정
    • language, compiler, architecture: operation 당 실행되는 기계 명령어의 수 결정
    • Processor, memory system: 명령어 실행 속도에 영향
    • I/O system: I/O 의 실행 속도(네트워크, 데이터 주고 받기 관련 속도 등)

Processor(컴퓨터 시스템)의 평가 기준

  • Frequency : CPU 속도
  • Latency(execution, response time): input에 대한 빠른 답? speed
    • 일의 시작과 끝 사이 시간
    • 좋은 CPU: 일을 빨리
  • Throughput(bandwidth): 한번에 처리 가능한 작업량
  • Power: 전력

💡 processor를 빠른 버전으로 대체 → response time ⬇️, throughput ⬆️

processor 수 늘림 → throughput ⬆️ (양만 많아지고 response time이 줄어들진 X)

 

Relative Performance(상대 성능)

  • ‘X가 Y보다 n배 빠르다’ 고 할 때,

 

CPU Clocking

  • 거의 모든 컴퓨터는 하드웨어 이벤트가 발생하는 시점을 결정하는 **클럭(clock)**을 이용하여 만들어짐
  • 클럭의 시간 간격: 클럭 사이클
  • clock period: 1사이클에 걸리는 시간 = clock cycle time
  • clock frequency(rate): 1초 당 사이클 개수
    • 서로 반비례

CPU Time

  • 어떤 일을 하는 데 걸리는 클럭 사이클의 총시간
  • 클럭 사이클의 총 수(몇 사이클) X 클럭 주기(단위 당 시간)

  • 성능 개선
    • clock cycle 수 줄이기
    • clock rate (1초당 개수) 늘리기
    • rate과 cycle count 는 서로 영향 받음

 

Instruction Count & CPI

  • IC: 프로그램에서 실행해야하는 instruction의 개수
    • 프로그램(알고리즘), ISA, compiler에 의해 결정됨
  • CPI(Cycles Per Instruction): 명령어 수행 시 사이클 몇 개?
    • CPU 하드웨어 디자인에 의해 결정됨
    • Instructions 종류에 따라 다를 수 있음
    Clock Cycle = (기계) 명령어 개수 X 명령어 당 사이클

  • 다른 명령어 타입 → 사이클 수가 각각 다르다 = CPI가 같다고 할 수 없음 (그룹별로 곱한 합을 따로)

  • Weighted average CPI (명령어 조합에 따라 바뀔 수 O)

 

같은 프로그램이라고 해서 명령어의 수는 모두 동일할까?
컴파일러, ISA가 달라지면 기계어도 달라지고, 명령어 수도 달라지게 됨
→ ISA 구조가 같은 경우에만 CPI가 비교하는 기준으로 쓰일 수 있다.

 

Performance

  • Single Thread Performance
    • Latency(실행시간)에 영향을 받는다.

  • CPU time = IC X CPI X Clock Cycle Time(=clock period)
    • 명령어 수가 적다고 항상 빠른 것은 아님.
      클럭 속도가 느려지거나 CPI 가 커져서 오히려 성능이 나빠질 수 있음