레지스터
- 기초
- cpu에 존재
- 데이터 임시 저장
- 메인 메모리보다 빠름 --> 비쌈
- 종류
- General Purpose Register
- Special Purpose Register
- pc(program counter): 다음 명령의 주소 hold
- ac(accumulator): 계산 결과 임시 저장
- ir(Instruction register): 메모리로부터 가져온 명령 hold
- 어떤 레지스터는 프로그래머가 접근 불가
programming language
- High Level Languages
- 기계와 독립적
- Assembly Languages --> 우리가 배우는 부분
- 각 프로세서는 고유한 Assembly Languages 가짐
- 각 assembly 문장은 machine instruction에 대응
- Machine Languages
- 기계가 바로 알아듣는 이진수
- 어셈블리어와 기계어는 역할에 따라 단계를 나눈 것임
컴파일러, 어셈블러
- 컴파일러
- High Level Languages --> Machine Languages
- 어셈블러
- Assembly Languages --> Machine Languages
isa
- isa(Instruction set architecture) 정의
- 하드웨어와 소프트웨어가 어떻게 소통할지 정해 놓은 규약
- machine language와 hardware간의 규약
- 프로그래머 관점에서의 하드웨어에 대한 최소한의 지식
- but 설계와 디자인은 자유롭게 구현
- ex) 인텔과 amd 같은 isa 사용, 기능과 구현은 다름
- 내용
- 프로세셔 명령어 set
- 레지스터 정보
- 메모리 조정
- 하드웨어 예외 처리
- format
- 길이: 8bits, 16bits, 32 bits ...
- fixed size
- variable size
- 파트
- opcode(연산자): 데이터 어떻게 처리할지 --> 명령어 종류 결정
- operand(피연산자, 데이터): 데이터
- 데이터
- 데이터 메모리 주소
- opcode와 opreand의 길이를 필요에 맞게 조정