728x90
고급 언어
- 개발자가 이해하기 쉽게 만든 언어
- 컴파일 언어, 인터프리터 언어가 있다.
- 컴파일 언어 : 컴파일 언어로 작성된 소스 코드는 컴파일러를 통해 저급 언어로 변환되고, 이 과정을 컴파일 이라고 한다.
- 인터프리트 언어 : 인터프리터에 의해 한 줄씩 실행 -> 소스 코드 전체가 저급언어로 변환 되기까지 기다릴 필요가 없다
저급 언어
- 컴퓨터가 이해하고 실행하는 언어
- 기계어,어셈블리어가 있다
- 기계어 : 0과 1로 이루어진 명령어로 구성됨
- 어셈블리어 : 0과 1로 이루어진 기계어를 읽기 편한 상태로 번역한 저급 언어
명령어의 구조
- 더해라,빼라,저장해라 : 연산 코드(+필드)
- 연산에 사용될 데이터가 저장된 위치 : 오퍼랜드(+필드)
- 오퍼랜드는 연산에 사용도리 데이터를 저장하는 경우보다 연산에 사용될 데이터가 저장된 위치를 저장하는게 대부분이다!
- 이유 : 오퍼랜드 필드로 표현할 수 있는 데이터 크기가 2의16승 이라 데이터를 직접 넣는 것보다,데이터가 저장된 메모리 주소를 넣는것이 더 많은 정보를 표현할 수 있다.(데이터의 크기는 하나의 메모리 주소에 저장할 수 있는 공간만큼 커짐)
- 오퍼랜드는 연산에 사용도리 데이터를 저장하는 경우보다 연산에 사용될 데이터가 저장된 위치를 저장하는게 대부분이다!
명령어 주소 지정 방식
- 즉시 주소 지정 방식
- 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시
- 가장 간단한 형태의 주소 지정 방식
- 연산에 사용할 데이터의 크기가 작아질 수 있지만,빠르다
- 직접 주소 지정 방식
- 오퍼랜드 필드에 유효 주소를 직접 명시하는 방법
- 유효 주소를 표현 할 수 있는 크기가 연산 코드만큼 줄어든다
- 간접 주소 지정 방식
- 오퍼랜드 필드에 유효 주소의 주소를 명시
- 앞선 주소 지정 방식들에 비해 속도가 느리다.(메모리를 많이 뒤적거림)
- 레지스터 주소 지정 방식
- 연산에 사용할 데이터가 저장된 레지스터 명시
- 메모리에 접근하는 속도보다 레지스터에 접근하는 것이 빠름!
- 레지스터 간접 주소 지정 방식
- 연산에 사용할 데이터를 메모리에 저장
- 그 주소를 저장한 레지스터를 오퍼랜드 필드에 명시
Tip:
cpu가 메모리를 뒤적거리는 속도는 매우 매우 느리다->메모리 접근을 최소화 하는것이 속도면에서는 중요하다.
cpu가 메모리에 접근하는 속도보다 메모리에 접근하는 속도가 더 빠르다
본 게시물은 한빛 미디어 <혼자 공부하는 컴퓨터구조+운영체제>를 읽고 공부한 것을 기록한 게시물입니다.
'컴퓨터 구조' 카테고리의 다른 글
빠른 CPU를 만들어보자!(1) : 클럭, 코어,스레드 (0) | 2023.02.03 |
---|---|
명령어 사이클과 인터럽트 (feat. 멈춰!!) (1) | 2023.02.03 |
CPU안의 ALU & 제어장치 & 레지스터 (0) | 2023.02.03 |
0과 1로 어떻게 숫자 & 문자를 표현하지?! (0) | 2023.02.03 |
컴퓨터 속 사황(4황) 핵심 부품 (0) | 2023.02.03 |