컴퓨터구조 & 운영체제

혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 1 정리

rltjq09 2024. 3. 10. 19:10
728x90

1.1 컴퓨터 구조를 알아야 하는 이유

컴퓨터 구조를 이해하면 얻을 수 있는 이점

 

1. 문제 해결

컴퓨터 구조를 모르는 사람이라면 코드에 오류가 없음에도 불구하고 코드가 작동하지 않을 때 아무것도 할 수 없다

하지만 컴퓨터 구조를 알고 있다면 컴퓨터를 직접 분석해 어떤 부분에서 문제가 발생하는 지를 알 수 있다

 

2. 성능, 용량, 비용

어떤 프로그램을 생성하였다면, 이를 실제로 활용하고 배포하기 위해서는 서버가 필요하다

이때 나의 프로그램의 용량이나 성능을 정확히 알고 있어야 적절한 서버를 선택할 수 있고, 비용적인 측면에서 더 많은 이득을 취할 수 있다

 

1.2 컴퓨터 구조의 큰 그림

컴퓨터 구조에서 알아야 하는 지식에는 크게 2가지가 존재한다

1. 컴퓨터가 이해하는 정보

2. 컴퓨터의 네 가지 핵심 부품

 

1. 컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보로만 많은 것을 표현하는데, 이때 정보의 종류는 크게 2가지가 존재한다

 

1. 데이터

데이터란, 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 의미

2. 명령어

명령어란, 데이터를 움직이고 컴퓨터를 작동시키는 정보를 의미

 

ex) '1과 2를 더하라' -> 1, 2 : 데이터 / 더하라 : 명령어

 

2. 컴퓨터의 네 가지 핵심 부품

1. CPU(Central Processing Unit), 중앙처리장치

CPU는 컴퓨터의 두뇌를 담당한다

메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행한다

 

CPU는 총 세 가지 구성 요소가 존재한다

1. ALU(Arithmetic Logic Unit), 산술논리연산장치 : 컴퓨터 내부에서 수행되는 대부분의 계산을 담당

2. 레지스터 : CPU 내부의 작은 임시 저장 장치

3. 제어장치 : 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치

 

CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리 읽기라는 제어 신호를 전달한다

CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리 쓰기라는 제어 신호를 전달한다

 

CPU가 명령어를 실행하는 과정

1. 제어장치가 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호 전달

2. 메모리로부터 전달받은 명령어를 레지스터에 저장

3. 명령어를 해석하여 필요한 데이터를 선별해 다시 메모리에 '메모리 읽기' 제어 신호 전달

4. 메모리가 적절한 데이터를 전달하고 이를 레지스터에 저장

5. ALU를 통해 연산을 처리한 뒤 결과값을 레지스터에 저장

6. 다음 명령어를 위해 '메모리 읽기' 제어 신호 전달

7. 명령어를 받아 레지스터에 저장

8. 계산 결과를 저장하기 위해 메모리에 '메모리 쓰기' 제어 신호 전달 + 결과도 함께 전달

9. 메모리에 계산 결과를 저장

 

2. 메모리

메모리란, 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품

프로그램 실행을 위해서는 반드시 메모리에 저장되어 있어야 한다

 

메모리에서 적절한 정보를 빠르게 가져오기 위해 주소라는 개념을 활용

 

3. 보조기억장치

보조기억장치란, 전원이 꺼져도 저장된 내용을 잃지 않는 저장장치를 의미

ex) 하드 디스크, SSD, USB 등등

 

4. 입출력장치

컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미

 

5. 메인보드와 시스템 버스

메인보드란, 컴퓨터의 핵심 부품들을 연결해주는 역할을 수행한다

메인보드를 통해 여러 장치들은 정보를 교환할 수 있는데, 이때 버스라는 통로를 통해 소통한다

이때 버스는 여러 종류가 존재하는 데 그 중 가장 중요한 것은 시스템 버스이다

 

시스템 버스에는 총 3 가지의 버스가 존재한다

1. 주소 버스 : 주소를 주고받는 통로

2. 데이터 버스 : 명령어와 데이터를 주고받는 통로

3. 제어 버스 : 제어 신호를 주고받는 통로

728x90