ISA(2)
-
프로그램 MIPS, ARM, ISA
운영체제는 사용자 프로그램과 하드웨어 사이의 인터페이스 역할을 한다. 그렇다면 사용자의 명령어는 어떤 방식으로 CPU에 의해 실행되는 걸까? 사용자의 명령어는 (C, JAVA) 컴파일러에 의해 어셈블리 언어로 번역이 된다. 어셈블리 언어는 프로세서의 ISA에 specific하다는 특징을 갖는다. ISA는 프로세서가 실행할 수 있는 명령어 집합이다. 프로세서가 실행할 수 있는 작업들이나, 데이터 타입 같은 것들을 의미한다. RISC, CISC 는 ISA의 종류이다. ARM과 MIPS는 대표적인 RISC 아키텍처의 종류이다. 컴파일러에 따라 결과물인 어셈블리 언어가 다르다. ISA에는 앞서 설명했듯이 RISC와 CISC가 있다. CISC는 Complex Instruction Set Computer 이다. 즉..
2023.11.05 -
컴퓨터구조 1강
PC 에서 사용하는 인텔 기반 ISA, 모바일에서 사용되는 ARM ISA로 양분된다. 새로운 ISA를 만드는데 생기는 문제는 무엇일까? 예전에 돌아가던 프로그램과의 호환성을 문제이다. ADT는 state와 operation으로 정의 된다. 가령 스택은 스택에 쌓여있는 아이템들로 상태가 정의되고, push, pop 등의 operation이 정의가 된다. ISA는 하드웨어와 소프트웨어 사이를 가르는 인터페이스이다. ISA는 레지스터와 메모리로 정의된 state와 state를 transform 시킬 수 있는 operation 등으로 정의된다. Instruction의 의무는 레지스터와 메모리로 정의된 state를 변하게 하는 것이다.
2023.05.23