본문 바로가기

명령어

함수 호출 과정 스택 프레임(Stack Frame) : 함수 호출시 할당되는 메모리 블록(지역변수의 선언으로 인해 할당되는 메모리 블록) 함수 호출이 완료되면(return) 기존에 선언된 지역변수에 접근이 불가능하다.(할당된 메모리가 반환되기 때문) (ex. fct1() 함수가 호출되면서 함수 내부에 선언된 변수 c, d 가 스택에 할당되는데 이 메모리 블록을 fct1() 함수의 스택 프레임이라 한다. fct1() 함수가 반환되면 스택 프레임도 반환된다.) SP 레지스터 : 스택 프레임을 가리키는 레지스터 sp 레지스터 값은 변수가 하나 하나씩 할당될 때마다 증가하면서 다음 변수가 할당될 메모리 위치를 가리킨다. 호출한 함수가 종료될 경우, 스택 프레임 단위로 sp 레지스터 값을 이동시켜야 한다. (함수 안에서 선언된 .. 더보기
어셈블리 디자인을 통한 컴퓨터 구조의 접근 1. 레지스터 디자인 고려 사항 : 레지스터 용량 레지스터 갯수 레지스터 각각의 용도 예) 레지스터 용량 : 16비트, 레지스터 갯수 : r0 ~ r7 (8개) 레지스터 용도 : r0 ~ r3 (저장용), r4(ir : instruction register), r5(sp : stack pointer), r6(lr : link register), r7(pc : program counter) (참고 : ir 은 다음번에 실행하게 될 명령어를 미리 가져다 놓는 용도로 사용된다) 2. 명령어 구조 디자인 명령어의 구조는 레지스터의 용량, 갯수, 용도에 종속적으로 구성될수 밖에 없다. (예 : 레지스터가 4개 일때와 8개 일때 명령어 내부에 레지스터를 표현해야할 비트수가 달라진다) 따라서 어셈블리 언어로 구현된 .. 더보기
시스템 프로그래밍(System Programming)의 시작 시스템 프로그램(System Program) : 컴퓨터 시스템을 동작시키거나 하드웨어를 사용할 수 있도록 도와주는 프로그램 1. 컴퓨터 시스템의 주요 구성요소(Main Components) 컴퓨터 구조(Computer Architecture) : CPU 캐쉬(Cache) ↕ 운영체제(Operating System) : 메인 메모리(Main Memory) 하드디스크(Hard Disk) 2. 컴퓨터 구조 : 1) CPU : 중앙처리장치(Central Processing Unit) ALU(Arithmetic Logic Unit) : CPU 내부에 실제 연산을 담당하는 부분. 산술연산(+, -)과 논리연산(AND, OR)을 수행 컨트롤 유닛(Control Unit) : CPU 내부로 들어온 명령어를 해석해서 A.. 더보기