Representation of Program

hello_hidi·2022년 10월 3일
0

Computer Architecture

목록 보기
1/8
post-thumbnail

1. Representation of program

1. High-level language

  • 사람이 이해하기 쉽게 작성된 프로그래밍 언어로서, 저급 프로그래밍 언어보다 가독성이 높고 다루기 간단하다는 장점이 있다.
  • 컴파일러나 인터프리터에 의해 저급 프로그래밍 언어로 번역되어 실행된다.
  • C 언어, 자바, 베이직 등 대부분의 프로그래밍 언어들은 고급언어에 속한다.

2. Assembly language

  • 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.
  • 고급 언어와 기계어 사이에 있다 하여 '중간 언어'라고도 불린다.

3. Hardware representation

  • 실제로 컴퓨터의 CPU가 읽어서 실행할 수 있는 0과 1로 이루어진 명령어의 조합

4. Compiler

특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램이다.

  • 원시 코드 : 원래의 문서, 소스 코드로 불리기도 함
  • 목적 코드 : 출력된 문서, 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력됨
  • 컴파일 : 원시 코드에서 목적 코드로 옮기는 과정

5. Assembler

어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램을 말한다.

  • 어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환시키는 프로그램이다.

2. CPU 구성요소

1. Processor

컴퓨터 하드웨어에 장착된 모든 장치의 동작을 제어하고 하드웨어에 명령을 실행하는 장소

i) Control

말 그대로 모든 장치의 동작을 제어하고 하드웨어에 명령을 실행하는 역할을 담당한다.

ii) Datapath

데이터가 지나가는 통로이다.

iii) register

연산에 필요한 데이터를 저장하는 CPU 안에 있는 고속저장 장소

2. Memory

CPU가 프로그램을 실행하거나 데이터를 참조하기 위해 필요한 정보를 저장해두는 장소

i) text segement

실행가능한 명령어가 포함된 오브젝트 파일 또는 메모리 공간을 할당받은 프로그램 섹션 중 하나로 user / kernel segement로 나뉜다.

  • user segement : 사용자가 작성한 명령어
  • kernel segement : os가 작성한 명령어

ii) data segement

함수의 로컬 변수, global 변수 등 변수의 정보를 담고 있는 공간이다. 나중에 뒤에서 더 자세히 다를 예정이다.

3. Instruction Set Architecture(ISA)

컴퓨터에서 사용되는 명령어들의 집합 및 그 정의
각기 다른 컴퓨터는 각각 다른 ISA를 가지고 있지만 각각 비슷한 면을 많이 가지고 있고 우리는 MIPS ISA를 배울것이다

4. MIPS

MIPS Technologies에서 개발한 RISC 기반의 명령어 집합 체계(Instruction Set Architecture)입니다.

즉 우리는 이번 학기에 MIPS 어셈블리 코드를 배우면서
1. 고급언어를 어셈블리어로 바꾸는 컴파일러의 역할
2. 어셈블리어를 기계어로 바꾸는 어셈블러의 역할
을 학습하고 이를 통해 컴퓨터의 구조를 이해하는 학습을 할 것이다.

profile
안뇽희디

0개의 댓글