[ 혼공컴운 ] 1주차 공부: 컴퓨터 구조 편
본문 바로가기

혼공 스터디/혼자 공부하는 컴퓨터 구조 + 운영체제

[ 혼공컴운 ] 1주차 공부: 컴퓨터 구조 편

728x90
반응형

[ Chapter 1 ]  컴퓨터 구조 시작하기

1. 컴퓨터 구조를 알아야 하는 이유

🍀 컴퓨터 구조를 알면 문제 해결 능력이 향상된다.

🍀 성능/용량/비용을 고려하며 개발할 수 있다.

 

 

01-1 확인문제 풀이 인증

 

 

2. 컴퓨터 구조의 큰 그림

🍀 컴퓨터 구조

     ☘️ 컴퓨터가 이해하는 정보

          ◾️0과 1로만 표현되어 있음

          ◾️데이터

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

          ◾️명령어

               : 컴퓨터를 작동 시키는 정보

     ☘️ 컴퓨터의 4가지 핵심 부품

          ◾️중앙 처리 장치 (CPU: Central Processing Unit)

               : 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행함

 

          ◾️주기억장치(메모리: Main Memory)

               : RAM(Random Access Memory)과 ROM(Read Only Memory)이 있다.

               : 보통 별말없으면 RAM이 곧 주기억 장치

               : 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품

 

          ◾️보조기억장치 (secondary storage)

               : 전원이 꺼져도 보관할 프로그램을 저장

 

          ◾️입출력장치 (Input/Output device)

               : 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환

 

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

 

 

핵심내용

🟣 메모리 🟣

  • 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 함
  • 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장
  • 메모리에 저장된 값의 위치는 주소로 알 수 있음

 

🟣 CPU 🟣

  • 산술논리연산장치(ALU)
    • 계산기
  • 레지스터(register)
    • 임시 저장 장치
    • CPU에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가진다.
  • 제어장치(control unit)
    • 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치
      • 메모리 읽기
      • 메모리 쓰기
  • 메모리에 저장된 값을 읽고 해석하고 실행

 

🟣 시스템 버스 🟣

  • 주소 버스
  • 데이터 버스
  • 제어 버스
  • 제어 버스로 "메모리 읽기", "메모리 쓰기" 제어 신호를 보내고, 
    주소 버스로 읽고자 하는 주소 및 저장할 주소를 내보낸다. 저장할 주소
    데이터 버스로 CPU가 요청한 주소에 있는 내용과 메모리에 저장할 값을 보낸다. 

 

 

 

 

01-2 확인문제 풀이 인증

 

 

[ Chapter 2 ]  데이터

1. 0과 1로 숫자를 표현하는 방법

1) 정보단위

  • 비트(bit): 가장 작은 정보 단위
  • 바이트(byte): 8bit
  • 킬로바이트(kB): 1000byte
  • 메가바이트(MB): 1000kB
  • 기가바이트(GB): 1000MB
  • 테라바이트(TB): 1000GB
  • word: CPU가 한 번에 처리할 수 있는 데이터 크기
  • 하프워드
  • 풀워드
  • 더블워드

2) 이진수의 음수표현

  • 2의 보수 + 플래그(flag)
  • 2의 보수 = 1의 보수 + 1

 

02-1 확인문제 풀이 인증

 

2. 0과 1로 문자를 표현하는 방법

 

핵심내용

🟣 문자 집합 🟣

  • 컴퓨터가 인식할 수 있는 문자의 모음, 인코딩하여 0,1로 표현할 수 있음

 

🟣 아스키 코드 🟣

  • 아스키 문자 집합에 0부터 127까지의 수가 할당되어 아스키 코드로 인코딩된다.

 

🟣 EUC-KR 🟣

  • 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식

 

🟣 유니코드 🟣

  • 여러 나라 문자들을 광범위하게 표현할 수 있는 통일된 문자 집합
    • UTF-8, UTF-16, UTF-32

 

02-2 확인문제 풀이 인증

 

[ Chapter 3 ] 명령어

1. 소스 코드와 명령어

1) 고급 언어와 저급 언어

     고급 언어

         사람이 사용하는 언어

 

     저급 언어

        컴퓨터가 이해하고 실행하는 언어

        기계어 + 어셈블리어

  • 기계어: 0과 1로만 이루어진 언어
  • 어셈블리어: 기계어를 번역한 형태
  • 어셈블리어를 많이 쓰는 직종
    : 임베디드 개발자, 게임 개발자, 정보 보안 분야 등의 개발자

 

 

2) 컴파일 언어와 인터프리터 언어

컴파일 언어: 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어

    - 소스코드가 컴파일러에 의해 컴파일되면 목적코드가 됨

    - 오류 발생 시 전체가 실행되지 않음

 

인터프리터 언어: 인터프리터에 의해 소스 코드가 한 줄씩 실행되는 고급 언어

    - 오류 발생 시 오류 직전 코드까지 실행됨

 

3) 목적 파일 vs 실행 파일

목적 파일: 목적 코드로 이루어진 파일

실행 파일: 실행 코드로 이루어진 파일

 

목적 코드가 실행 파일이 되기 위해서는 링킹이 선행되어야 함.

소스코드를 컴파일하여 목적코드가 되고 그 목적 코드와 외부 기능을 연결 짓는 링킹 작업 후에

비로소 실행 파일이 완성이 됨

 

03-1 확인문제 풀이 인증

 

2. 명령어의 구조

1) 연산 코드와 오퍼랜드

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

연산코드(연산자): 명령어가 수행할 연산

오퍼랜드(피연산자): 연산에 사용할 데이터 / 연산에 사용할 데이터가 저장된 위치

연산 코드 필드: 연산코드가 담기는 영역

오퍼랜드 필드: 오퍼랜드가 담기는 영역, 메모리나 레지스터의 주소를 담기도 함

2) 주소 지정 방식

명령어의 크기는 정해져 있기 때문에 쓸 수 있는 정보의 양이 한정되어 있다.

그런데 만약 오퍼랜드 필드 안에 메모리 주소가 담기하면 표현가능한 데이터의 크기가

하나의 메모리 주소에 저장할 수 있는 공간만큼 커지게 됨

그래서 오퍼랜드 필드에 주소를 담는다.

유효 주소: 연산 코드에 사용할 데이터가 저장된 위치, 연산의 대상이 되는 데이터가 저장된 위치

 

주소 지정 방식

: 오퍼랜드 필드에 주소가 담겼을 때 연산에 사용할 데이터의 위치를 찾는 방법

  • 즉시 주소 지정 방식
    • 가장 간단한 형태
    • 연산에 필요한 데이터를 오퍼랜드 필드에 직접 명시
    • 연산에 사용할 데이터의 크기가 작아짐
    • 가장 빠름
  • 직접 주소 지정 방식
    • 유효 주소를 직접적으로 명시
    • 유효 주소에 제한이 생김
  • 간접 주소 지정 방식
    • 유효 주소의 주소를 오퍼랜드 필드에 명시
    • 표현 가능한 유효 주소의 범위 확장
    • 두 번의 메모리 접근 필요하기 때문에 좀 느림
  • 레지스터 주소 지정 방식
    • 연산에 사용할 데이터를 저장한 레지스터 주소를 오퍼랜드에 담음
    • CPU 내부에 있는 레지스터에 접근하는 것이 외부의 메모리에 접근하는 것보다 빠름
    • 표현할 수 있는 레지스터 크기에 제한 생김
  • 레지스터 간접 주소 지정 방식
    • 연산에 사용할 데이터를 메모리에 저장하고
    • 그 주소를 저장한 레지스터를 오퍼랜드 필드에 명시
    • 레지스터 간접 주소 지정 방식이 간접 주소 지정 방식 보다 빠름

 

3) 스택과 큐

스택: 한쪽 끝이 막혀 있는 총과 같은 저장 공간

한쪽 끝이 막혀 있어서 막혀있지 않은 쪽으로 데이터를저장하고,

저장한 자료를 빼낼 때는 역순으로 데이터를 빼냄

후입선출 LIFO(Last In First Out)

PUSH: 새로운 데이터 저장

POP: 저장된 데이터 꺼냄

 

큐: 양쪽이 뚫려있는 통

한쪽으로는 데이터를 저장하고 한쪽으로는 순서대로 빼냄

선입선출 FIFO(First In First Out)

 

 

03-2 확인문제 풀이 인증

728x90
반응형