KalelPark's LAB

[ Computer Architecture ] 컴파일, 인터프리티 언어 그리고 주소 지정 방식? 본문

Study/Computer Architecture

[ Computer Architecture ] 컴파일, 인터프리티 언어 그리고 주소 지정 방식?

kalelpark 2023. 1. 26. 09:17

컴파일 언어

컴파일러에 의해 소스 코드 전체가 저급언어로 변환되어 실행되는 고급언어입니다. 코드 전체가 저급 언어로 변환되는 과정 컴파일이라고 합니다. 컴파일이 성공적으로 수행되면 개발자가 작성한 소스코드는 컴퓨타가 이해할 수 있는 저급언어로 변환됩니다. 

이러한 과정을 거쳐서 저급 언어로 변환된 코드를 목적코드라고 합니다.

인터프리터 인어

인터프리터 언어는 소스 코드가 한 줄씩 실행되는 고급 언어이다. 컴파일 언어와 달리 소스 코드가 한 줄씩 저급 언어로 변환되어 실행됩니다. 

주소 지정 방식

만약 오퍼랜드 필드 안에 메모리 주소가 담긴다면 표현할 수 있는 데이터의 크기는 하나의 메모리 주소에 저장할 수 있는 공간만큼 커집니다. 연산 코드에 사용할 데이터가 저장될 위치, 즉 위치의 대상이 되는 데이터가 자장될 위치를 유효 주소(effective address)라고 합니다.

오퍼랜드 필드에 데이터가 저장될 위치를 명시 할 때 연산에 사용될 데이터의 위치를 찾는 방법을 주소 지정 방식이라고 합니다.      

즉시 주소 지정방식(immediate addressing mode)

연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식이다. (기존의 저장방식보다 훨씬 빠릅니다.)

직접 주소 지정방식(direct addressing mode)

오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식이다. 오퍼랜드 필드에서 표현할 수 있는 데이터의 크기는 즉시 주소 지정 방식보다 더 커졌지만, 여전히 유효 주소를 표현할 수 있는 범위가 연산 코드의 비트 수만큼 줄어듭니다.

간접 주소 지정방식(indirect addressing mode)

유효 주소의 주소를 오퍼랜드 필드에 명시합니다. 직접 주소 지정 방식보다 표현할 수 있는 요휴 주소의 범위가 더 넓어지지만, 두 번의 접근을 해야 한다는 단점이 있습니다.

레지스터 주소 지정방식(register addressing mode)

직접 주소 지정 방식과 비슷하게 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방법이다.

CPU 외부에 있는 메모리에 접근하는 것보다 CPU 내부에 있는 레지스터에 접근하는 것이 더 빠릅니다. 그러므로 레지스터 주소 지정 방식은 직접 주소 지정 방식보다 빠르게 데이터에 접근하는 것이 가능합니다.

 

* 즉 정리하자면,

   즉시 주소 지정 방식 : 연산에 사용할 데이터

   직접 주소 지정 방식 : 유효 주소

   간접 주소 지정 방식 : 유효 주소의 주소

   레지스터 주소 지정 방식 : 유효 주소

Comments