고급언어 : 사람을 위한 언어 / 일반적인 프로그래밍 언어
저급언어 : 컴퓨터가 이해하는 언어 어셈블리어와 기계어로 나누어진다.
기계어 : 0과 1
어셈블리어 : 저급언어 중 사람이 이해하기 쉽게 쓰여진 언어 한줄 한줄 해석해야됨
고급언어를 어떻게 저급언어로 바꿀까?
1. 컴파일 방식 : 한 번에 (느림)
2. 인터프리터방식 : 한줄 한줄 (빠름)
-> 컴파일 방식과 인터프리터 방식은 한가지만 사용하는게 아님 실제로 자바는 컴파일 방식과 인터프리터 방식 둘 다 사용한다.
목적 파일 : 목적 코드로 이루어진 파일
목적 코드가 실행되기 위해서는 [링킹]이 필요
명령어
명령어 = 연산코드 + 오퍼랜드
연산코드 : 명령어가 수행할 연산
오퍼랜드 : 연산코드가 실행할 데이터 or 데이터가 저장된 위치
0주소 명령어 1주소명령어 2주소명령어 3주소명령어 등 다양
0,1,2,3은 오퍼랜드의 개수
오퍼랜드의 개수가 많아질 수록 오퍼랜드의 크기는 작아진다.
주소지정 방식
1. 즉시 주소 지정 방식
- 데이터의 크기가 작아지는 단점
- 다른 주소 지정 방식보다 빠름
2. 직접 주소 지정 방식
- 오퍼랜드 필드의 길이가 연산 코드의 길이만큼 짧아져 표현할 수 있는 유효 주소에 제한이 생김
- 메모리를 한번 들림 (느리다는 말)
3. 간접 주소 지정 방식
- 유효주소의 주소를 오퍼랜드 필드의 명시
- 메모리를 두번 들림(매우 느림)
3. 레지스터 주소 지정 방식
- 레지스터를 오퍼랜드에 직접 명시
- 레지스터는 접근하는게 빠르기 때문
- 위와 동일하게 레지스터 크기에 제한
4. 레지스터 간접 주소 지정 방식
- 연산에 사용할 데이터를 메모리에 저장 / 유효주소를 레지스터에 저장 / 오퍼랜드에 레지스터 저장
- 메모리에 접근하는 횟수가 1번이므로 2번 메모리에 접근하는 간접 주소 지정 방식 보다 빠름
'[CS]' 카테고리의 다른 글
[네트워크] OSI 7계층 (0) | 2023.04.09 |
---|---|
컴퓨터 구조 ch.4 CPU의 작동 원리 (2) | 2023.01.02 |
컴퓨터 구조 ch.2 데이터 (2) | 2022.12.28 |
컴퓨터 구조 공부 시작 [혼자 공부하는 컴퓨터구조+운영체제] (2) | 2022.12.27 |
컴퓨터 과학 기초 중 기초 중 기초 (0) | 2022.12.16 |