본문 바로가기
Code/길벗 학습단 17기 - 컴퓨터 구조와 운영체

길벗 학습단 17기 - 컴퓨터 구조와 운영체제 - 1주차 학습인증

by Beyonder 2025. 9. 22.

 

 

코딩 자율학습 컴퓨터 구조와 운영체제 - 예스24

한 권으로 끝내는 컴퓨터 구조와 운영체제,개념 이해부터 면접까지 완벽 대비!컴퓨터 구조와 운영체제를 누구나 쉽게 이해할 수 있도록 체계적으로 구성했다. 복잡한 기술 개념도 명확하고 간

www.yes24.com

 

1주차
1일
2일
3일
4일
5일
목차
1장 컴퓨터 구조와 운영체제 개요
1.1 공부를 시작하기 전에
1.2 컴퓨터의 주요 구성 요소
2장 데이터와 명령어
2.1 데이터란
2.2 데이터를 표현하는 방법
2장 데이터와 명령어
2.3 데이터 연산
2.4 명령어
3장 CPU
3.1 CPU의 역할
3.2 CPU의 구조
3장 CPU
3.3 CPU의 명령어 처리
3.4 CPU의 병렬 처리 기법

 

Part 1 컴퓨터 구조와 운영체제 기초

1장 컴퓨터 구조와 운영체제 개요

1.1 공부를 시작하기 전에

1.1.1 컴퓨터 구조와 운여체제를 배우는 이유

1. 컴퓨터가 어떻게 작동하는지 이해할 수 있음

2. 더 쁘르고 요율적인 프로그램을 만들 수 있음.

3. 문제 해결 능력이 향상됨

4. 하드웨어와 소프트웨어를 직접 설계할 수 있음.

5. 시스템 성능을 분석하고 개선할 수 있음.

 

1.1.2 하드웨어와 소프트웨어

하드웨어

  • 중앙 처리 장치(CPU)
  • 메모리(RAM)
  • 보조 기억 장치(HDD, SSD)
  • 입출력장치(키보드, 마우스, 모니터 등)

소프트웨어

  • 시스템 소프트워에
  • 응용 소프트웨어

1.2 컴퓨터의 주요 구성 요소

1.2.1 폰 노이만 구조
1.2.2 현대 컴퓨터 구조
  • CPU
  • 메모리
  • 보조 기억 장치
  • 입출력 장치
  • 버스
 

2장 데이터와 명령어

2.1 데이터란

2.1.1 데이터의 단위

2.1.2 데이터의 종류

  • 수치 데이터
    • 정수
    • 실수
  • 비수치 데이터
    • 문자 및 기호
    • 멀티미디어

2.2 데이터를 표현하는 방법

2.2.1. 이진수와 십육진수

2.2.2 정수를 표현하는 방법

1. 부호와 절댓값

2. 1의 보수

3. 2의 보수

2.2.3 실수를 표현하는 방법

  • 정수부분
  • 소수 부분
  • 고정 소수점: 소수점 위치가 고정
  • 부동 소수점: 소수점의 위치가 수의 크기에 따라 움직이는 방식

2.2.4 문자를 표현하는 방법

  • ASCII
  • 유니코드

2.2.5 BCD 코드

BCD: Binary Coded Decimal

2.3 데이터 연산

데이터 연산의 기본 과정

1. 입력

2. 처리

3. 저장

4. 출력

2.3.1 데이터 연산의 종류

  • 산술연산
  • 논리연산
  • 비트 연산

2.3.2 정수 연산 방법

1. 덧셈

2. 뺄셈

2.4 명령어

2.4.1 기계어와 에셈블리어

2.4.2 컴파일 방식과 인터프리터 방식

  • 컴파일 방식: 컴파일러
  • 인터프리터 방식: 인터프리터

2.4.3 명령어 구조

  • 명령어의 종류
    1. 산술 연산
    2. 논리 연산
    3. 비트 연산
    4. 데이터 전송
    5. 프로그램 제어
    6. 입출력
  • 주소 지정 방식
    1. 즉시 주소 지정
    2. 레지스터 주소 지정
    3. 직접 주소 지정
    4. 레지스터 간접 주소 지정

 Part 2 컴퓨터 구조

3장 CPU

3.1 CPU의 역할

  1. 명령어 실행
  2. 연산 처리
  3. 제어 신호 처리
  4. 데이터 이동 및 저장
  5. 프로세스 관리 및 멀티태스킹

3.2 CPU의 구조

3.2.1 산술 논리 장치

  • ALU의 구성 요소
    1. 연산 선택기
    2. 산술 연산 회로
    3. 논리 연산 회로
    4. 비교 회로
    5. 시프트 회로
    6. 상태 플래그
  • ALU 연산 수행에 필요한 요소
    1. 입력 레지스터
    2. 출력 레지스터
    3. 상태 레지스터
  • ALU의 연산 수행 과정
    1. 입력 수신
    2. 연산 선택
    3. 연산 수행
    4. 결과 저장
    5. 상태 플래그 설정

3.2.2 제어 장치

제어 장치의 구성 요소

  1. 명령어 레지스터
  2. 명령어 해독기
  3. 제어 신호 생성기
  4. 명령어 사이클 제어기
  5. 프로그램 카운터

3.2.3 레지스터

레지스터의 역할과 구조: CPU가 작업을 처리하는 동안 명령의 주소, 명령어 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장하는 데 사용

 

주요 회로

  • 입력 회로
  • 출력 회로
  • 제어 회로

 

  • 레지스터의 종류
    1. 일반 목적 레지스터
    2. 특수 목적 레지스터

3.2.4 캐시 메모리

메모리의 계층

  1. L1 캐시: CPU 코어 내부에 위치해 가장 빠ㄹ나, 용량이 작아 소량의 데이터만 저장 (수십 KB 정도)
  2. L2 캐시: L1 캐시보다 속도는 느리지만 용량이 더 큼 (수백 KB~ 몇 MB 정도)  일부 CPU에서는 코어마다 따로 존재하기도 함.
  3. L3 캐시: L1, L2 캐시보다 상대적으로 속도가 느리지만, CPU의 모든 코어가 공유할 수 있었음.  용량이 가장 크며 (몇 MB~십여 MB), CPU 외부에 위치하는 경우가 많음.  최신 CPU는 코어 내부에 포함되기도 함.

3.3 CPU의 명령어 처리

3.3.1 클럭 속도와 명령어 처리

  • 클럭 속도
  • CPU 처리 속도

3.3.2 명령어 사이클

CPU 명령어 실행 5단계

  1. 명령어 인출
  2. 명령어 해석
  3. 오퍼랜드 인출
  4. 명령어 실행
  5. 결과 저장

3.3.3 명령어 처리 방식

ISA(Instruction Set Architecture)의 구성 요소

  • 명령어 집합(instruction set)
  • 주소 지정 방식(address mode)
  • 데이터 입력
  • 레지스터 구조
  • 명령어 형식
  • 메모리 모델
  • 입출력 구조

ISA 설계의 2가지 방식

  • CISC
    1. 복잡한 명령어
    2. 가변 길이 명령어
  • RISC
    1. 단순 명령어
    2. 고정 길이 명령어
  • CISC와 RISC 방식 비교
  • CISC와 RISC의 명령어 사이클 비교

3.3.4 인터럽트

CPU가 현재 작업을 중단하고, 더 중요한 작업을 우선 처리하도록 하는 시스템 메커니즘.

  • 인터럽트의 종류
    • 소프트웨어 인터럽트
    • 하드웨어 인터럽트
  • 인터럽트 처리 과정
    1. 인터럽트 발생
    2. 인터럽트 요청 확인
    3. 컨텍스트 저장
    4. 인터럽트 우선순위 확인
    5. 인터럽트 서비스 루틴 실행
    6. 인터럽트 처리 완료
    7. 컨텍스트 복원 및 작업 재개

3.4 CPU의 병렬 처리 기법

3.4.1 파이프라이닝

CPU가 명령어를 처리하는 과정을 여러 단계로 나누고, 각 단계를 병렬로 수행하는 방식

 

CPU 명령 실행의 3단계

  1. 명령어 인출
  2. 명령어 해석
  3. 오퍼랜드 인출
  4. 실행
  5. 저장

3.4.2 수퍼스칼라

CPU가 한 번에 여러 명령어를 병렬로 처리할 수 있도록 설계된 구조

 

3.4.3 슈퍼 파이프라이닝

기존 파이프라이닝의 각 단계를 더 세분해 동시에 실행할 수 있는 명령어 수를 증가시키는 방법

 

3.4.4 VLIW

VLIW(Very Long Instruction Word)는 명령어 레벨 병령성을 극대화하는 병렬 처리 방식.  의존성이 없는 하나의 긴 명령어를 워드에 포함해 동시 실행.