A ship in harbor is safe, but that is not what ships are built for.

STUDY/컴퓨터구조&운영체제

Week01(컴퓨터의 핵심부품)

플리피나리 2023. 3. 22. 01:25
반응형

컴퓨터 구조 = 컴퓨터가 이해하는 정보(데이터&명령어) + 컴퓨터의 4가지 핵심부품(CPU, 메모리, 보조기억장치, 입출력장치)

 

데이터(Data)

- 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 등 정적인 정보

 

명령어(Instruction)

- 데이터를 움직이고, 컴퓨터를 작동시키는 정보

 

핵심부품 구조도

1. 메모리(main memory)

- 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 장소 -> 프로그램 실행을 위해 반드시 이 곳에 저장!!

- 빠른 작동을 위해 메모리 속 정보를 효율적으로 접근 -> 주소(address) 이용

- RAM(Random Access Memory)과 ROM(Read Only Memory)이 존재 -> 주기억 장치는 RAM이라 생각해도 무방

 

 

2. CPU(Central Processing Unit)

- 메모리에 저장된 명령어를 읽고, 해석하고, 실행하는 부품

- ALU + 레지스터 + 제어장치

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

- 레지스터 : CPU 내부의 임시 저장 장치, 프로그램 실행 시 필요한 값들을 임시 저장 -> 여러 개 존재

- 제어장치 : 메모리 읽기, 메모리 쓰기 등 제어 신호를 내보내고, 명령어를 해석하는 장치

- 예시

메모리의 1번지에 위치한 명령어를 실행하는 과정

(1) 제어장치가 1번지에 저장된 명령어를 읽기 위해 '메모리 읽기' 제어 신호를 전송

(2) 메모리가 저장된 명령어를 cpu에 전달하고, 이것이 레지스터에 저장(더하라, 3번지와 4번지를)

(3) 제어장치가 해당 명령어를 해석해 3번지와 4번지 저장 데이터가 필요할 것으로 판단

(4) 제어장치가 3번지와 4번지에 저장된 데이터를 읽기 위해 '메모리 읽기' 제어 신호를 전송

(5) 메모리가 저장된 데이터들을 cpu에 전달하고, 이것을 차례대로 레지스터에 저장

(6) ALU가 읽어 들인 데이터로 연산 수행

(7) 계산의 결과값 레지스터에 저장 -> 첫번째 명령어 종료

(8) 제어장치가 2번지에 저장된 명령어를 읽기 위해 '메모리 읽기' 제어 신호를 전송

(9) 메모리가 저장된 명령어를 cpu에 전달하고, 이것을 레지스터에 저장(저장하라, 연산 결과를)

(10) 제어장치가 해당 명령어를 해석해 계산 결과를 저장한다고 판단

(11) 제어장치가 계산 결과를 저장하기 위해 '메모리 쓰기' 제어 신호와 결과값을 전송

(12) 결과값 저장 -> 두번째 명령어 종료

 

 

3. 보조기억장치

- 메모리보다 저장 용량이 크고, 전원이 꺼져도 저장된 내용을 잃지 않는 메모리

- 하드디스크, SSD, USB, DVD, CD-ROM

 

 

4. 입출력장치

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

- 마이크, 스피커, 프린터, 마우스, 키보드

 

 

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

- 메인보드(=마더보드) : cpu, 메모리, 시스템버스가 연결된 판 -> 여러 컴퓨터 부품을 연결

- 버스 : 컴퓨터 내부에 존재하는 다양한 통로 -> 연결된 부품끼리 정보 교환 가능

- 시스템 버스 : 컴퓨터의 4가지 핵심부품(cpu, 메모리, 보조기억장치, 입출력장치)을 연결하는 버스 -> 주소 버스, 데이터 버스, 제어 버스로 구성

    - 주소 버스 : 주소를 주고 받는 통로

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

    - 제어 버스 : 제어 신호를 주고 받는 통로 -> 제어장치는 이 버스를 통해 제어 신호를 전송

- 명령어 읽기 과정 예시(1번지에 있는 명령어를 읽고자 할 때)

    (1) 제어 장치가 제어 버스로 '메모리 읽기' 제어 신호 전송

    (2) 주소 버스로 읽고자 하는 주소 전송 -> 1번지 주소라는 것을...

    (3) 메모리가 데이터 버스로 cpu가 요청한 주소에 있는 내용 전송 -> 1번지 주소에 위치한 명령어를 읽어서(이때는 또 데이터 버스를 통해서) 레지스터에 저장

- 데이터 저장 과정 예시(계산 결과값 220을 5번지에 저장하고자 할 때)

    (1) 데이터 버스로 메모리에 저장할 값 전송 -> 220

    (2) 주소 버스로 저장할 위치의 주소 전송 -> 5번지에

    (3) 제어 버스로 '메모리 쓰기' 제어 신호 전송 -> 메모리 5번지에 220값 저장

 

 

 

 

출처

혼자 공부하는 컴퓨터구조+운영체제(강민철 지음)

 

반응형