Repository navigation
2주차
컴퓨터 하드웨어는 여러 부품이 서로 협력하여 데이터를 처리함.
핵심 구성
- 입력장치: 데이터를 컴퓨터에 입력
- CPU: 입력된 명령을 해석하고 계산 및 장치 제어
- 메모리: 실행 중인 프로그램과 데이터를 임시 저장
- 저장장치: 프로그램과 데이터를 장기간 저장
- 출력장치: 처리된 결과를 사용자에게 전달
정보 처리 흐름
입력 -> 처리 -> 기억 -> 출력
사례: 문서 작성
키보드 입력 -> CPU·RAM에서 처리 -> SSD에 저장 -> 모니터로 출력
주의: 하나의 부품이 혼자 처리하는 것이 아니라 여러 하드웨어가 서로 협력하여 작업함.
CPU(Central Processing Unit): 프로그램의 명령어를 해석하고 계산하며 컴퓨터의 여러 장치를 제어하는 중앙처리장치
CPU의 주요 역할
- 명령 해석
- 계산
- 장치 제어
CPU 내부 구성
- 제어장치: 명령을 해석하고 다른 장치에 필요한 작업을 지시
- 산술논리연산장치(ALU): 산술 연산과 논리 연산 수행
- 레지스터: CPU 내부에서 데이터와 명령을 빠르게 임시 저장
사례: 결제 금액 계산
가격 × 수량 -> 할인 조건 비교 -> 결과 계산
주의: CPU가 스스로 작업의 의미를 이해하는 것이 아니라 프로그램의 명령을 실행함.
명령어 처리 주기
인출 -> 해독 -> 실행 -> 저장 -> 반복
- 인출(Fetch): 메모리에서 실행할 명령어를 가져옴.
- 해독(Decode): 가져온 명령어의 의미를 해석
- 실행(Execute): ALU 등을 이용하여 명령 수행
- 저장(Store): 수행 결과를 레지스터나 메모리 등에 저장
CPU 내부 협력
제어장치 <-> ALU <-> 레지스터
- 제어장치 -> ALU: 작업 지시
- ALU <-> 레지스터: 계산에 필요한 데이터 및 결과 전달
- 레지스터 -> 제어장치: 필요한 값 임시 저장 및 전달
사례: 12 × 5
입력 -> 레지스터 -> ALU 계산 -> 결과 60 -> 화면 출력
현대 CPU 기술
- 파이프라이닝: 여러 명령어의 처리 단계를 겹쳐서 수행
- 분기 예측: 프로그램의 다음 실행 경로를 미리 예측
- CPU·GPU·NPU 협력: 작업의 특성에 따라 여러 처리장치가 협력
주의: CPU 성능은 GHz 하나만으로 결정되지 않으며 구조, 코어, 캐시, 메모리, 프로그램 등이 함께 영향을 줌.
프로그램은 많은 작은 명령어로 구성되며 CPU는 각각의 명령어를 순서에 따라 반복하여 처리함.
명령 주기
- 인출: 명령 가져오기
- 해독: 명령의 뜻 확인
- 실행: 계산 또는 데이터 이동
- 저장: 처리 결과 남기기
인출 -> 해독 -> 실행 -> 저장 -> 반복
사례: 음악 재생
파일 확인 -> 읽기 -> 압축 해제 -> 소리 전달
주의: 프로그램 전체를 한꺼번에 처리하는 것이 아니라 작은 명령을 빠르게 반복하여 처리함.
명령어의 구조
- 연산 코드(Opcode): 어떤 연산을 수행할지 지정
- 피연산자(Operand): 연산의 대상이 되는 데이터나 위치
예시: ADD R3, R1, R2
인출의 내부 흐름
PC -> MAR -> 메모리 -> MDR -> IR
- PC(Program Counter): 다음에 실행할 명령어의 주소
- MAR(Memory Address Register): 접근할 메모리 주소
- MDR(Memory Data Register): 메모리에서 읽거나 쓸 데이터
- IR(Instruction Register): 현재 실행할 명령어
세 가지 버스
- 주소 버스: 접근할 목적지의 주소 전달
- 데이터 버스: 실제 데이터 전달
- 제어 버스: 읽기·쓰기 등의 제어 신호 전달
파이프라이닝
여러 명령어의 인출, 해독, 실행, 저장 단계를 겹쳐 처리하여 처리량을 증가시킴.
파이프라인 위험
- 데이터 위험
- 제어 위험
- 구조적 위험
위험이 발생하면 충돌을 처리해야 하므로 처리량이 감소할 수 있음.
실행 사례
LOAD R1,[100] -> LOAD R2,[104] -> ADD R3,R1,R2 -> STORE [108],R3
12와 5를 메모리에서 불러옴 -> 더하여 17 생성 -> 결과를 메모리에 저장
핵심: 명령어 실행은 작은 데이터 이동과 제어가 정확한 순서로 반복되는 과정임.
CPU의 성능은 하나의 수치가 아니라 여러 요소의 영향을 받음.
CPU 성능 요소
- 클럭
- 코어
- 스레드
- 캐시
- 설계 구조
- 발열
클럭
- CPU가 작업을 진행하는 기본적인 동작 속도와 관련된 수치
- 주로 GHz 단위 사용
주의: GHz가 2배라고 실제 모든 작업이 항상 2배 빨라지는 것은 아님.
코어
- CPU 내부에서 명령어를 처리할 수 있는 핵심 처리 단위
- 여러 코어를 이용하면 여러 작업을 병렬로 처리하는 데 유리함.
스레드
- CPU가 처리하는 작업의 실행 흐름
- 멀티스레딩을 지원하는 CPU는 하나의 코어에서 여러 실행 흐름을 처리할 수 있음.
캐시
- CPU가 자주 사용하는 데이터를 빠르게 가져올 수 있도록 가까이에 저장하는 고속 메모리
작업별 차이
- 문서 작성: 반응성과 단일 작업 성능 중요
- 영상 편집: 여러 작업을 동시에 처리하는 다중 코어 성능 중요
발열과 성능
온도 상승 -> 스로틀링 -> 성능 제한
- 스로틀링: 과도한 발열을 방지하기 위해 CPU의 동작 속도를 낮추는 것
따라서 CPU를 비교할 때는 GHz만 비교하지 않고 세대, 구조, 코어, 작업 종류 등을 함께 확인해야 함.
메인보드: CPU, 메모리, 저장장치, 그래픽 장치 등 컴퓨터의 여러 부품을 연결하는 중심 기판
주요 구성
- CPU 소켓
- 메모리 슬롯
- 저장장치 연결부
- 확장 슬롯
- 입출력 포트
버스의 세 통로
- 데이터 버스: 실제 데이터 전달
- 주소 버스: 데이터를 읽거나 쓸 위치 전달
- 제어 버스: 읽기, 쓰기 등의 제어 신호 전달
사례: 키보드 입력
키보드 -> USB 포트 -> 메인보드 -> CPU -> 그래픽 장치 -> 모니터
부품 호환성 확인
- CPU 소켓
- 메모리 세대
- 부품 크기
- 전원
- 펌웨어
주의: 컴퓨터 부품은 성능만 보고 구매하는 것이 아니라 메인보드 및 다른 부품과의 호환성을 확인해야 함.
메모리(RAM): 실행 중인 프로그램과 데이터를 저장하는 CPU의 작업 공간
저장장치가 존재하더라도 CPU가 모든 데이터를 저장장치에서 직접 처리하면 속도가 느리기 때문에 빠른 메모리가 필요함.
속도 차이
SSD -> RAM -> 캐시 -> CPU
느림 -----------------> 빠름
책상 비유
- 서랍 = 저장장치
- 책상 위 = RAM
- 손의 메모 = 레지스터
현재 사용하는 자료를 책상 위에 올려놓는 것처럼 실행 중인 프로그램과 데이터를 RAM에 올려 빠르게 사용함.
주의: RAM의 용량을 늘린다고 모든 작업의 속도가 항상 빨라지는 것은 아니며 CPU, 저장장치 등의 병목도 함께 확인해야 함.
사례: 브라우저 탭
여러 브라우저 탭을 동시에 실행하면 각각의 프로그램과 데이터가 메모리를 사용하므로 RAM 사용량이 증가함.
RAM
- 빠른 읽기·쓰기 가능
- 실행 중인 작업을 임시 보관
- 전원이 꺼지면 내용이 사라지는 휘발성 메모리
ROM·플래시
- 컴퓨터 동작에 필요한 기본 정보나 펌웨어 저장
- 전원이 꺼져도 내용 유지
- 정해진 절차를 통해 업데이트 가능
컴퓨터 시작 과정
전원 -> 펌웨어 점검 -> 운영체제 시작
주의: ROM은 절대로 변경할 수 있는 메모리라는 의미가 아님. 현대의 펌웨어는 플래시 메모리를 이용하는 경우가 많아 정해진 방법으로 업데이트 가능함.
정보의 구분
- 전원이 꺼져도 남아야 하는 정보: 펌웨어, 저장 파일 등
- 사라져도 되는 정보: 실행 중 RAM에 임시 저장된 작업 데이터 등
캐시 메모리: CPU가 자주 사용할 것으로 예상되는 데이터와 명령어를 CPU 가까이에 보관하는 빠른 메모리
역할
자주 사용하는 데이터 가까이 보관 -> CPU의 메모리 접근 시간 감소 -> 처리 성능 향상
캐시 단계
- L1: 가장 작고 빠름
- L2: 중간
- L3: 더 크며 여러 코어가 공유하는 경우가 많음
지역성
- 시간 지역성: 방금 사용한 데이터를 가까운 시간 안에 다시 사용할 가능성이 높음.
- 공간 지역성: 사용한 데이터와 가까운 위치의 데이터를 연속해서 사용할 가능성이 높음.
캐시 적중과 실패
- 캐시 적중(Cache Hit): 필요한 데이터가 캐시에 존재 -> 즉시 사용
- 캐시 실패(Cache Miss): 필요한 데이터가 캐시에 없음 -> RAM 등 하위 메모리에서 가져옴.
반복 계산이나 반복적인 데이터 접근에서 캐시의 효과가 커질 수 있음.
기억장치는 속도, 용량, 가격의 차이 때문에 여러 단계로 구성됨.
계층 구조
레지스터 -> 캐시 -> RAM -> SSD -> HDD
위로 갈수록
- 속도 빠름
- 용량 작음
- 가격 높음
아래로 갈수록
- 속도 느림
- 용량 큼
- 가격 낮음
도서관 비유
- 도서관 = 저장장치
- 책상 = RAM
- 펼친 책 = 캐시
- 손의 메모 = 레지스터
모든 기억장치를 가장 빠른 장치로 만들면 비용과 용량 측면에서 비효율적이기 때문에 서로 다른 특성의 기억장치를 계층적으로 사용함.
컴퓨터가 느려졌다고 해서 항상 RAM 부족이 원인은 아니므로 여러 자원의 사용 상태를 함께 확인해야 함.
함께 확인할 지표
- CPU 사용률
- 메모리 사용률
- 디스크 사용률
메모리 압박 흐름
RAM 부족 -> 가상 메모리 사용 -> 디스크 활동 증가 -> 전환 지연 -> 성능 저하
관찰 사례
- 화상회의
- 여러 브라우저 탭
- 문서 편집
여러 프로그램을 동시에 실행하면 메모리 사용량이 증가할 수 있음.
주의: 메모리 사용률이 높다는 사실만으로 고장이라고 판단할 수 없음. 사용 시간과 실제 체감 증상 등을 함께 확인해야 함.
성능 문제 확인 절차
증상 확인 -> 지표 관찰 -> 앱 종료 전후 비교 -> 원인 판단
저장장치: 프로그램과 데이터를 전원이 꺼진 이후에도 유지하기 위한 장치
비휘발성 저장
- 운영체제
- 프로그램
- 문서
- 사진
전원 OFF -> 내용 유지
파일 시스템
파일과 저장 공간을 체계적으로 관리함.
- 파일 이름
- 위치
- 크기
- 시간
- 블록 관리
- 폴더
- 권한
파일 저장과 열기
응용 프로그램 <-> 파일 시스템 <-> 저장장치
응용 프로그램이 저장장치에 직접 접근하는 것이 아니라 파일 시스템을 통해 파일을 관리하고 접근함.
주의: 저장장치의 용량이 크다고 해서 데이터가 안전한 것은 아니므로 별도의 백업이 필요함.
과제 파일 저장 과정의 예
응용 프로그램에서 저장 요청 -> 파일 시스템에서 파일 및 위치 관리 -> 저장장치에 데이터 기록
HDD(Hard Disk Drive)
- 자기 디스크 사용
- 기계적인 이동이 존재
- 대용량·저렴
- 충격과 소음에 주의
SSD(Solid State Drive)
- 플래시 메모리 사용
- 움직이는 기계 부품 없음
- 빠르고 조용함
- HDD보다 용량당 가격이 높은 편
작업별 배치
- 운영체제·자주 사용하는 앱 -> SSD
- 영상 원본·장기 보관 -> HDD + 백업
주의: 모든 SSD의 속도가 같은 것은 아니며 SATA, NVMe, 제품 구조 등에 따라 성능 차이가 발생함.
용도별 예시
- 노트북: 빠른 실행 속도와 이동성이 중요하므로 SSD가 유리
- 영상 서버: 대용량 저장이 중요하므로 SSD와 HDD를 목적에 따라 조합 가능
입력장치: 현실 세계의 정보나 사용자의 명령을 컴퓨터가 처리할 수 있는 디지털 데이터로 변환하는 장치
키보드
키 위치 -> 코드
예: A 키 -> 01000001 등의 문자 코드로 처리
마우스
움직임·클릭 -> 좌표·신호
예: 마우스 이동 -> 화면상의 좌표 변화
마이크
소리의 진동 -> 디지털 값
카메라
빛 -> 화소 값
센서
- 온도 -> 디지털 데이터
- 가속도 -> 디지털 데이터
- 거리 -> 디지털 데이터
사례: 스마트폰 얼굴 인식
카메라 입력 -> 얼굴 특징 분석 -> 특징값 생성 -> 저장된 정보와 비교 -> 일치 판단
주의: 입력 데이터의 품질은 해상도, 표본화 방식, 센서 오차 등의 영향을 받음.
출력장치: 컴퓨터가 처리한 디지털 데이터를 사람이 인식할 수 있는 형태로 변환하여 제공하는 장치
모니터
디지털 데이터(0과 1) -> RGB 픽셀 -> 화면
주요 특성:
- 밝기·색
- 해상도
- 주사율
스피커
디지털 음향 신호 -> 디지털 파형 -> 스피커 진동 -> 공기 진동 -> 소리
프린터
디지털 데이터 -> 종이에 출력
햅틱
디지털 상태 및 신호 -> 진동·힘으로 사용자에게 전달
동영상 재생 흐름
파일 해독 -> 영상 프레임 + 음향 신호 -> 모니터 + 스피커
출력장치를 선택할 때는 게임, 인쇄, 접근성 등 사용 목적에 따라 필요한 출력 특성이 달라짐.
비싼 컴퓨터가 모든 사용자에게 가장 적합한 것은 아니며 사용 목적에 맞게 부품의 우선순위를 결정해야 함.
선택 순서
목적 -> 프로그램 요구 -> 예산 -> 균형 -> 확장성
용도별 우선순위
- 강의·문서: SSD, 배터리
- 프로그래밍: RAM, CPU 코어
- 영상·3D: CPU, GPU, 대용량 저장장치
이동성
노트북 등의 이동용 컴퓨터는 성능뿐만 아니라 다음 요소도 고려해야 함.
- 무게
- 배터리
- 충전
- 내구성
균형 점검
CPU, RAM, 저장장치, GPU의 성능이 특정 부품에 지나치게 치우치지 않도록 구성해야 함.
주의: 한 부품만 지나치게 높은 성능으로 구성하면 다른 부품이 병목이 될 수 있으며 호환성과 발열 문제
확인 문제
- 스마트폰 사진 촬영을 네 단계로 나누면? 입력 -> 처리 -> 저장 -> 출력
- 12 x 5 계산에서 세 부분의 역할은? 제어 장치(CU): 연산을 지시 산술논리연산장치(ALU): 계산 레지스터: 12, 5, 최종 결과등 임시 저장
- 두 수의 덧셈을 네 단계로 설명하기 인출: 메모리에서 덧셈 명령어와 두 수를 가져외기 해독: CPU의 제어장치가 덧셈 명령어를 해석 실행: 산술/논리 연산장치가 두 수를 더함 저장: 계산 결과를 레지스터나 메모리에 저장
- 강의 시청 용과 4K 편집 용의 우선 요소는? 강의 시청 - 클락 속도, 기본적인 CPU 성능 4K 영상 편집 - 코어 수, 스레드, 캐시, CPU 성능
- 세 부품 구매 전에 무엇을 확인할까? CPU, 메인보드, RAM 등의 호환성, 전원, 전력, 지원 조건
- 브라우저 탭이 많으면 왜 느려질까? 각 탭이 RAM과 CPU 자원을 사용하여 RAM이 부족해지며 SSD를 사용하고 결국 느려지게 된다.
- 남아야 할 정보와 사라져도 될 정보는? 계속 보관해야 하는 정보 - ROM 작업 중 임시로 필요한 정보 - RAM
- 반복 계산이 캐시의 도움을 받는 이유는? 자주 사용하는 데이터와 명령어를 CPU 가까이에 있는 빠른 캐시 메모리에 보관하기 때문이다.
- 속도, 용량, 가격으로 순서를 설명해보세요. 속도: HDD < SSD < RAM < 캐시 < 레지스터 용량: 레지스터 < 캐시 < RAM < SSD < HDD 가격: HDD < SSD < RAM < 캐시 < 레지스터
- 과제 파일 저장 과정을 세 역할로 나누어 보세요. 파일-> 파일 시스템-> 저장장치
- 노트북과 영상 서버의 저장장치 조합은? 노트북 - SSD 영상 서버 - HDD
- 온라인 수업의 입력장치 세 가지는? 키보드, 마이크, 웹캠
필기 내용을 chat gpt로 다듬어 요약 정리함