컴퓨터 & 코딩/CS

[혼공학습단 10기][혼공컴운] 명령어와 주소 지정 방식

구로그 2023. 7. 3. 18:11
728x90

✓ 저급언어와 고급언어

- 저급 언어: 컴퓨터를 위한 언어 (기계어, 어셈블리어) 

- 고급 언어: 사람을 위한 언어

 

 

✓ 컴파일 언어와 인터프리터 언어

- 컴파일 언어: 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 (소스코드 → 목적코드). 소스 코드 내 오류가 하나라도 있다면 컴파일이 불가능하다. 

- 인터프리터 언어: 소스 코드가 한 줄씩 실행되는 고급 언어. 문법 오류가 나기 전 줄 까지는 올바르게 수행된다. 

 

 

✓ 명령어의 구조

 

💡 연산 코드(명령어가 수행할 연산 / 연산자) + 오퍼랜드(연산에 사용할 데이터 혹은 데이터의 위치 / 피연산자) 
각 필드를 연산 코드 필드, 오퍼랜드 필드(주소 필드)라고 부른다 

 

명령어 길이 때문에 오퍼랜드 필드에 직접 데이터를 담는 게 아니고 주소를 담는다.

유효 주소: 연산에 사용할 데이터가 저장된 위치 

 

 

✏️ 주소 지정 방식

- 즉시 주소 지정 방식: 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시. 데이터의 크기가 작아진다는 단점이 있으나 속도가 빠르다

- 직접 주소 지정 방식: 오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식. 여전히 담을 수 있는 유효 주소에 제한이 있다. 

- 간접 주소 지정 방식: 유효 주소의 주소를 오퍼랜드 필드에 명시하는 방식. 두 번 메모리 접근이 필요하여 속도가 느리다

- 레지스터 주소 지정 방식: 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방식. 마찬가지로 레지스터 크기에 제한이 생긴다.

- 레지스터 간접 주소 지정 방식: 연산에 사용할 데이터를 메모리에 저장하고 그 주소(유효 주소)를 저장한 레지스터를 오퍼랜드 필드에 명시하는 방식. 메모리 접근하는 횟수가 한 번이다. 따라서 간접 주소 지정 방식보다 빠르다. 

 

 


+ 스택과 큐 정리 (1주차 선택미션) 

 

[혼공학습단 10기][혼공컴운] 1주차 미션

✏️ 진도: Chapter 01 ~ 03 (컴퓨터 구조 / 데이터 / 명령어) 📖 기본 미션: p. 51의 확인 문제 3번, p.65의 확인 문제 3번 풀고 인증하기 📚 선택 미션: p. 100의 스택과 큐의 개념을 정리하기 스택 Stack ⇨

hianzhi.tistory.com

 

 

반응형