목록CS (7)
kimgusxo 님의 블로그
1. 2진수(Binary)란?2진수는 0 / 1 두 가지 숫자만 사용하는 체계이다ex) 10진수: 5 -> 2진수: 101(₂) 1-1. 10진수를 2진수로 변환 (ex: 5)5 / 2 = 2, 나머지 12 / 2 = 1, 나머지 01 /2 = 0, 나머지 1변환할 수를 2로 계속 나누고 나머지를 거꾸로 읽는다. 즉, 나머지를 아래부터 위로 읽으면 101(2)로 변환된다. 1-2. 2진수를 10진수로 변환 (ex: 101(₂))1 * 2^2 = 40 * 2^1 = 01 * 2^0 = 1변환할 수의 각 자릿수에 2의 거듭제곱을 곱한 값을 전부 더한다. 즉, 4 + 0 + 1 = 5로 변환된다. 2. 컴퓨터는 왜 2진수를 사용할까?컴퓨터 내부 회로는 전류가 흐른다(1) / 흐르지 않는다(0) 만 구분할 수..

1. CPU는 모든 입출력을 직접 기다릴까?예전에는 CPU가 입출력 장치가 작업을 끝낼 때 까지 계속 기다리는 방식(Polling)을 사용함하지만 매우 비효율적인 방식이라서 인터럽트(Interrupt)와 DMA(Direct Memory Access)라는 개념이 나옴. 2. 인터럽트(Interrupt)란?"외부 장치가 CPU에게 작업이 끝났다고 알려주는 신호"CPU는 다른 작업을 하다가도 인터럽트 신호가 오면 중단하고 해당 장치의 작업을 처리한다. 2-1. 인터럽트 처리 흐름1. CPU는 평소대로 명령어 실행2. 외부 장치에서 인터럽트 발생3. CPU는 현재 작업 저장(컨텍스트 스위칭)4. 인터럽트 핸들러 실행5. 작업이 끝나면 원래 하던 일로 복귀-> 비동기적 입출력 처리가 가능해짐. 2-2. 인터럽트의..

1. 저장장치는 왜 중요한가?CPU와 메모리는 휘발성이다. 즉, 전원이 꺼지면 데이터가 사라진다.데이터를 영구적으로 저장할 장치가 필요하다. -> HDD, SSD, USB 등 2. HDD vs SSD 2-1. HDD 구성 요소플래터(Platter): 회전하는 자기 디스크암(Arm), 헤드(Head): 플래터 위에서 위치 이동하며 읽기/쓰기 하는 장치기계적 장치이므로 느리고 소음이 있으며 충격에 민감하다. 2-2. HDD 동작 방식1. 플래터가 회전하면2. 헤드가 해당 위치까지 이동하여3. 섹터에서 데이터를 읽기/쓰기 한다. 2-3. SSD(Solid State Drive)의 구조플래터 없음, 전자식 플래시 메모리 기반이다.CPU -> SSD 명령 -> 컨트롤러가 NAND 플래시를 읽는다. 2-4. SSD..
1. 연산은 CPU의 어떤 부품이 처리할까?CPU 내부에는 연산 전용 유닛이 존재한다.ALU(산술 논리 유닛): 정수 계산, 논리 연산 수행FPU(부동소수점 유닛): 실수 계산 수행 2. ALU의 기능덧셈, 뺄셈, 곱셈, 나눗셈 (정수 기준)논리 연산 (AND, OR, XOR, NOT)비교 연산 (>, ==, != 등)비트 연산 (시프트, 마스크)-> CPU 명령어의 대부분은 ALU가 처리 3. FPU의 역할실수(부동소수점 수)는 표현 방식과 연산 방식이 복잡하다.따라서 FPU는 IEEE 754 규격을 기반으로 실수 연산을 한다.AI, 물리 시뮬레이션, 그래픽 연산에서 자주 사용된다.-> FPU는 대부분의 현대 CPU에서 ALU와 함께 내장되어 있다. 4. 정수 vs 실수 연산의 성능 차이정수 연산은 보..

1. 메모리 계층 구조가 필요한 이유현대 CPU는 엄청나게 빠르지만 메모리는 상대적으로 느리다.CPU의 처리 속도를 메모리가 따라가지 못하면 성능 병목(Bottleneck) 발생 2. 메모리 계층 구조란?속도와 용량, 비용을 기준으로 여러 종류의 메모리를 계층적으로 배치한 것.레지스터: CPU 내부에 존재, 접근 속도 나노초 단위이다.L1~L3 캐시: CPU에 가까운 순서대로 빠르고 작다.RAM: 실행 중인 프로그램과 데이터 저장SSD/HDD: 영구 저장용, 가장 느리다. 3. 캐시의 역할CPU가 명령어나 데이터를 찾을 때 가장 가까운 곳부터 확인한다.캐시 히트: 원하는 데이터가 캐시에 있음 -> 빠르게 처리캐시 미스: 원하는 데이터가 캐시에 존재하지 않음 -> RAM에서 읽음 -> 느림캐시 미스율이 높..
1. CPU는 명령어를 어떻게 실행할까?CPU는 메모리에 있는 명령어를 한 줄씩 읽어와 해석하고 실행한다. 이 과정을 반복적으로 수행하는 것을 명령어 사이클(Instruction Cycle)이라 한다. 1-1. 명령어 사이클의 3단계Fetch메모리에서 명령어를 가져온다.Decode명령어를 해석한다. (어떤 연산인지?, 어떤 레지스터인지?)Execute실제 연산을 수행한다. (계산, 이동, 분기 등) 2. CPU 내부 구성과 흐름CPU에는 다음과 같은 컴포넌트들이 있다.Program Counter(PC): 다음에 실행할 명령어 주소를 기억함Instruction Register(IR): 현재 실행중인 명령어를 저장함Control Unit(CU): 명령어 해석 후 제어 신호를 생성한다.Arithmetic L..

1. 컴퓨터 구조를 알아야하는 이유개발자로써 우리가 만드는 코드가 실제로 어디서, 어떻게 실행되는지 알지 못한다면성능 병목 원인을 파악할 수 없다.병렬 처리, 캐시 전략, I/O 최적화 같은 중요한 이슈를 해결하기 어렵다.따라서 컴퓨터 구조는 모든 CS 지식의 기초가 되는 핵심 영역이다. 2. 컴퓨터의 기본 구성 요소구성요소역할CPU(중앙처리장치)계산과 판단의 중심, 명령어를 해석하고 실행하는 역할을 한다.메모리(RAM)실행중인 프로그램의 데이터를 저장하는 임시 공간이다.저장장치(SDD/HDD)프로그램과 데이터의 영구 저장소이다.입출력장치(I/O)사용자와 컴퓨터 간의 상호작용을 한다. (모니터, 키보드 등)버스(Bus)부품 간의 데이터 전송 통로이다. (제어 버스, 주소 버스, 데이터 버스) 3. 폰..