컴퓨터 구조_6

김현우·2025년 1월 22일

07. MIPS multi-cycle microarchitecture / performance considerations

control logic inside mips

  • Jump:
    • Instruction Fetch → Instruction Decode → Jump Completion으로 진행.
    • 프로그램 카운터(PC)를 갱신하여 제어 흐름을 변경.
  • R-Type ALU:
    • Instruction Fetch → Instruction Decode → Execution → Write-Back Completion.
    • ALU 연산을 수행하여 결과를 레지스터에 저장.
  • Load Word (LW):
    • Instruction Fetch → Instruction Decode → Memory Address Computation → Memory Access → Write-Back Step.
    • 메모리에서 데이터를 읽어와 레지스터에 저장.

Measuring Performance

1. Computing Machinery and Clock

  • Digital Computing:

    • 컴퓨팅 기계는 디지털로 동작하며 하드웨어는 클럭(clock)에 따라동작합니다.
  • Clock:

    • 컴퓨터 하드웨어와 컴포넌트가 동작하는 기본 신호.
    • Clock Speed가 높아지면 하드웨어 동작이 더 빨라지지만, 실제 성능은 Execution Time(실행 시간)으로 측정하는 것이 적합.

2. Performance Metric

Single-Cycle Machine

  • Execution Time: Execution Time = (# of executed instructions) * (instruction execution time = clock cycle time)

  • RISC vs. CISC:

    • RISC:
      • 더 많은 명령어 실행 수 (Higher # of executed instructions).
      • 더 짧은 클럭 사이클 타임 (Smaller clock cycle time).
    • CISC:
      • 대부분의 명령어는 단순하지만, 일부는 긴 실행 시간을 가짐.

Multi-Cycle Machine

  • 명령어 실행은 여러 사이클에 걸쳐 진행.
  • 명령어마다 실행에 필요한 클럭 사이클 수(t_I)가 다름.

Single-Cycle Microarchitecture

  • 모든 명령어에 대해 동일한 t_I 사용.
  • 단일 사이클이기 때문에 클럭 사이클 타임이 길어질 수 있음.

Multi-Cycle Microarchitecture

  • 명령어마다 서로 다른 t_I 사용.
  • 효율적: 단순한 명령어는 짧게, 복잡한 명령어는 더 많은 사이클을 사용.

3. Performance Metrics: CPI & IPC

  • Cycles Per Instruction (CPI):
    • 한 명령어 실행에 필요한 평균 클럭 사이클 수.
    • The lower, the better.
    • 예: CPI = 1 (모든 명령어가 한 사이클 내에 실행 완료).
  • Instructions Per Cycle (IPC):
    • 초당 실행된 명령어 수.
    • The higher, the better.
    • CPI와 반대 개념으로, IPC가 높을수록 성능이 우수

4. Clock Cycle Time

  • 클럭 사이클 타임은 하드웨어 논리 게이트의 복잡도 및 Partial Execution States 저장에 필요한 시간 때문에 무한히 작아질 수 없음.

5. Laws in Computing

Moore's Law:

  • 정의:
    • 트랜지스터의 수가 약 18개월에서 24개월마다 두 배로 증가.
      • 결과:
        • 더 작고 빠르며 효율적인 프로세서 설계 가능.
        • 클럭 속도와 성능 증가.

Amdahl's Law:

  • 정의:
    • 시스템의 한 부분을 개선하더라도, 전체 성능 향상은 개선되지 않은 부분의 영향을 받음.
  • 결론:
    • 병렬 컴퓨팅의 효율은 병렬화되지 않은 작업의 양에 제한.

Zipf's Law:

  • 정의:
    • 특정 데이터셋에서 가장 빈번한 항목의 빈도는 두 번째로 빈번한 항목의 빈도의 약 두 배, 세 번째는 약 세 배.
      • 통계학에서의 활용:
        • 파레토 법칙과 유사 (80/20 법칙).
profile
학생

0개의 댓글