Computer Science/Computer Architecture

[컴퓨터 구조] 컴퓨터 시스템 개요 2

kyxxn 2023. 11. 12. 18:33
728x90

컴퓨터 정보 : 2진수 비트들로 표현된 프로그램 코드(기계어, 어셈블리어, 고급언어)와 데이터

프로그램 언어의 번역 과정

고급 언어 → 어셈블리어 → 기계어 순으로 변환

어셈블리어와 기계어는 1대1 대응

Z = X + Y

  1. LOAD A, X : 기억장치 X번지 주소의 내용을 읽어, 레지스터 A에 적재하라
  2. ADD A, Y : 기억장치 Y번지 주소의 내용을 읽어, 레지스터 A에 적재된 값과 더하고 결과를 A에 다시 적재하라
  3. STOR Z, A : 그 값을 기억장치 Z번지 주소에 저장하라 (store)

어셈블러

어셈블리 프로그램을 기계어로 번역하는 SW

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

ex) LOAD == 001, ADD == 010, STOR == 011..

기계어 형식

오퍼랜드는 데이터의 주소일 수도, 데이터일 수도, 데이터의 주소의 주소일 수도 있음.

연산코드(연산자, OP code)

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

지정될 수 있는 연산의 최대 수 == 2^(비트 수), 그림은 2^3

오퍼랜드(피연산자)

: 연산에 사용될 데이터 || 데이터가 저장되어 있는 기억 장치 주소

주소 지정할 수 있는 기억 장소의 최대 수 : 2^(비트 수), 그림은 2^5 == 32개

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

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

단어(Word) 단위로 저장

단어 : 각 기억 장소에 저장되는 정보의 기본 단위로서, CPU에 의해 한 번에 처리될 수 있는 비트들의 그룹 ex) 64비트 컴퓨터는 단어가 64, 32비트 컴퓨터는 단어가 32

주소지정단위

: 주소가 지정된 각 기억장소 당 저장되는 데이터 길이로, 단어 단위 혹은 바이트 단위

단어와 주소지정단위는 다를 수도 있음.

단어 : 32bit, 주소지정단위 : 16bit

1001번지 명령어는 16bit

1002번지 명령어는 16bit

그럼 PC(프로그램 카운터)는 하나의 명령어를 가져올 때, PC ← PC + 2가 됨.