Computer Science/Computer Architecture

[Computer Architecture] ISA(Instruction Set Architecture)

LeeJaeJun 2024. 1. 10. 00:18
728x90
반응형

- Instruction Set Architecture (ISA)

  • 하드웨어는 작동하기 위해서 소프트웨어가 필요함 -> ISA가 하드웨어와 소프트웨어 사이의 Interface 역할
    • 여기서 Interface는 communication 하는 방식이라고 볼 수 있음
  • 작동하는 binary 프로그램을 만들기 위해 프로그래머가 알아야하는 모든 것이라고 할 수 있음
    • Given an instruction set, software programmers and hardware engineers work more or less independently. (Abstraction)
  • ISA는 사용가능한 하드웨어 기술들의 최대 효율을 확보하도록 설계
  • 프로그램의 논리적 실행에 직접적으로 영향을 미치는 시스템의 속성
    • Instructions, registers available, register size, data representation, memory addressing 등
  • Interface는 컴퓨터 성능에 영향을 주기 때문에 중요
  • 주어진 Interface set을 서로 다른 컴퓨터에서 동작할 수 있도록 함
  • 특정 ISA가 하드웨어에서 구현하는 방식이 다를 수 있음
    • Computer Architecture: ISA 포함
    • Computer Organization: 단순한 H/W 설계
  • ex) ARM(cell phones), Intel x86(i9, i7, i5, i3), IBM/Motorola PowerPC(old Macs), MIPS, RISC-V

 

- ISA Evolution

초기에는 CISC(Complex Insturction Set Computer) 형태였습니다. 하나의 명령어가 많은 일을 하고 가능한 많은 Instruction을 추가하려고 했던 것으로. 개수가 많고 Instruction이 복잡한 것이 특징입니다.

그 이후에는 RISC(Reduced Instruction Set Computer) 방식으로 바뀌엇습니다. 하나의 Instruction이 하나의 Operatoin을 실행하는 것이 특징입니다. Instruction을 작고 간단하게 유지하여, 빠른 하드웨어를 더 쉽게 만들 수 있게 합니다. 간단한 Instruction을 조합하여 컴파일러 등을 통해 복잡한 동작을 실행할 수 있습니다.

현대 컴퓨터 기술에서는 hybrid system이라고 볼 수 있습니다. RISC 아키텍쳐는 많은 Instruction set에서 채택되고, CISC 아키텍쳐는 single CPU cycle에서 실행가능한 core set of instruction에 사용하여 각각의 이점을 모두 활용합니다. 내부형태는 비슷하지만, 현재 구분하는 이유는 기존에 만들어왔던 것들과의 호환성(compatability) 때문이라고 볼 수 있습니다.

CISC RISC
복잡한 구조 단순한 구조
복잡, 많은 명령어 간단, 최소 명령어
다양한 명령어 길이 고정된 명령어 길이
레지스터 적음 레즈시터 많음
속도느림 속도빠름
개인용 컴퓨터 서버, 워크테이션

 

- Computer Organization

실제 하드웨어 설계에 관한 내용을 다룹니다. 실제 프로그래머들이 몰라도 되는 physical한 detail들을 담고 있습니다. (transparent to a programmer) 예시로는, Instruction의 하드웨어 실행 동작, 제어 신호, 사용된 메모리 기술 등이 있습니다. 컴퓨터 하드웨어의 설계와 구성을 다루는 하드웨어적인 측면을 강조한다고 할 수 있습니다.

cf) Computer Interface는 사용자 또는 다른 시스템과 컴퓨터 간의 상효작용을 다루는 소프트웨어적인 측면 강조

728x90
반응형