2023. 4. 23. 20:56ㆍ개인노트-인강
프론트엔드 웹 개발의 모든 것 초격차 패키지 Online.
프론트엔드 개발자가 알아야하는 CS 지식
컴퓨터구조
# 컴퓨터의 구성요소

## 일반적인 하드웨어 구성요소

## 중앙 처리 장치(CPU)
- 연산과 제어를 담당한다.
- 일반적인 CPU는 기본적으로 3가지 모듈로 구성되며, 서로 내부 버스로 연결되어 있다.
1. 산술/논리 장치(Arithmetic Logic Unit, ALU)
2. 제어장치(Control Unit) - CPU와 메모리 사이에서의 제어를 도와줍니다.
3. 레지스터(Register) - CPU가 처리하기 위한 데이터 및 명령어에 대한 정보가 임시적으로 저장되는 공간.
## 레지스터 (Register)
- 기본적으로 프로세스는 메인 메모리에 적재된다.
- 실제 연산은 CPU 내부에서 수행되므로, 데이터를 CPU로 가져와 처리해야 한다.
1. 데이터를 일시적으로 CPU 내부에 저장할 공간이 레지스터(register)다.
2. 레지스터는 CPU의 현재 상태(state)를 저장할 공간으로 사용되기도 한다.
## 산술/논리 연산 장치(ALU)
- CPU가 실질적으로 연산을 처리할 수 있도록 한다.
- 산술 연산(+, -, *, / 등) 및 논리 연산(AND, OR, XOR 등)을 수행할 수 있다.
- 컴퓨터 내에서 매우 빠른 연산 장치다.
## 제어 장치(Control Unit)
- 메인 메모리에 적재된 처리해야 할 데이터를 해석하고, 적절한 제어 신호를 생성한다.
- ALU에게 연산 수행을 명령할 수 있다.
- 메인 메모리에 대한 읽기(read) / 쓰기(write) 등의 제어 명령을 내린다.
## 프로그램 수행 절차
- 보조 기억 장치(하드 디스크)에 있는 프로그램이 메인 메모리로 적재된다.
- 메인 메모리로 올라간 프로그램의 코드(code) 영역의 명령어를 읽어 명령을 수행한다.
- 일반적으로 아래의 명령어 수행 사이클(cycle)을 반복하게 된다.
1. 명령어 인출(fetch) : 메인 메모리에서 수행할 명령어를 레지스터로 가져온다.
2. 명령어 해석(decode) : 명령어 정보를 해석한다.
3. 명령어 실행(execute) : 제어 장치가 명령어 수행을 위한 적절한 제어 신호를 보내 실행하도록 한다.
'개인노트-인강' 카테고리의 다른 글
개인 노트 정리) 프론트엔드 개발자가 알아야하는 CS 지식 - 코드 리팩토링, 클린 코드 (0) | 2023.04.24 |
---|---|
개인 노트 정리) 프론트엔드 개발자가 알아야하는 CS 지식 - 캐시 메모리 (0) | 2023.04.24 |
개인 노트 정리) 문제 풀이를 위한 JavaScript 핵심 문법 알아보기 (0) | 2023.04.19 |
개인 노트 정리) JavaScript로 끝내는 자료구조 / 알고리즘 (코딩 테스트) (0) | 2023.04.19 |
개인 노트 정리) Next.js - Next.js 소개 - Next.js 로 만드는 사례 둘러보기 (showcase - examples) (0) | 2023.04.14 |