
코딩 자율학습 컴퓨터 구조와 운영체제 - 예스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 컴퓨터의 주요 구성 요소
- 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 명령어 구조
- 명령어의 종류
- 산술 연산
- 논리 연산
- 비트 연산
- 데이터 전송
- 프로그램 제어
- 입출력
- 주소 지정 방식
- 즉시 주소 지정
- 레지스터 주소 지정
- 직접 주소 지정
- 레지스터 간접 주소 지정
Part 2 컴퓨터 구조
3장 CPU
3.1 CPU의 역할
- 명령어 실행
- 연산 처리
- 제어 신호 처리
- 데이터 이동 및 저장
- 프로세스 관리 및 멀티태스킹
3.2 CPU의 구조
3.2.1 산술 논리 장치
- ALU의 구성 요소
- 연산 선택기
- 산술 연산 회로
- 논리 연산 회로
- 비교 회로
- 시프트 회로
- 상태 플래그
- ALU 연산 수행에 필요한 요소
- 입력 레지스터
- 출력 레지스터
- 상태 레지스터
- ALU의 연산 수행 과정
- 입력 수신
- 연산 선택
- 연산 수행
- 결과 저장
- 상태 플래그 설정
3.2.2 제어 장치
제어 장치의 구성 요소
- 명령어 레지스터
- 명령어 해독기
- 제어 신호 생성기
- 명령어 사이클 제어기
- 프로그램 카운터
3.2.3 레지스터
레지스터의 역할과 구조: CPU가 작업을 처리하는 동안 명령의 주소, 명령어 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장하는 데 사용
주요 회로
- 입력 회로
- 출력 회로
- 제어 회로
- 레지스터의 종류
- 일반 목적 레지스터
- 특수 목적 레지스터
3.2.4 캐시 메모리
메모리의 계층
- L1 캐시: CPU 코어 내부에 위치해 가장 빠ㄹ나, 용량이 작아 소량의 데이터만 저장 (수십 KB 정도)
- L2 캐시: L1 캐시보다 속도는 느리지만 용량이 더 큼 (수백 KB~ 몇 MB 정도) 일부 CPU에서는 코어마다 따로 존재하기도 함.
- L3 캐시: L1, L2 캐시보다 상대적으로 속도가 느리지만, CPU의 모든 코어가 공유할 수 있었음. 용량이 가장 크며 (몇 MB~십여 MB), CPU 외부에 위치하는 경우가 많음. 최신 CPU는 코어 내부에 포함되기도 함.
3.3 CPU의 명령어 처리
3.3.1 클럭 속도와 명령어 처리
- 클럭 속도
- CPU 처리 속도
3.3.2 명령어 사이클
CPU 명령어 실행 5단계
- 명령어 인출
- 명령어 해석
- 오퍼랜드 인출
- 명령어 실행
- 결과 저장
3.3.3 명령어 처리 방식
ISA(Instruction Set Architecture)의 구성 요소
- 명령어 집합(instruction set)
- 주소 지정 방식(address mode)
- 데이터 입력
- 레지스터 구조
- 명령어 형식
- 메모리 모델
- 입출력 구조
ISA 설계의 2가지 방식
- CISC
- 복잡한 명령어
- 가변 길이 명령어
- RISC
- 단순 명령어
- 고정 길이 명령어
- CISC와 RISC 방식 비교
- CISC와 RISC의 명령어 사이클 비교
3.3.4 인터럽트
CPU가 현재 작업을 중단하고, 더 중요한 작업을 우선 처리하도록 하는 시스템 메커니즘.
- 인터럽트의 종류
- 소프트웨어 인터럽트
- 하드웨어 인터럽트
- 인터럽트 처리 과정
- 인터럽트 발생
- 인터럽트 요청 확인
- 컨텍스트 저장
- 인터럽트 우선순위 확인
- 인터럽트 서비스 루틴 실행
- 인터럽트 처리 완료
- 컨텍스트 복원 및 작업 재개
3.4 CPU의 병렬 처리 기법
3.4.1 파이프라이닝
CPU가 명령어를 처리하는 과정을 여러 단계로 나누고, 각 단계를 병렬로 수행하는 방식
CPU 명령 실행의 3단계
- 명령어 인출
- 명령어 해석
- 오퍼랜드 인출
- 실행
- 저장
3.4.2 수퍼스칼라
CPU가 한 번에 여러 명령어를 병렬로 처리할 수 있도록 설계된 구조
3.4.3 슈퍼 파이프라이닝
기존 파이프라이닝의 각 단계를 더 세분해 동시에 실행할 수 있는 명령어 수를 증가시키는 방법
3.4.4 VLIW
VLIW(Very Long Instruction Word)는 명령어 레벨 병령성을 극대화하는 병렬 처리 방식. 의존성이 없는 하나의 긴 명령어를 워드에 포함해 동시 실행.