2009-04-13 4 views
1

나는 인터뷰에서 질문을 받았다.컴파일러의 정수를 메모리에 저장하고 CPU에서 처리하는 방법은 무엇입니까?

나는 대답하기가 어려웠다. 어디서부터 시작해야할지 모르겠습니다. 마지막으로, 질문이 컴파일러와 해당 구성과 어떻게 관련되는지에 대해 설명했습니다.

정확히 "컴파일러의 정수"가 정확히 무엇인지 확신 할 수 없었습니다. 컴파일러라는 단어는 후보자를 혼동시키는 것이 었습니다.

5 분 안에 질문에 어떻게 대답합니까?

답변

4
내 하드웨어 아키텍처 클래스의

5 분 버전 :

정수, 데이터를 다른 형태로, 그것은 assembly 명령 인수에 사용 할 수있는 CPU registers까지 memory hierarchy을 통해 디스크에서 복사됩니다.

조립 지침의 결과는 memory pointers에 의해 액세스 될 수있는 RAM으로 메모리 계층을 다시 되돌려 놓습니다.

compiler은 CPU의 제한된 레지스터를 효율적으로 관리 할 어셈블리 언어를 생성합니다.

상위 수준 컴퓨터 언어에서 이러한 레지스터를 관리하는 어셈블리는 대개 완전히 투명하며 abstractedvariables을 사용합니다.

+0

답변 해 주셔서 감사합니다! –

0

질문은 아마 당신이 레지스터에 대해 이야기하려고하는 것입니다. 정보는 레지스터에 복사 된 다음 컴퓨터 코드 연산자가 적용되고 정보가 레지스터에서 다시 복사됩니다.

+0

x86에서는 대부분의 명령어가 하나의 피연산자로 메모리 주소를 허용합니다. 예 : ADD [some_var], eax. –