명령어
1. 소스코드와 명령어
고급 언어: 대부분의 프로그래밍 언어. 사람을 위한 언어. 컴퓨터가 이해할 수 없음
저급 언어: 컴퓨터가 직접 이해하고 실행할 수 있는 언어. 명령어로 이루어져 있음
고급 언어로 작성된 소스 코드가 실행되려면 반드시 저급 언어(명령어)로 변환 되어야 한다.
저급 언어는 두가지 종류가 있다.
기계어: 0과 1로 이루어진 명령어로 구성된 저급 언어
어셈블리어: 0과 1로 이루어진 기계어를 읽기 편한 형태로 번역한 저급 언어
고급 언어 -> 저급 언어 변환
개발자들이 고급 언어로 작성한 소스 코드는 결국 저급 언어로 변환되어 실행된다.
그 방식은 크게 두가지 방식으로 나눌 수 있다.
컴파일 방식
컴파일 언어: 컴파일 방식으로 작동하는 고급 언어
컴파일: 컴파일 언어로 작성된 소스 코드 전체가 저급 언어로 변환되는 과정
컴파일러: 컴파일을 수행해 주는 도구
컴파일 언어로 작성된 소스 코드 전체가 컴파일러에 의해 저급 언어로 변환(컴파일)되고
컴파일 결과로 저급 언어인 목적 코드가 생성된다.
ex) C언어
인터프리터 방식
인터프리터 언어: 인터프리터에 의해 소스 코드가 한줄 씩 실행되는 고급 언어
인터프리터: 소스 코드를 한 줄씩 저급 언어로 변환하여 실행해 주는 도구
인터프리터에 의해 소스 코드가 한줄 씩 실행 된다.
한 줄 한 줄씩 저급 언어로 해석하며 실행해야 하기 때문에 일반적으로 컴파일 언어보다 느리다.
ex) 파이썬
2. 명령어의 구조
명령어는 연산코드와 오퍼랜드로 구성되어 있다.
연산 코드
명령어가 수행할 연산(연산자).
데이터 전송, 산술/논리 연산, 제어 흐름 변경, 입출력 제어 이렇게 크게 네가지로 유형을 나눌 수 있다.
오퍼랜드
연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치(피연산자)
일반적으로 데이터를 직접 명시하기 보다는 연산에 사용할 데이터가 저장된 위치, 즉 메모리 주소나 레지스터 이름이 담긴다. 오퍼랜드를 주소 필드라고 부르기도 한다.
주소 지정 방식
오퍼랜드 필드에 데이터가 저장된 위치를 명시할 때 연산에 사용할 데이터 위치를 찾는 방법을 주소 지정 방식이라고 한다.
유효 주소를 찾는 방법이라고도 말할 수 있다.
유효 주소: 연산에 사용할 데이터가 저장된 위치
즉시 주소 지정 방식: 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시
직접 주소 지정 방식: 오퍼랜드 필드에 유효 주소를 직접적으로 명시
간접 주소 지정 방식: 유효 주소의 주소를 오퍼랜드 필드에 명시
레지스터 주소 지정 방식: 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시
레지스터 간접 주소 지정 방식: 유효 주소를 저장한 레지스터를 오퍼랜드 필드에 명시
'CS > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] 메모리(RAM), 캐시 메모리 (1) | 2024.02.08 |
---|---|
[컴퓨터구조] CPU의 구성 요소, 작동 원리 (0) | 2024.02.08 |
[컴퓨터구조] 입출력장치 (0) | 2022.12.11 |
[컴퓨터 구조] 0과 1로 데이터를 표현하는 방법 (0) | 2022.09.06 |