본문 바로가기
취준

[운영체제] Chapter 01. 컴퓨터 구조 시작하기

by 박매트 2024. 4. 17.

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

즉, 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 합니다.

 

빠르게 작동하기 위해서는 메모리 속 명령어, 데이터가 중구난방으로 저장되어 있으면 X

-> 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념이 사용됩니다.

 

명령어와 데이터는 모두 0과 1로 표현되기 때문에 겉보기에는 0과 1로 이루어진 데이터를 저장한 것처럼 보입니다.

 

 

지금 기억해야 할 것 3가지

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

2. 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다.

3. 메모리에 저장된 값의 위치를 주소로 알 수 있다.

 

CPU

CPU는 컴퓨터의 두뇌입니다. CPU는 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품입니다. 

 

CPU의 역할과 작동 원리를 구체적으로 이해하기 위해서는 CPU 내부 구성 요소를 알아야 합니다.

 

가장 중요한 세 가지로, 산술논리연산장치 (ALU), 레지스터, 제어장치 가 있습니다.

 

ALU : 쉽게 말해 계산기, 계산만을 위해 존재하는 부품

레지스터 : CPU 내부의 작은 임시 저장 장치, 프로그램을 실행하는 데 필요한 값들을 임시로 저장

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

- 제어신호 : 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호

 

* CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보낸다.

* CPU가 메모리에 어떤 값을 젖아하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어 신호를 보낸다.

 

ex. 1번지부터 2번지까지 명령어가 저장되어 있는 상태

 

1. 제어장치는 1번지에 저장된 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다.

2.

1) 메모리는 1번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장된다.

2) 제어장치는 읽어 들인 명령어를 해석한 뒤 3번지에 4번지에 저장된 데이터가 필요하다고 판단한다. 

3) 제어장치는 3번지와 4번지에 저장된 데이터를 읽어 들이기 위해 메모리 '메모리 읽기' 제어 신호를 보낸다.

 

3.

1) 메모리는 3번지와 4번지에 저장된 데이터를 CPU에 건네주고, 이 데이터들은 서로 다른 레지스터에 저장된다.

2) ALU는 읽어 들인 데이터로 연산을 수행한다.

3) 계산의 결괏값은 레지스터에 저장된다. 계산이 끝났다면 첫 번째 명령어의 실행은 끝난다.

 

4. 

1) 제어장치는 2번지에 저장된 다음 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보낸다.

2) 메모리는 2번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장된다.

3) 제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단한다.

4) 제어장치는 계산 결과를 저장하기 위해  메모리에 '메모리 쓰기' 제어 신호와 함께 계산 결과인 220을 보낸다. 메모리가 계산 결과를 저장하면 두 번째 명령어의 실행도 끝난다.

 

기억해야 할 3가지

1. CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.

2. CPU 내부에는 ALU, 레지스터, 제어장치가 있다.

3. ALU는 계산하는 장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치다.

 

보조기억장치

메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장 장치가 필요하게 되었는데, 이 저장 장치가 보조기억장치이다.

ex) 하드 디스크, SSD, USB 메모리

 

입출력장치

마이크, 스피키, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 쩡보를 교환하는 장치

 

메인보드와 시스템 버스

컴퓨터의 핵심 부품들은 메인보드라는 판에 연결된다. 메인보드는 마더보드라고도 부른다. 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결 단자가 있다.

 

시스템 버스

메인보드에 연결된 부품들은 서로 정보를 주고받을 수 있는데, 이는 메인보드 내부에 버스라는 통로가 있기 때문이다.

여러 버스 가운데 컴퓨터 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스 이다.

 

주소 버스, 데이터 버스, 제어 버스로 구성되어 있다.

 

주소 버스

주소를 주고받는 통로

 

데이터 버스

명령어와 데이터를 주고받는 통로

 

제어 버스

제어 신호를 주고받는 통로

 

 

명령어를 읽어 들이기 위해 제어장치에서 '메모리 읽기' 라는 신호를 내보낸다? -> 제어신호만 내보낸는 것이 아님.

1) 제어 버스로 '메모리 읽기' 제어 신호를 내보낸다.

2) 주소 버스로 읽고자 하는 주소를 내보낸다.

3) 메모리는 데이터 버스로 CPU가 요청한 주소에 있는 내용을 보낸다.

 

메모리에 어떤 값을 저장할 때도 CPU는 1) 데이터 버스를 통해 저장할 값을 2) 주소 버스를 통해 저장할 주소를 , 3) 제어 버스를 통해 메모리 쓰기 제어 신호를 내보낸다.

 

정리 포인트

  • 컴퓨터가 이해하는 정보에는 데이터와 명령어가 있습니다.
  • CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품입니다.
  • 보조기억장치는 전원이 꺼져도 보관할 프로그램을 저장하는 부품입니다.
  • 입출력장치는 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품입니다.
  • 시스템 버스는 컴퓨터의 네 가지 핵심 부품들이 서로 정보를 주고받는 톹로입니다.