🖥
[혼공컴운] 1주차_Chapter 01 ~ 03
2025. 1. 7.
📄 커리큘럼
📌 시작하기 전에
전역 및 복학을 앞둔 상황에 조금이나마 준비에 동기부여가 되었으면 하는 마음에 혼공학습단을 지원했다. 한 번 학습한 내용이지만 무작정 진도만 나갔더니 정리되지 않은 느낌이 강해서 혼공학습단은 좋은 선택지였다. 끝까지 성공적으로 마무리했으면 좋겠다.
Chapter 01. 컴퓨터 구조 시작하기
01-1. 컴퓨터 구조를 알아야 하는 이유
- 컴퓨터 구조를 이해하면
문제 해결
능력이 향상된다. - 컴퓨터 구조를 이해하면 문법만으로는 알기 어려운
성능/용량/비용
을 고려하며 개발할 수 있다.
01-2. 컴퓨터 구조의 큰 그림
- 컴퓨터가 이해하는 정보에는
데이터
와명령어
가 있다. - 컴퓨터의 4가지 핵심 부품은
CPU
,메모리
,보조기억장치
,입출력장치
가 있다. 메모리
는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.CPU
는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다.보조기억장치
는 전원이 꺼져도 보관할 프로그램을 저장하는 부품이다.입출력장치
는 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품이다.시스템 버스
는 컴퓨터의 네 가지 핵심 부품들이 서로 정보를 주고받는 통로이다.
Chapter 02. 데이터
02-1. 0과 1로 숫자를 표현하는 방법
비트
는 0과 1로 표현할 수 있는 가장 작은 정보 단위이다.바이트
, 킬로바이트, 메가바이트, 기가바이트, 테라바이트는 비트보다 더 큰 정보 단위이다.- 바이트는
8비트
, 킬로바이트는1,000바이트
, 메가바이트는1,000킬로바이트
이다. 이진법
은 1을 넘어가는 시점에 자리 올림을 하여 0과 1만으로 수를 표현하는 방법이다.- 이진법에서 음수는
2의 보수
로 표현할 수 있다. - 2의 보수는
모든 0과 1을 뒤집고, 거기에 1을 더한 값
이다. - 컴퓨터 내부에서 어떤 수를 다룰 때 이 수가 양수인지 음수인지 구분하기 위한
플래그
를 사용한다. 십육진법
은 15를 넘어가는 시점에 자리 올림하여 수를 표현하는 방법이다.- 십육진법을 이루는
각 글자를 따로 이진수로 변환하여 이어붙이면
이진수가 된다. - 이진수를 이루는
숫자를 네 개씩 끊고 십육진수로 변환하여 이어붙이면
십육진수가 된다.
02-2. 0과 1로 문자를 표현하는 방법
문자 집합
은 컴퓨터가 인식할 수 있는 문자의 모음으로, 문자 집합에 속한 문자를 인코딩하여 0과 1로 표현할 수 있다.문자 인코딩
은 문자를 0과 1로 변환하는 과정이고,문자 디코딩
은 0과 1로 이루어진 문자 코드를 문자로 변환하는 과정이다.- 아스키 문자 집합에 0부터 127까ㅣ의 수가 할당되어
아스키 코드
로 인코딩된다. EUC-KR
은 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식이다.유니코드
는 여러 나라의 문자들을 광범위하게 표현할 수 있는 통일된 문자 집합이며, UTF-8, UTF-16, UTF-32는 유니코드 문자의 인코딩 방식이다.
Chapter 03. 명령어
03-1. 소스 코드와 명령어
고급 언어
는 사람이 이해하고 작성하기 쉽게 만들어진 언어이다.저급 언어
는 컴퓨터가 직접 이해하고 실행할 수 있는 언어이다.- 저급 언어는 0과 1로 이루어진 명령어로 구성된
기계어
와 기계어를 사람이 읽기 편한 형태로 번역한어셈블리어
가 있다. 컴파일 언어
는 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 언어이다.인터프리터 언어
는 인터프리터에 의해 소스 코드가 한 줄씩 저급 언어로 변환되어 실행되는 언어이다.
03-2. 명령어의 구조
명령어
는 연산 코드와 오퍼랜드로 구성된다.연산 코드
는 명령어가 수행할 연산을 의미한다.오퍼랜드
는 연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치를 의미한다.유효 주소
는 연산의 대상이 되는 데이터가 저장된 위치이다.주소 지정 방식
은 연산에 사용할 데이터 위치를 찾는 방법으로, 즉시 주소 지정 방식, 직접 주소 지정 방식, 간접 주소 지정 방식, 레지스터 주소 지정 방식, 레지스터 간접 주소 지정 방식이 있다.즉시 주소 지정 방식
은 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식이다.직접 주소 지정 방식
은 오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식이다.간접 주소 지정 방식
은 유효 주소의 주소를 오퍼랜드 필드에 명시하는 방식이다.레지스터 주소 지정 방식
은 직접 주소 지정 방식과 비슷하게 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방법이다.레지스터 간접 주소 지정 방식
은 연산에 사용할 데이터를 메모리에 저장하고, 그 유효 주소를 저장한 레지스터를 오퍼랜드 필드에 명시하는 방법이다.
기본 숙제
p. 51 확인 문제 3번
다음 설명의 빈칸에 들어갈 알맞은 내용을 써 보세요.
프로그램이 실행되려면 반드시메모리(주기억장치)
에 저장되어 있어야 합니다.
P. 65 확인 문제 3번
1101(2)의 음수를 2의 보수 표현법으로 구해 보세요. 1101(2) 모든 0과 1 뒤집기 > 0010(2) 1 더하기 > 0011(2)
추가 숙제
P. 100 스택과 큐의 개념을 정리하기
스택(Stack)
한쪽 끝이 막혀 있는 통(프링글스 통)
과 같은 저장 공간- 나중에 저장한 데이터를 가장 먼저 빼내는 데이터 관리 방식이다.
LIFO(Last In First Out), 후입선출 자료 구조
라고 부른다.
큐(Queue)
양쪽이 뚫려 있는 통(터널)
과 같은 저장 공간- 가장 먼저 저장된 데이터 빼내는 데이터 관리 방식이다.
FIFO(First In First Out), 선입선출 자료 구조
라고 부른다.