소프트웨어 기술(스타트업 위주)
컴퓨터구조
컴퓨터구조 정리 입니다.
CPU 및 컴퓨터 연산 개요
1. CPU 정의
- 정의
CPU(Central Processing Unit, 중앙처리장치)는 컴퓨터의 핵심 연산 장치로, 명령을 해석하고 실행하는 역할을 합니다.
특징
연산 및 논리 처리 수행
프로그램 명령어 해석 및 실행
제어 장치(Control Unit)와 연산 장치(ALU, Arithmetic Logic Unit)로 구성
주기억장치(RAM)와 상호 작용하며 데이터 처리
클록 속도(GHz)와 코어 수에 따라 성능 차이 발생
구체적인 예시
Intel Core i9-13900K: 고성능 데스크탑 CPU, 멀티스레딩 지원
AMD Ryzen 7 7800X3D: 게임 및 작업 성능 최적화
ARM Cortex-A78: 모바일 기기 및 임베디드 시스템에서 사용
2. CPU의 프로그램 실행 과정
- 프로세스 개요
CPU는 프로그램을 실행하기 위해 다음과 같은 단계를 거칩니다.
- Fetch (명령어 가져오기): RAM에서 명령어를 가져옴
- Decode (명령어 해석): 명령어를 해석하여 수행할 연산 결정
- Execute (명령 실행): 연산 및 데이터 처리 수행
- Writeback (결과 저장): 연산 결과를 레지스터 또는 메모리에 저장
구체적인 예시
사용자가 웹 브라우저를 실행하면, 브라우저 실행 파일(.exe)이 RAM으로 로드되고, CPU가 해당 명령을 순차적으로 실행하여 화면에 브라우저를 표시함.
3. 레지스터와 RAM
레지스터 (Register)
정의
레지스터는 CPU 내부에서 초고속으로 데이터를 저장하고 처리하는 작은 저장 장치입니다.
특징
CPU 내부에 위치하여 접근 속도가 가장 빠름
크기가 매우 작으며, 일반적으로 32비트 또는 64비트 크기
용도에 따라 여러 종류가 있음
- 일반 목적 레지스터 (GPR): 데이터 저장 및 연산 수행
- 명령어 레지스터 (IR): 현재 실행 중인 명령어 저장
- 프로그램 카운터 (PC): 다음 실행할 명령어의 주소 저장
- 스택 포인터 (SP): 스택 메모리의 최상단 주소 저장
RAM (Random Access Memory)
정의
RAM은 프로그램과 데이터를 일시적으로 저장하는 고속 메모리입니다.
특징
휘발성(Volatile) 메모리로, 전원이 꺼지면 데이터 손실
CPU가 직접 접근하여 데이터를 읽고 씀
DDR4, DDR5 등의 다양한 종류 존재
구체적인 예시
레지스터 사용
RAM 사용: 웹 브라우저가 실행될 때, 해당 프로그램의 데이터를 RAM에 저장하고 실행함
4. 명령어와 프로그램
명령어 (Instruction)
정의
CPU가 실행할 수 있는 기본 연산 단위로, 특정 동작을 수행하는 기계어 코드입니다.
특징
기본적인 연산, 논리, 제어 명령 포함
어셈블리어를 통해 사람이 이해할 수 있는 코드로 변환 가능
프로그램 (Program)
정의
명령어들의 집합으로, 특정 작업을 수행하는 소프트웨어입니다.
5. CPU 캐시
- 정의
CPU 내부에 위치한 초고속 메모리로, 자주 사용하는 데이터를 저장하여 처리 속도를 향상시킵니다.
특징
CPU와 RAM 사이에 위치하여 데이터 접근 속도 개선
L1, L2, L3 캐시로 구분 (L1이 가장 빠름, L3가 가장 큼)
캐시 미스(Cache Miss : 필요한 데이터가 캐시 메모리에 없는 경우 ) 발생 시 RAM에서 데이터를 다시 로드해야 함
구체적인 예시
L1 캐시: CPU 코어 내부의 가장 빠른 캐시, 일반적으로 64KB
L2 캐시: 코어당 512KB~2MB, 속도와 용량의 균형
L3 캐시: CPU 전체가 공유하는 캐시, 8MB~64MB 수준
6. 컴퓨터의 계산 방식
- 정의
컴퓨터는 이진법(Binary)과 논리 연산을 기반으로 연산을 수행합니다.
특징
모든 데이터는 0과 1로 변환되어 처리됨
산술 연산(ALU)과 논리 연산(AND, OR, XOR 등)을 조합하여 계산 수행
부동소수점 연산(FPU)이 복잡한 실수 계산을 담당
구체적인 예시
정수 덧셈:
5 (0101) + 3 (0011) = 8 (1000)
비트 연산:
int a = 5; // 0101 int b = 3; // 0011 int c = a & b; // 0001 (AND 연산)
결론
CPU는 컴퓨터의 핵심 연산 장치로, 프로그램을 실행하고 데이터를 처리하는 중요한 역할을 합니다. 레지스터와 RAM을 이용해 빠르게 데이터에 접근하며, 캐시 메모리를 통해 성능을 최적화합니다. 또한, 모든 연산은 이진법과 논리 연산을 기반으로 수행됩니다.