2️⃣컴퓨터 구조(Computer Structure)
1. 컴퓨터 구조 기초
📌 메인보드
- 다양한 물리적인 장치를 장착할 수 잇는 인쇄회로기판 
- 컴퓨터의 CPU, 메인 메모리, 하드 디스크(보조기억장치)등을 장착 
- 다양한 컴퓨터 부품을 연결할 수 있는 인터페이스 제공 
📌 GPU (Graphics Processing Unit)
- GPU는 그래픽 관련 연산을 빠르게 처리하는 답을 도출하는 연산 장치 
- 인공지능(딥러닝), 고화질 게임, 무인 자동차 
- 컴퓨터 그래픽/영상 처리 
- 대규모 행렬 및 벡터 연산을 처리하는 데 뛰어난 성능을 발휘 
📌 보조 기억 장치
- 단점: 보조 기억 장치는 메인 메모리보다 속도가 느리다. 
- 장점: 전원이 차단되어도 내용 유지, 저장 용량 큼 
- 하드 디스크: 큰 용량의 프로그램을 장기간 저장하기 위해 효과적으로 사용 가능 
- SSD: 하드 디스크보다 빠르고 전력 소비가 적지만, 기대 사용 수명이 짧은 편. 최근 빠르면서 대용량 조건을 만족하게 되어 실질적으로 많이 쓰임 
📌 메인 메모리
- 주기억장치 
- 개인용 컴퓨터에서 RAM(Random Access Memory)이 자주 사용된다. 
- 공급되던 전원이 사라지면, 저장된 내용이 사라지는 휘발성 메모리 
- 컴퓨터의 프로그램을 실행하면, 프로그램은 메인 메모리에 적재(프로세스 형태)된다. 
- 이후에 CPU는 메인 메모리에 적재된 프로그램 명령 코드를 읽어 들여 실행/처리한다. 
📌 CPU(중앙처리장치)
- 메인 보드에 가장 먼저 연결하는 장치 중 하나 
- CPU는 컴퓨터의 구성 요소 중에서 인간의 뇌와 같은 역할 
- 연산(computation)과 제어(control)를 담당 
우리가 프로그램을 실행하면?
- CPU는 계산/제어 담당 (ALU 연산 장치 사용) 
- CPU는 메인 메모리에서 명령어를 읽어, 계산한 뒤에 메인 메모리에 저장 
- 보조기억장치에는 일반적으로 설치된 프로그램(실행 파일 및 비휘발성 데이터)이 존재 
- 설치된 웹 브라우저 실행(Chrome) 
- 메인 메모리에 프로그램 적재 
- CPU가 실질적인 연산 처리 
📌 노트북(Laptoop)
- 모니터, 키보드, 카메라, 메인 보드, CPU, 그래픽 카드(GPU) 등이 한꺼번에 탑재 
2. 컴퓨터의 구성 요소
📌 컴퓨터의 일반적인 구조
- 하드웨어: 컴퓨터가 동작하도록 해주는 내부 물리적인 장치들 
- 소프트웨어: 컴퓨터가 어떻게 동작해야 하는지 명시되어 있는 명령어 집합 
📌 컴퓨터의 기억 장치
- 기억 장치는 속도가 빠를 수록 용량이 적고, 가격이 비싸다. 
- 기억 장치는 계층적으로 구성 (보조기억장치의 용량이 가장 크다) 
- 용량 (높 → 낮), 속도 및 가격(낮→높) - 보조기억장치(HDD, SSD), 메인 메모리(DRAM), 캐시 메모리(SRAM), 레지스터 
 
📌 소프트웨어
- 사용자 ↔ 응용 프로그램 ↔ 시스템 소프트웨어 ↔ 하드웨어 
- 시스템 소프트웨어: 하드웨어 제어 및 관리 
- 응용 소프트웨어: 일반적인 사용자 작업 수행을 도움 
소프트웨어의 구분
- 시스템 소프트웨어: 하드웨어 자원에 대한 접근이 용이하며, 대게 저수준 언어로 작성 - 펌웨어, 운영체제(OS), 컴파일러, 장치 드라이버 
 
- 응용 소프트웨어: 컴퓨터 자원에 대한 직접적인 접근이 제한되며, 대게 고수준 언어로 작성.시스템 소프트웨어에 비해 접근하기 쉽고, 친화적이다. - 게임, 웹 브라우저 
 
3. 중앙처리장치(CPU) 동작 방식
3가지 모듈로 구성되며, 서로 내부 버스로 연결되어 있다.
- 산술/논리 장치(Arithmetic Logic Unit, ALU) 
- 제어장치(Control Unit) 
- 레지스터(Register) 
하드웨어 구성요소

📌 레지스터(Register)
- 프로세스는 메인 메모리에 적재된다. 
- 실제 연산은 CPU 내부에서 수행되므로, 데이터를 CPU로 가져와 처리해야 한다. 
- 데이터를 일시적으로 CPU 내부에 저장할 공간이 레지스터다. 
- 레지스터는 CPU의 현재 상태(state)를 저장할 공간으로 사용되기도 한다. 
📌 산술/논리 연산 장치(ALU)
- CPU가 실질적으로 연산을 처리할 수 있도록 한다. 
- 산술 연산(+, - ,*, /) 및 논리 연산(AND, OR, XOR)을 수행할 수 있따. 
- 컴퓨터 내에서 매우 빠른 연산 장치 
📌 제어 장치(Control Unit)
- 메인 메모리에 적재된 처리해야 할 데이터를 해석하고, 적절한 제어 신호를 생성한다. 
- ALU에게 연산 수행을 명령할 수 있다. 
- 메인 메모리에 대한 읽기(read)/쓰기(write) 등의 제어 명령을 내린다. 
📌 프로그램 수행 절차
- 보조 기억 장치(하드 디스크)에 있는 프로그램이 메인 메모리로 적재된다. 
- 메인 메모리로 올라간 프로그램의 코드(code) 영역의 명령어를 읽어 명령을 수행한다. 
- 명령어 수행 사이클을 반복한다. - 명령어 인출(fetch): 메인 메모리에서 수행할 명령어를 레지스터로 가져온다. 
- 명령어 해석(decode): 명령어 정보를 해석한다. 
- 명령어 실행(excute): 제어 장치가 명령어 수행을 위한 적절한 제어 신호를 보내 실행하도록 한다. 
 
4. 캐시 메모리
📌 캐시 메모리(Cache Memory)
- 캐시 메모리는 빠른 CPU와 상대적으로 느린 메인 메모리 사이에 위치 
- 두 장치의 속도 차이에서 오는 병목 현상을 보완/완화하기 위해 사용한다.  
- 메인 메모리에서 CPU로 적재할 데이터를 캐시 메모리에 보관한다. 
- 이후에 데이터에 접근할 때 캐시 메모리에서 먼저 데이터를 찾는다. 
- 캐시 히트: 데이터를 찾은 경우, 메인 메모리에 접근하지 않아도 되므로 시간 효율적이다. 
📌 동작 과정
- 데이터를 메인 메모리에서 캐시 메모리로 복사 
- 캐시에서 데이터를 꺼낸 뒤에 CPU가 처리 
- 데이터에 접근이 필요한 경우, CPU는 캐시 메모리를 먼저 검사하여 가져온다. 
- 캐시에 원하는 데이터가 없는 경우, 다시 메인 메모리에서 캐시 메모리로 복사한다. 
📌 웹 캐시
- 웹 브라우저의 경우 자주 방문하는 웹 사이트에 대하여 자주 쓰이는 데이터를 저장한다. 
- 웹 데이터를 캐시 처리한다고 하여, 웹 캐시라고 부른다. 
- 자주 접속하는 사이트의 파일(이미지, HTML, CSS)에 대해 특정 저장 공간에 저장한다. 
Last updated