ppt를 봐도 잘 뭔 소린가 싶어서 이 블로그 참고
-> 참고1 , 참고2 , 참고3, 참고3
Instruction set architecture 의 약자, 명령어 집합 구조
소프트웨어(프로그램)와 하드웨어(CPU) 사이의 인터페이스
-> Software 에서 Hardware 로 넘어가는 단계에서 중재자 역할을 해줌
작성된 프로그램이 ISA의 규칙에 맞게 적절히 기계어로 번역이 되면 그것을 CPU가 읽고 해석해서 지시된 동작을 수행
개발자들은 보통 high-level language로 코드를 짜면,
컴파일러(high-level language → assembly language)와 어셈블러(assembly language → machine language)를 거쳐 low-level lanaguage로 번역되어야 한다.
이렇게 low-level language로 번역된 후에는 hw에게 명령을 내려줘야 하는데, 이 때 sw와 hw 사이를 연결해주는 것이 ISA이다.
ISA는 소프트웨어와 하드웨어가 서로 통신할 수 있게 해주는 "명령어들의 집합"
하나의 CPU는 반드시 하나의 ISA를 사용
프로그램이 동작 시 -> 컴파일러나 어셈블러도 해당 CPU가 사용하는 ISA에 맞춰 설계
ISA는 최하위 레벨의 프로그래밍 인터페이스로, 프로세서가 실행할 수 있는 모든 명령어들을 포함
ISA를 구현하는 방법을 Microarchitecture라고 한다.
-> 컴퓨터 아키텍쳐랑 구분하셈
ISA 아래에 있는 micro architecture는 micro processor가 사용하는 명령어 처리 방식이다. micro processor는 우리가 아는 CPU라고 생각하면 된다.(과거와 비교했을 때 상대적으로 사이즈가 작아져서 micro가 붙었다고 한다.) 따라서 micro architecture 역시 CPU architecture의 맥락으로 이해하면 된다.
CPU architecture의 종류로는 CISC와 RISC가 있다.
ADT, 즉 추상 자료형이란 자료와 그 자료를 이용한 연산들의 집합을 의미한다.
스택을 예로 들면,
- 자료 : 스택의 원소
- 연산 : push()와 pop()등의 연산은 자료를 이용한 연산들에 해당함.
ISA는 하나의 추상 자료형으로 바라볼 수도 있다.
아래 그림은 ISA를 ADT로 나타낸 것이다.
교재에는 없는 ppt(p8 ~ 12) 해당 ISA가 정의하는 연산(명령어)에 의해 상태(레지스터, 메모리)가 변화하는 그림이 있는데... 이건 음 직접 다 지워보고 한번 이해해보기~~!
CPU(중앙처리장치) 를 설계하는 방식이다.
CPU가 작동하려면 프로그램이 있어야 하고 명령어를 주입해서 설계를 한다.
-명령어가 H/W 적인 방식을 RISC라고 한다.
-명령어가 S/W 적인 방식을 CISC라고 한다.
이 둘의 차이점 표(p16) 여기서 무조건 한문제 낸다고 했음
(특히, required memory, instruction, power comsumption 부분 잘 보기)
주말에 너가 할것 ->CISC 랑 RISC 완벽히 이해하기(질문 대답할 수 있을 만큼)
와... 이 많은 걸... 내일 정리합세.. 오늘으느으느은... 여기까지.. 깨꼬닥..