본문 바로가기
Computer Architecture

Instruction Set Architecture vs Microarchitecture

by hyeyoo 2021. 12. 1.
※ 이 블로그의 글은 글쓴이가 공부하면서 정리하여 쓴 글입니다.
※ 최대한 내용을 검토하면서 글을 쓰지만 틀린 내용이 있을 수 있습니다.
※ 만약 틀린 부분이 있다면 댓글로 알려주세요.

PPT 출처

Computer Architecture

컴퓨터의 목적은 사람이 원하는 것을 기계에게 전달하는 것이다. 아래의 이미지에서 Application은 우리가 사용하는 프로그램 (브라우저, 게임, ... 등등)이고, 전자가 움직이는 것처럼 물리적인 부분이다. 브라우저와 물리 현상 사이에는 엄청난 갭이 있기 때문에 여러 개의 계층을 거쳐야 컴퓨터가 우리가 원하는 것을 실행하도록 할 수 있다.

그래서 컴퓨터 아키텍처는 넓은 의미로 보면 Application과 Phyics 사이의 갭을 해결하는 것이라고 할 수 있다.

하지만 현실적으로는 Application과 Physics의 갭이 매우 크기 때문에 이 사이를 여러 개의 계층으로 나눌 수 있다. 프로그래밍 언어, 운영체제, 명령어 집합, 명령어 집합의 구현체, 회로 등등 많은 단계를 거쳐서 Application 으로부터 실제 컴퓨터의 동작 ㅡ Physics까지를 연결할 수 있다.

하지만 아까 말한 넓은 의미의 컴퓨터 아키텍처는 너무 범위가 넓기 때문에 보통은 아래 사진처럼 Operating System과 Gates 사이의 계층을 컴퓨터 아키텍처라고 한다.

하지만 뒤에서 설명하겠지만 Operating System과 Gates 사이를 하나의 계층에서 담당하는 것도 효율적이지 않다. 따라서 컴퓨터 아키텍처는 다시 Instruction Set Architecture, Microarchitecture, Register-Transfer Level 세 가지 계층으로 나뉜다. Register-Transfer Level은 이 글에서는 다루지 않는다.

Instruction Set Architecture

Instruction Set Architecture는 한국어로는 명령어 집합 구조인데 쉽게 말해서 명령어의 집합을 정의하는 아키텍처이다. 줄여서 ISA라고 한다. ISA에서는 명령어의 종류, 명령어가 처리하는 타입, 레지스터 등을 설계한다. ISA는 프로세서와 커뮤니케이션을 하기 위한 일종의 인터페이스라고 할 수 있다.

IBM 360을 예로 들어보자면 1964년의 IBM 360 시리즈 이전에는 IBM 컴퓨터에서 네 가지의 각각 다른 컴퓨터끼리 명령어 셋이 호환이 되지 않았다. 하지만 IBM 360 부터는 비교적 싸고 성능이 낮은 프로세서부터 비싸고 성능이 높은 프로세서까지 같은 ISA를 사용하게 되었다. 새로운 프로세서를 개발하더라도 기존의 ISA를 준수한다면 더 성능이 좋은 프로세서를 코드의 수정 없이 사용할 수 있게 되는 것이다!

Microarchitecture

ISA가 프로세서와의 인터페이스라고 한다면, Microarchitecture는 인터페이스의 구현이라고 할 수 있다. 같은 ISA를 구현하더라도 파이프라인의 깊이, 캐시 사이즈, 명령어 오더링, 파워, 등등 다양한 요인에 차별을 두어서 다양한 프로세서를 만들 수 있다.

Same Architecture, Different Microarchitecture

실제적인 예로 같은 ISA를 사용하지만 전혀 다른 Microarchitecture로 AMD Phenom X4와 Intel Atom을 예로 들 수 있다.

 

 

컴퓨터 아키텍처

프린스턴 대학교에서 제공합니다. In this course, you will learn to design the computer architecture of complex modern microprocessors. All the features of this ... 무료로 등록하십시오.

www.coursera.org

 

What is Instruction Set Architecture (ISA)?

An Instruction Set Architecture (ISA) is part of the abstract model of a computer that defines how the CPU is controlled by the software. The ISA acts as an interface between the hardware and the soft

www.arm.com

 

Microarchitecture - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Component of computer engineering In computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as µarch or uarch, is the way a given instruc

en.wikipedia.org

 

Instruction set architecture - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Set of abstract symbols which describe a computer program's operations to a processor In computer science, an instruction set architecture (ISA), also called computer architecture, is

en.wikipedia.org

 

What is the significance of instruction set architecture (ISA)?

Answer (1 of 3): From wikipedia: An instruction set architecture (ISA) is an abstract model of a computer. It is also referred to as architecture or computer architecture. A realization of an ISA is called an implementation. An ISA permits multiple impleme

www.quora.com

 

댓글