본문 바로가기
Digital Hardware Design/Computer architecture

Computer Architecture

by 꿀벌이목표 2022. 10. 14.
반응형

Ⅰ. Compuer architecture

-현대 컴퓨터 구조는 아래의 같은 구조로 되어 있습니다.

computer architecture

    + Physical design : 말 그대로 물리적인 level을 의미

    + Circuit design : 회로 레벨의 design을 의미

    + Logic design : 로직 레벨의 design을 의미

    + Processor  + I/O System : 연산 수행이 가능한 processor와 입출력을 위한 system

    + ISA(Instruction Set Architecture) : 명령어의 집합을 의미하며,  hardware와 software의 사이에 존재

    + Application : 우리가 흔히 말하는 '프로그램'이 애플리케이션이라고 할 수 있습니다. 

        > 그중에서도 OS는 메모리, 파일, 스케줄링 등의 일을 하는 역할을 하지요

- 여기서 말하고하는 것은 컴퓨터의 구조는 명령어의 집합 ISA와 Machine organization이라는 것입니다.

- 일반적으로 우리가 사용하는 high level의 language들은 아래의 단계를 거쳐서 최종적으로 machine language로 바뀌게 됩니다.

    + 우리가 작성한 C언어(혹은 다른 language)는 Complier를 통해서 assembly language로 바뀌게 됩니다.

    + Assembly language는 assembler를 통해서 machine language로 바뀌게 됩니다.

        > 이때에 ISA에 따라 다르게 machine language로  바뀝니다.

        > 예를 들면, 동일하게 작성된 C코드 라도 ARM core 기반이냐 Intel core 기반이냐 MIPS 기반이냐에 따라서 최종적인 Machine code는 다르다는 것입니다. 이것은 성능의 차이가 아니라,  ISA가 다르기 때문에 그런 것입니다.

Language conversion

- 최종적으로 말을 하고자 하는 것은 ISA(Instruction Set Architecture)에 따라서 처리 속도, 성능, 파워에 지대한 영향을 준다는 것입니다!

반응형

Ⅱ. Design metric

- 설계의 관점에서 meric 요소는 다양

    + 성능(performance)

    + 파워(power)

    + 온도(Temperature)

    + 신뢰성(Reliality)

    + 품질(QoS, Quality of Service)

    + 비용(Cost)

- 그중에서도 performance에 대해서 알아보겠습니다.

 

ⅰ Perforrmance

- 사람들은 Performane를 다양하게 define 가능합니다.

    + Processor speed, system bus speed, memory size, disk storage,  power consumption 등

- 하지만 일반적으로는 performance를 이야기할 때에는 Time(시간)을 가장 일반적인 metric을 두고 performance를 이야기합니다.

    + 그래서 아래의 그림을 보면 전부 Time(시간)과 관련이 되어 있습니다. 

        > Complier에서는 MIPS( Millions of instruction per second)

        > OS에서는 MFLOPS( Millions of Floating-Point per second)
        (※ 요즘 deep leaning 이 활발하게 연구가 되면서 해당 metric이 많이 언급이 되는 편이라 많이들 보셨을 것 같네요.)

        > Data path/control에서는 CPI(Cycles per Instruction)

        > Functional unit에서는 Clock frequency 

Performance에서 Time metric

ⅱ. Performance 측정

- CPU 성능 측정을 위해, 주로 execution time을 고려합니다. 그래서 아래와 같은 수식이 나올 수 있습니다.

Performance 와 Execution time 관계식

- 그럼 "A CPU 보다 B CPU가 더 빨라"라고 하였을 때, 얼마나 더 빠른지에 대해서 계산하는 과정은 아래와 같습니다.

 

반응형

댓글