✓ 저급언어와 고급언어
- 저급 언어: 컴퓨터를 위한 언어 (기계어, 어셈블리어)
- 고급 언어: 사람을 위한 언어
✓ 컴파일 언어와 인터프리터 언어
- 컴파일 언어: 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 (소스코드 → 목적코드). 소스 코드 내 오류가 하나라도 있다면 컴파일이 불가능하다.
- 인터프리터 언어: 소스 코드가 한 줄씩 실행되는 고급 언어. 문법 오류가 나기 전 줄 까지는 올바르게 수행된다.
✓ 명령어의 구조
💡 연산 코드(명령어가 수행할 연산 / 연산자) + 오퍼랜드(연산에 사용할 데이터 혹은 데이터의 위치 / 피연산자)
각 필드를 연산 코드 필드, 오퍼랜드 필드(주소 필드)라고 부른다
명령어 길이 때문에 오퍼랜드 필드에 직접 데이터를 담는 게 아니고 주소를 담는다.
✅ 유효 주소: 연산에 사용할 데이터가 저장된 위치
✏️ 주소 지정 방식
- 즉시 주소 지정 방식: 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시. 데이터의 크기가 작아진다는 단점이 있으나 속도가 빠르다.
- 직접 주소 지정 방식: 오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식. 여전히 담을 수 있는 유효 주소에 제한이 있다.
- 간접 주소 지정 방식: 유효 주소의 주소를 오퍼랜드 필드에 명시하는 방식. 두 번 메모리 접근이 필요하여 속도가 느리다.
- 레지스터 주소 지정 방식: 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방식. 마찬가지로 레지스터 크기에 제한이 생긴다.
- 레지스터 간접 주소 지정 방식: 연산에 사용할 데이터를 메모리에 저장하고 그 주소(유효 주소)를 저장한 레지스터를 오퍼랜드 필드에 명시하는 방식. 메모리 접근하는 횟수가 한 번이다. 따라서 간접 주소 지정 방식보다 빠르다.
+ 스택과 큐 정리 (1주차 선택미션)
'컴퓨터 & 코딩 > CS' 카테고리의 다른 글
[혼공학습단 10기][혼공컴운] 빠른 CPU를 위한 설계 기법 (0) | 2023.07.04 |
---|---|
[혼공학습단 10기][혼공컴운] CPU의 작동 원리 (0) | 2023.07.03 |
[혼공학습단 10기][혼공컴운] 컴퓨터 구조의 큰 그림 / 0과 1로 숫자 및 문자 표현하는 방법 (0) | 2023.07.03 |
[혼공학습단 10기][혼공컴운] 1주차 미션 (0) | 2023.06.29 |
[Fachinformatiker] Partitionierung(disk partition), Dateisysteme (0) | 2022.12.18 |