ISA 란 무엇일까?
명령어는 CPU 작업에 대응하는 바이너리 코드
컴퓨터 아키텍처는 주로 ISA에 의해 결정되므로 ISA에는 아키텍처를 의미하는 A(architecture) 가 있습니다.
ISA의 S(Set)는 세트
지시를 의미하는 I(instruction)
고급 프로그래밍 언어로 작성하는 소프트웨어 논리는 산술 또는 논리 연산 또는 메모리 I/O와 같은 일련의 CPU 연산으로 변환되어야합니다.
아시다시피 CPU가 처리 할 수있는 유일한 것은 기계어, 즉 0과 1입니다.
따라서 하나의 특정 작업이 16 비트, 32 비트와 같은 특정 길이의 이진 코드에 매핑되어야한다는 것은 분명합니다.
CS 배경이없는 사람들에게 Bit는 바이너리 비트를 의미합니다.
ISA는 하드웨어와 소프트웨어 간의 인터페이스입니다.
유용하기 위해 ISA는 양측의 지원을 요구합니다.
하드웨어 측면에서는 ISA가있는 칩을 생산해야합니다.
소프트웨어 측면에서 컴파일러 지원은 필수입니다.
다른 CPU 아키텍처는 동일한 작업에 대해 다른 명령을 갖기 때문에 ISA 사양이 주어지면 CPU를 기계어로 프로그래밍 할 수 있습니다
요즘에는 아무도이 작업을 수행하지 않더라도 말입니다.
오늘날 우리가하는 일은 C 또는 Java와 같은 고급 언어로 코딩 한 다음 컴파일러가 소스 코드를 바이너리로 변환하도록하는 것입니다.
따라서 ISA에 컴파일러 지원이 없으면 ISA를 작업에 사용하는 것은 의문의 여지가 없습니다.
명령은 특정 CPU 작업에 매핑 된 이진 코드이고 ISA는 이러한 것들의 집합 일 뿐이며
ISA는 주로 CPU 아키텍처를 결정하며 소프트웨어와 하드웨어 간의 인터페이스입니다.
'Microprocessor (MCU)' 카테고리의 다른 글
CMSIS DAP ? (0) | 2022.05.10 |
---|---|
CMSIS , Common Microcontroller Software Interface Standard (0) | 2022.04.19 |