- 소스 코드와 명령어
- 고급언어와 저급언어
- 고급언어 : 사람을 위한 프로그래밍 언어
- 저급언어 : 컴퓨터가 직접 이해하고 실행할 수 있는 언어
- 기계어 : 0과 1의 명령어 비트로 이루어진 언어
- 어셈블리어 : 기계어를 읽기 편한 형태로 번역한 언어
- 컴파일과 인터프리터
- 컴파일
- 소스 코드 전체가 컴파일러를 통해 저급 언어로 변환되는 과정
- 소스 코드 전체가 컴파일러를 통해 저급 언어로 변환되는 과정
- 인터프리터
- 소스 코드를 한 줄씩 저급 언어로 변환하여 실행해주는 도구
- 일반적으로 컴파일 언어보다 느림.
- 컴파일
- 목적 파일 vs 실행 파일
- 목적 파일 : 목적코드(컴파일러를 통해 전환된 저급 언어)로 이루어진 파일
- 실행 파일 : 실행코드로 이루어진 파일 (대표적으로 윈도우에서 .exe 확장자)
- 링킹 : 목적 파일과 실행 파일을 연결시키는 작업.
- 고급언어와 저급언어
- 명령어의 구조
- 연산 코드와 오퍼랜드
- 연산 코드 : 명령어가 수행할 연산
- 오퍼랜드 : 연산에 사용할 데이터 혹은 데이터가 저장된 위치 (주로 메모리 주소나 레지스터 이름이 담겨 주소 필드라 불리기도 함)
- 각 영역은 연산 코드 필드, 오퍼랜드 필드로 구성
- 오퍼랜드의 갯수에 따라 0~3-주소 명령어로 불린다.
- 연산 코드
- 연산 코드의 기본적인 네가지 유형
- 데이터 전송, 산술/논리 연산, 제어 흐름 변경, 입출력 제어
- 연산 코드와 오퍼랜드
- 주소 지정 방식
- 오퍼랜드 필드에 데이터가 저장된 위치를 명시할 때 연산에 사용할 데이터의 위치를 찾는 방법.
- 즉시 주소 지정 방식
- 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식. 데이터의 크기가 작은 대신, 연산에 사용할 데이터를 검색하는 과정이 없어 가장 빠르다.
- 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식. 데이터의 크기가 작은 대신, 연산에 사용할 데이터를 검색하는 과정이 없어 가장 빠르다.
- 직접 주소 지정 방식
- 오퍼랜드 필드에 유효 주소를 직접 명시하는 방식.
- 오퍼랜드 필드에 유효 주소를 직접 명시하는 방식.
- 간접 주소 지정 방식
- 유효주소의 주소를 오퍼랜드 필드에 방식. 유효주소의 범위가 더 넓은 대신, 메모리 접근이 두 번 필요하여 일반적으로 느린 방식.
- 유효주소의 주소를 오퍼랜드 필드에 방식. 유효주소의 범위가 더 넓은 대신, 메모리 접근이 두 번 필요하여 일반적으로 느린 방식.
- 레지스터 주소 지정 방식
- 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방식.
- 일반적으로 CPU 외부에 있는 메모리 접근보다 CPU 내부에 있는 레지스터 접근이 더 빠르다.
- 표현할 수 있는 레지스터 크기에 제한이 생길 수 있음.
- 레지스터 간접 주소 지정 방식
- 연산에 사용할 데이터를 메모리에 저장하고, 그 유효 주소를 저장한 레지스터를 오퍼랜드 필드에 명시하는 방법.
- 간접 주소 지정 방식과 비슷하지만, 메모리에 접근하는 횟수가 1회.
참고 : 혼자 공부하는 컴퓨터 구조 + 운영체제 (강민철 저)
'CS지식 > 컴퓨터구조' 카테고리의 다른 글
| 컴퓨터 구조 Ch.5 CPU 성능 향상 기법 (0) | 2023.01.13 |
|---|---|
| 컴퓨터 구조 Ch.4 CPU의 작동원리 (0) | 2023.01.13 |
| 컴퓨터구조 Ch.2 데이터 (0) | 2023.01.08 |
| 컴퓨터 구조 Ch.1 컴퓨터 구조 시작하기. (0) | 2023.01.07 |
| 컴퓨터구조 공부시작. (0) | 2023.01.07 |