본문 바로가기
CS/컴퓨터구조

컴퓨터 구조 | 컴퓨터 구조, 데이터, 명령어

by 개발송이 2025. 7. 28.

1. 컴퓨터 구조

 

컴퓨터가 이해하는 정보

- 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 같은 정적인 정보

- 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보

 

컴퓨터의 4가지 핵심 부품

- 중앙처리장치(CPU), 주기억장치(메모리 RAM), 보조기억장치, 입출력장치

 

메모리

- 현재 실행되는 프로그램의 명령어와 데이터 저장

- 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 함

- 메모리에 저장된 값의 위치는 주소로알 수 있음

 

CPU

- 컴퓨터의 두뇌

- 메모리에 저장된 명령어를 읽어들여 명령어를 해석하고 실행하는 부품

- CPU가 메모리에 저장된 값을 읽고 싶을 떄 메모리 읽기라는 제어 신호 보냄

- 저장하고 싶을때 메모리 쓰기라는 제어 신호 보냄

- 산술논리연산장치(ALU), 레지스터, 제어장치

ALU : 계산기, 컴퓨터 내부에서 수행되는 계산 도맡아 수행

레지스터 : CPU 내부의 작은 임시 저장 장치

제어장치 : 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치

 

 

보조기억장치

- 전원이 꺼져도 저장된 내용을 잃지 않는 보조 저장 장치

- 하드디스크, SSD, USB, DVD, CD-ROM

 

입출력장치

- 마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치

 

메인보드와 시스템 버스

- 메인보드는 여러 컴퓨터 부품을 연결함

- 시스템 버스는 컴퓨터의 네 가지 핵심 부품이 서로 정보를 주고받는 통로

- 시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성

 

 

2. 데이터

 

정보단위

- 비트 : 0과 1을 나타내는 가장 작은 정보 단위

- 바이트 : 8비트

               byte > kB>MB>GB>TB

- 이진법은 1을 넘어가는 시점에 자리를 올림 하여 0과 1만으로 수를 표현하는 방법

- 이진법에서 음수는 2의 보수로 표현할 수 있음

- 십육진법은 15를 넘어가는 시점에 자리 올림하여 수를 표

 

문자 집합과 인코딩

- 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음

- 문자 인코딩 : 문자를 0과 1로 변환

- 문자 디코딩 : 0과 1로 이루어진 문자 코들르 사람이 이해할 수 있는 문자로 변환

 

아스키 코드

- 아스키 문자는 0~127까지 총 128개의 숫자 중 하나의 고유한 수로 일대일되는데 그 숫자가 아스키 코드

 

EUC-KR

- 아스키 코드로는 한글을 인코딩 할 수 없어 나온 한글 인코딩 방식

- 초성, 중성, 종성이 모두 결합된 한글 단어에 2바이트 크기의 코드를 부여

 

유니코드

- EUC-KR보다 훨씬 다양한 한그을 포함하여 대부분 나라의 문자, 특수문자, 화살표나 이모티콘까지 코드로 표현 가능한 통일된 문자 집합

- 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 이 값을 다양한 방법으로 인코딩함(대표적으로UTF-8)

- UTF : Unicode Transformation Format 유니코드를 인코딩하는 방법

 

 

3. 명령어

 

고급언어와 저급언어

- 고급언어 : 사람이 이애하기 위한 언어

- 저급언어 : 컴퓨터가 직접 이해하고 실행할 수 있는 언어

                  기계어, 어셈블리어거 있음

- 기계어 : 0과 1의 명령어 비트로 이루어진 언어

- 어셈블리어 : 0과 1로 표현된 기계어를 읽기 편한 형태로 번역한 언어

 

컴파일 언어

- 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 (대표적 C언어)

- 컴파일 언어로 작성된 소스 코드는 컴파일러에 의해 저급 언어로 변환됨(컴파일)

- 컴파일 결과로 저급 언어인 목적 코드 생성

 

인터프리터 언어

- 인터프리터에 의해 소스 코드가 한 줄씩 실행되는 고급 언어 (대표적 Python)

 

명령어는 연산코드, 오퍼랜드로 구성됨

오퍼랜드

- 연산에 사용할 데이터, 연산에 사용할 데이터가 저장된 위치

연산코드

- 명령어가 수행할 연산

- 데이터 전송/ 산술,논리 연산 / 제어 흐름 변경 / 입출력 제어

 

주소 지정 방식

- 오퍼랜드 필드에 데이터가 지정된 위치를 명시할 때 연산에 사용할 데이터 위치를 찾는 방식

- 유효 주소(연산에 사용할 데이터가 저장된 위치)를 찾는 방식

1) 즉시 주소 지정 방식 : 연산에 사용할 데이터

2) 직접 주소 지정 방식 : 유효 주소(메모리 주소)

3) 간접 주소 지정 방식 : 유효 주소의 주소

4) 레지스터 주소 지정 방식 : 유효 주소(레지스터 이름)

5) 레지스터 간접 주소 지정 방식 : 유효 주소를 저장한 레지스터