nageune
🖥
공부

[혼공컴운] 1주차_Chapter 01 ~ 03

2025. 1. 7.

📄 커리큘럼

curriculum

📌 시작하기 전에

전역 및 복학을 앞둔 상황에 조금이나마 준비에 동기부여가 되었으면 하는 마음에 혼공학습단을 지원했다. 한 번 학습한 내용이지만 무작정 진도만 나갔더니 정리되지 않은 느낌이 강해서 혼공학습단은 좋은 선택지였다. 끝까지 성공적으로 마무리했으면 좋겠다.

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), 선입선출 자료 구조라고 부른다.

© Powered by danmin