특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램이다.
- 원시 코드 : 원래의 문서, 소스 코드로 불리기도 함
- 목적 코드 : 출력된 문서, 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력됨
- 컴파일 : 원시 코드에서 목적 코드로 옮기는 과정
어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램을 말한다.
- 어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환시키는 프로그램이다.
컴퓨터 하드웨어에 장착된 모든 장치의 동작을 제어하고 하드웨어에 명령을 실행하는 장소
말 그대로 모든 장치의 동작을 제어하고 하드웨어에 명령을 실행하는 역할을 담당한다.
데이터가 지나가는 통로이다.
연산에 필요한 데이터를 저장하는 CPU 안에 있는 고속저장 장소
CPU가 프로그램을 실행하거나 데이터를 참조하기 위해 필요한 정보를 저장해두는 장소
실행가능한 명령어가 포함된 오브젝트 파일 또는 메모리 공간을 할당받은 프로그램 섹션 중 하나로 user / kernel segement로 나뉜다.
함수의 로컬 변수, global 변수 등 변수의 정보를 담고 있는 공간이다. 나중에 뒤에서 더 자세히 다를 예정이다.
컴퓨터에서 사용되는 명령어들의 집합 및 그 정의
각기 다른 컴퓨터는 각각 다른 ISA를 가지고 있지만 각각 비슷한 면을 많이 가지고 있고 우리는 MIPS ISA를 배울것이다
MIPS Technologies에서 개발한 RISC 기반의 명령어 집합 체계(Instruction Set Architecture)입니다.
즉 우리는 이번 학기에 MIPS 어셈블리 코드를 배우면서
1. 고급언어를 어셈블리어로 바꾸는 컴파일러의 역할
2. 어셈블리어를 기계어로 바꾸는 어셈블러의 역할
을 학습하고 이를 통해 컴퓨터의 구조를 이해하는 학습을 할 것이다.