YZ ZONE

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

IT/컴퓨터구조

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

러블리YZ 2023. 2. 4. 11:12

[ 컴퓨터 정보 ]

 프로그램은 사람들이 이해하기는 쉽지만, 디지털 회로들로 이루어진 컴퓨터 하드웨어는 전혀 이해하지 못함

 따라서, 프로그램들은 컴파일러(compiler)라고 부르는 소프트웨어에 의해 하드웨어가 이해할 수 있는 언어로 번역됨

 

[ 프로그램 코드 ]

 기계어(machine language)

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

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

고급 언어는 어느 컴퓨터에서 사용되든 거의 동일하지만, 기계어는 CPU마다 서로 다름

 

 어셈블리 언어(assembly language)
CPU들의 서로 다른 기계어 차이를 해결하기 위한 중간언어 고급 언어와 기계어 사이의 중간 언어 어셈블러(assembler)로 번역되며, 기계어와 일대일 대응

 

 고급 언어(high-level language)
영문자와 숫자로 구성되어 사람이 이해하기 쉬운 언어 C, C++, PASCAL, Python 
컴파일러(compiler)를 이용하여 기계어로 변역

 

[] Z = X + Y
 LOAD A, X : 기억장치 X번지의 내용을 읽어서, 레지스터 A에 적재(load)

 ADD A, Y : 기억장치 Y번지 내용을 읽어서, 레지스터 A에 적재된 값 과더하고, 결과를다시A에적재

STOR Z, A : 그 값을 기억장치 Z 번지에 저장(store)

 

[ 프로그램 언어 번역 소프트웨어 ]

 컴파일러 (compiler)

 고급언어 프로그램을 기계어 프로그램으로 번역하는 소프트웨어

어셈블러 (assembler)

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

 니모닉스(mnemonics)

어셈블리 명령어가 지정하는 연산을 가리키는 알파벳 기호

‘LOAD’, ‘ADD’, ‘STOR’ 등

명령어는 CPU가 수행해야 할 동작뿐 아니라, 처리할 데이터가 저장되어 있는 기억장치 주소나 레지스터 번호도 구체적으로 지정해 줌

컴파일의 마지막 결과인 기계어 프로그램은 2진수인 1 0들의 조합으 로 이루어 짐

 

[ 기계어의 형식 ]

연산코드 (op code)
 CPU가 수행할 연산을 지정해 주는 비트들 비트수=‘3’이라면,지정될수있는연산의최대수:23 =8

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

 비트 수 = ‘5’ 라면, 주소지정(addressing) 할 수 있는 기억 장소의 최 대수:25 =32

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

프로그램 코드(명령어)와 데이터는 지정된 기억 장소에 저장

 번역된 기계어들은 순서대로 기억장치에 저장 

단어(word) 단위로 저장

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

 단어 길이의 예

8비트, 16비트, 32비트, 64비트 

 주소지정 단위

단어 단위 혹은 바이트(byte) 단위