컴퓨터 구조

mmmhmm·2024년 1월 26일
0

컴퓨터 구조의 큰 그림

컴퓨터 구조의 지식은 크게 두 가지 하나는 컴퓨터가 이해하는 정보이고 또 하나는 컴퓨터의 네 가지 핵심 부품이다

컴퓨터가 이해하는 정보

  • 컴퓨터는 0과 1로 표현된 정보만을 이해한다. 0과 1로 표현되는 정보에는 크게 두 종류가 있다. 데이터명령어이다.
  • 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 / 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라고도 한다.
  • 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보
예를 들면 '1'과'2'는 데이터이고 '더하라, 1과2를'은 명령어이다. '안녕하세요'는 데이터이고, '화면에 출력하라, 안녕하세요를'은 명령어이다.

컴퓨터의 4가지 핵심 부품

컴퓨터의 종류는 여러가지가 있지만 핵심 부품은 크게 다르지 않다. 이 네 가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 알 수 있다.

  • 중앙처리장치 Central Processing Unit (CPU)
  • 주기억장치 Main Momory (메모리)
  • 보조기억장치 secondary storage
  • 입출력장치 input/output(I/O) device
🔎 주기억장치에는 크게 RAM(Random Acccess Memory)ROM(Read Only Memory) 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭한다.

내가그림

ㅁ 메모리 : 
- 컴퓨터가 이해하는 정보는 명령어와 데이터이다. 
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품. 
- 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.
- 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념이 사용된다. 컴퓨터에서 주소로 메모리 내 원하는 위치에 접근이 가능

ㅁ CPU 
- 컴퓨터의 두뇌
- 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품
- 내부 구성요소에는 그린것과 같이 산술논리연산장치(ALU), 레지스터, 제어장치가 있다
ㅁ ALU ( Arithmetic Logic Unit )
- 계산만을 위해 존재하는 부품 = 계산기
- 컴퓨터 내부에서 수행되는 대부분의 계산은 ALU가 수행
ㅁ 레지스터
- CPU 내부의 작은 임시 저장 장치.
- 프로그램을 실행하는 데 필요한 값들을 임시로 저장, CPU 안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다.
ㅁ 제어장치
- 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치 ( 제어신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호 )

흐름 살펴보기

  • CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보낸다.
  • CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어 신호를 보낸다.
  1. 제어장치는 1번지라는 메모리에 저장된 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어 신호를 보냄

  1. [1]메모리는 1번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장, [2]제어장치는 읽어 들인 명령어를 해석한 뒤 3번지와 4번지에 저장된 데이터가 필요하다고 판단. [3]제어장치는 3번지와 4번지에 저장된 데이터를 읽어 들이기 위해 메모리에 '메모리 읽기'제어 신호를 보냄

  1. [1]메모리는 3번지와 4번지에 저장된 데이터를 CPU에 건네주고, 이 데이터들은 서로 다른 레지스터에 저장. [2]ALU는 읽어 들인 데이터로 연산을 수행. [3]계산의 결괏값은 레지스터에 저장. 계산이 끝나면 첫 번째 명령어의 실행이 끝

  1. [1]제어장치는 2번지에 저장된 다음 명령어를 읽어 들이기 위해 메모리에 '메모리 읽기' 제어신호를 보냄. [2]메모리는 2번지에 저장된 명령어를 CPU에 건네주고, 이 명령어는 레지스터에 저장됨. [3]제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야한다고 판단


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

  • CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치
  • CPU 내부에는 ALU, 레지스터, 제어장치가 있다
  • ALU는 계산하는 장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치
메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다고 했지만, 이 메모리는 두 가지 치명적인 약점이 있다.

1. 가격이 비싸 저장 용량이 적다.`
2. 전원이 꺼지면 저장된 내용을 잃는다.

보조기억장치

  • 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조하는 저장장치

입출력장치

  • 마이크, 스피커, 프린터, 마우스, 키보드 처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
보조기억장치도 하드 디스크, USB 메모리, CO-ROM 처럼 '컴퓨터 외부에 연결되어 컴퓨터 내부와 교환할수 있는 장치'로 볼 수 있지 않을까?

보는 관점에따라 맞는말이다. 하지만 메모리를 보조한다는 특별한 기능이 있어 둘로 나뉘었다.

메인보드와 시스템 버스

  • 지금까지 네 가지 핵심 부품들은 모두 메인보드에 연결된다.
  • 메인보드에 연결된 부품들은 서로 정보를 주고 받을 수 있다. 메인보드 내부에 버스(Bus)라는 통로가 있기 때문
  • 여러 버스 가운데 핵심 부품을 연결하는 가장 중요한 버스를 시스템 버스 (System Bus) 라고 한다.
  • 시스템 버스는 주소버스, 데이터 버스, 제어 버스로 구성되어 있다.
  • 주소버스 : 주소를 주고받는 통로
  • 데이터버스 : 명령어와 데이터를 주고받는 통로
  • 제어 버스 : 제어 신호를 주고받는 통로

시스템 버스를 자세히 이해하기 위한 작동 예시

CPU가 메모리 속 명령어를 읽어 들이기 위해 제어장치에서 '메모리 읽기'라는 신호를 내보낸다고 했다. 하지만 CPU가 메모리를 읽을 땐 제어 신호만 내보내지 않는다. 실제로 [1]제어버스로 '메모리 읽기'제어 신호를 내보내고 [2] 주소 버스로 읽고자 하는 주소를 내보낸다. [3]메모리는 데이터 버스로 CPU가 요청한 주소에 있는 내용을 보낸다.

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









출처 - 혼자 공부하는 컴퓨터 구조+운영체제(저자 : 강민철)

profile
어라? 금지

0개의 댓글