목록전체 글 (124)
minhui study
[목차] 1. 절차적 함수 호출 지원 CPU 모델 2. 함수 호출 인자의 전달과 PUSH & POP 명령어 디자인 3. 함수 호출에 의한 실행의 이동 4. 함수 호출 규약 Section 01. 절차적 함수 호출(Procedure Call) 지원 CPU 모델 > Stack Frame 구조 다음 그림은 함수 호출과 스택 관계를 보여준다. -> Stack Frame : 함수 호출 과정에서 할당되는 메모리 블록 fct2 함수가 호출되면서 이 함수 내에 선언된 변수 e와 h가 스택에 할당되는데 미 메모리 블록을 가리켜 스택 프레임이라 한다. fct2 함수가 반환되면 이 스택 프레임은 모두 반환된다. 스택 프레임은 가장 먼저 할당되면 가장 나중에 반환된다. > sp(Stack Pointer) 레지스터 계속해서 스택..
Section 03. Direct 모드와 Indirect 모드 지금까지 우리가 언급한 메모리 접근방법을 가리켜 Direct모드라 하는데 이 방법을 통해서는 메모리의 모든 영역에 대한 접근이 불가능하다. 왜냐하면 위 그림을 보면 3개의 비트 수로 표현되는 destination부분은 레지스터 갯수가 총 8개여서 문제 될 것이 없지만 메인 메모리 주소값을 나타내는 soure부분에는 표현할 수 있는 값의 범위가 0x0000에서부터 0x00ff까지가 전부이기 때문에 0x100번지에 저장되어 있는 데이터를 참조하고자 한다면 문제가 되기 때문이다. Direct모드에서는 레지스터에 저장할 데이터가 존재하는 주소를 직접적으로 표현하였는데 반대로 Indirect모드에서는 명령어에서 지정하는 번지에 저장된 값을 주소값으로 ..
[목차] 1. 컴퓨터 구조의 접근 방법 2. LOAD&STORE 명령어 디자인 3. Direct 모드와 Indirect 모드 Section 01. 컴퓨터 구조의 접근 방법 > 레지스터를 디자인하자 ① 레지스터를 몇 비트로 구성할 것인가? ② 몇 개 정도로 레지스터를 구성할 것인가? ③ 레지스터 각각을 무슨 용도로 사용할 것인가? 16비트인 8개의 레지스터로 구상해보자 (r4부터 각 각 또 다른 이름을 지니도록 했는데 이 4개의 레지스터들을 특수한 목적으로 사용하기 위해서 그렇게 한 것이다. > 명령어 구조 및 명령어를 디자인하자 여기서 주목할 것은 레지스터와 명령어의 상관관계이다. CPU가 달라지면 명령어 구조가 달라지기 떄문에 어셈블리 언어로 구현된 프로그램은 구조가 다른 CPU로 이식이 불가능하다. ..
[목차] 1. 시스템 프로그래밍의 이해와 접근 2. 컴퓨터 하드웨어의 구성 3. CPU에 대한 이해 4. 프로그래밍의 실행 과정 5. 하드웨어 구성의 재접근 Section 01. 시스템 프로그래밍의 이해와 접근 > 시스템 프로그래밍(System Programming)이란? - 시스템 프로그램 = "컴퓨터 시스템을 동작시키는 프로그램" ex) Windows, Unix 와 같은 운영체제들 - 시스템 프로그래밍 : Windows 운영체제 기반의 컴퓨터에게 일을 시키기 위한 프로그램을 구현하는 것 > 컴퓨터 시스템의 주요 구성요소(Main Components) Section 02. 컴퓨터 하드웨어의 구성 > 컴퓨터 하드웨어의 구성 - CPU(Central Processing Unit) : "중앙 처리 장치 " ..