ComputerScience

마이크로프로세서 용어정리

슬라임 통통 2020. 12. 7. 14:25
728x90

TOY에서 LINK 명령어의 용도 : 함수를 호출하기 전에 되돌아올 주소를 R6에 저장해놓는 어셈블리 명령어

TOY에서 RET 명령어의 용도 :  R6에 저장된 주소로 다음 실행위치를 이동하게하는 어셈블리 명령어

TOY에서 R0의 용도 : 함수 반환값을 전달하는 레지스터

함수별 스택 프레임 : 함수의 실행중에 인수 및 지역변수들을 포함하는 스택 메모리 영역.

TOY에서 SP란? : 스택포인터로 R5에 해당하며 스택의 맨 윗부분을 가리키고 있다.

TOY에서 FP란? : R4에 해당하며 스택 프레임의 기준이 되는 주소를 저장하는 레지스터 

ARM과 x86의 함수 호출 비교: ARM은 함수호출시 BLAL func 이용하며 복귀시 MOV PC, R14를 이용한다. x86은 호출시 CALL func 복귀시 RET를 이용한다.

시스템 호출 : 운영체제에서 제공하는 특정 기능의 실행을 요청하는 것. 

TOY에서 SR란? : Status Register로 CCR의 비트들과 프로세서 모드를 포함함.

ARM프로세서란 : 휴대형기기 등등에서 가장 광범위하게 사용되는 프로세서로 저전력이 특징.

Startup Code란 : main함수가 실행되기전에 맨처음 실행되는 어셈블리 구문.

입출력장치 제어 프로그램 ( 디바이스 드라이버 ) : 디바이스의 상태를 저장하고 제어하는 기능을 하는 프로그램

 

TOY프로세서는 순차논리회로로 이루어짐.

 

 

 

  TOY ARM x86
운영체제 기능 호출 SWI n SWI #n INT n
운영체제 기능 복귀 RTI MOVS PC, R14_svc IRET

 

 

  TOY ARM x86
함수 호출 LINK BLAL func CALL func
함수 복귀 RET MOV PC, R14 RET

 

 

운영체제 기능에 해당하는 C 언어 표현

c언어 표현 어셈블리 표현
getchar(void) SWI 0
putchar(char) SWI 1
gets(char []) SWI 2
puts(char []) SWI 3
setecho(int) SWI 4
exit(void) SWI 255

 

 

 

레지스터 쓰임새 비교

  Toy ARM x86
Program Counter R7 R15 EIP
Status Register SR CPSR EFLAGS
Link Register R6 R14 EBP
Stack Pointer R5 R13  
Frame Pointer R4    

 

 

 

어셈블리 명령어 비교

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형