본문 바로가기
카테고리 없음

[컴퓨터구조] 정보의 표현과 저장

by 낭람_ 2019. 3. 19.
반응형

[정보의 표현과 저장]


컴퓨터 정보의 종류는 2진수 비트들로 표현된 프로그램 코드(program code)데이터(data)가 존재한다.


프로그램 코드 종류

기계어(machine language)

- 기계 코드(machine code)라고도 함

- 컴퓨터 하드웨어 부품들이 이해할 수 있는 언어로서, 2진 비트들로 구성 되어있다.


어셈블리 언어(assembly language)

- 어셈블리 명령어(assembly instruction)라고도 함

- 고급 언어와 기계어 사이의 중간 언어

- 어셈블러(assembler)로 번역되며, 기계어와 일대일 대응

*어셈블러 : 어셈블리 프로그램을 기계어 프로그램으로 번역하는 소프트웨어


고급언어(high-level language)

- 영문자와 숫자로 구성되어 사람이 이해하기 쉬운 언어

- C, C++, PASCAL, FORTRAN, JAVA 등

- 컴파일러(compiler)를 이용하여 기계어로 번역한다.

*컴파일러(compiler) : 고급언어를 기계어로 변환해주는 소프트웨어


즉, 고급언어는 사용자를 위한 언어이고, 기계어는 컴퓨터가 이해하기 쉬운 언어이다.


고급언어에서 기계어로 변역 과정

ex) z = x + y 일경우

고급 언어

-  z = x + y


어셈블리 언어

- LOAD A, x  (A에 x의 내용을 불러옴)

- ADD  A, y   (A에 Y의 내용을 더함)

- STOR z, A   (z에 A의 내용을 저장)

- 고급 언어에서의 한줄이 3줄로 늘어남.

- 위의 기호인 LOAD, ADD, STOR을 니모닉스(mnemonics)라고 부른다.

*니모닉스(mnemonics) : 명령어가 지정하는 동작을 나타내는 간략화된 기호


기계어

- 001 00101 (LOAD A, x)

- 100 00110 (ADD A, y)

- 010 00111 (STOR z, A)


이러한 과정을 거쳐 고급언어에서 기계어로 변환된다.


기계 명령어의 형식

ex) LOAD A, x = 001 00101

- 001 : 연산코드(op code) 

- CPU가 수행할 연산을 지정해 주는 비트

- 만약 op code의 비트 수가 3이라면, 지정될 수 있는 연산의 최대수는 8개이다. 2의 3승,

- 만약 op code의 비트 수가 4라면, 지정될 수 있는 연산의 최대수는 16개이다. 2의 4승.

- 위의 경우 op code field가 1이므로, LOAD하라는 의미 

- 00101 : 오퍼랜드(operand)

- 연산에 사용될 데이터 혹은 그것이 저장되어 있는 기억장치 주소 (memory address)

- 만약 operand의 비트 수가 5라면, 주소 지정(addressing)할 수 있는 기억 장소의 최대수는 32개이다.  2의 5승,

- 만약 operand의 비트 수가 6이라면, 주소 지정(addressing)할 수 있는 기억 장소의 최대수는 64개이다. 2의 6승.

- 위의 경우 operand field가 5이므로, 기억장치의 5번지의 내용을 읽어 레지스터 A에 불러오라(op code filed : 1)는 의미.


프로그램 코드와 데이터의 기억장치 저장

- 프로그램 코드(명령어)(op code)와 데이터(operand)는 지정된 기억 장소에 저장한다.

- 단어(word) 단위로 저장

- 단어 : 각 기억 장소에 저장되는 정보의 기본 단위로, CPU에 의해 한 번에 처리될 수 있는 비트들의 그룹

- 단어 길이의 예 : 8비트, 32비트, 64비트, 128비트

- 주소지정 단위 : 단어(word) 단위 혹은 바이트(byte) 단위


- 낮은 주소에 명령어(op code)가 쌓이고

- 높은 주소에 데이터(operand)가 쌓인다.

- 하지만, 실질적으로 컴퓨터는 프로그램 코드 영역과 데이터 코드 영역을 구분하지 않는다.

반응형

댓글