본문 바로가기
🌱 Computer Science/OS

[하드웨어기초] CPU와 메모리

by 카프리썬_ 2020. 4. 15.
728x90
728x90

하드웨어 : 컴퓨터에 필요한게 뭐가 있을까?

1. 입출력장치(I/O장치) : 키보드/마우스로 입력하고,

2. CPU : 프로그램이 돌아갈 작업을 처리하고

3. 메모리 : 작업 중에 중요한 내용은 저장해야하니까.

출처 https://www.crocus.co.kr/1366

 

입출력장치는 다 들어본 주변장치니까 넘어가고,

버스는 그냥 이런 데이터들이 흘러가고 연결하는 통로역할로 간단하게 넘어가고, 

가장 중요한 

CPU와 메모리만 파악해보자.

CPU의 아키텍쳐는 많은데 그중에서 흔히 사용하는 인텔과 AMDCPU로 설명(x86계열)

 

1. CPU (Central Processing Unit)

컴퓨터에서 처리하는 모든 작업들은 결국 '계산기'

0 1로 계산을(연산)을 어떻게 어떤 순서로 할지(제어)를 담당하는 부분 

 

1) 레지스터 

연산에 필요한 데이터를 저장 

CPU안에 있는 고속저장 장소(일반 메모리보다 가장 빠른 속도로 접근)

 

+참고) 레지스터 종류

  1. 사용자 가시 레지스터 : 사용자가 운영체제와 애플리케이션을 통해 정보를 변경가능
    • 데이터 레지스터(DR) : 산술,논리연산에 필요한 데이터 저장
    • 주소 레지스터(AR) : 주소연산에 필요한 주소의 일부분 저장
  2. 사용자 불가시 레지스터 : 사용자가 정보 변경 불가
    • 프로그램 카운터(PC) : 다음 실행할 코드 위치를 저장
    • 명령어 레지스터(IR) : 현재 실행하는 명령어 저장
    • 누산기(AC) : 데이터를 일시적으로 저장
    • 메모리 주소 레지스터(MAR) : 유효 번지(상대적인 주소) 저장
    • 메모리 버퍼 레지스터(MBR) : 주기억장치에서 연산에 필요한 자료를 호출해서 저장

 

2) 제어장치

기계 명령어를 실행하는 순서를 제어

 

3) 연산장치

덧셈,뺄셈, OR,AND,NOT과 같은 논리연산 수행

 

+참고) 프로세서

연산을 처리하는 하나의 논리단위? 거의 CPU라고 봐도 무방

출처 https://www.crocus.co.kr/1366

 

 

2.메모리

CPU가 프로그램을 실행하거나 데이터를 참조하기 위해 필요한 정보들을 저장해두는 공간
그런데 현실적으로 모두 CPU안에 있는 레지스터에 저장하기엔 너무 비싸서

서로 다른 메모리를 적재적소에 사용하도록 함

 

+참고) 메모리 계층구조

레지스터랑 캐시는 CPU내부에 존재
위로 올라갈수록 CPU랑 가까워서 비싸고, 속도 빠르고, 비쌈

출처 https://www.crocus.co.kr/1366



1) 보조기억장치(HDD,SSD) ->하드 디스크

불필요한 프로그램이지만, 저장되어야 할 것들 저장
예를 들어 예전에는 CD,DVD, 플로피디스크 같은 장치들 지금은 하드디스크

전원이 꺼져도 데이터가 지워지지 않음(반영구적으로 데이터를 보관가능)

하지만 데이터 처리속도가 느림

2) 주기억장치(RAM: Random Access Memory) -> 메인 메모리

당장 실행되어야 할 것들(현재 실행중인 프로그램의 데이터나 처리중인 결과) 저장
하드디스크로부터 일정량의 데이터를 복사해서 저장하고, 필요할때마다 CPU에게 전달하는 역할

전원이 꺼지면 데이터가 지워짐(휘발성메모리)
하지만 데이터 처리속도가 빠름

 

+램과 하드디스크 비유

로딩중(적재) : 하드디스크에서 데이터를 읽어 램으로 전송하는 과정
로딩이 끝나야 게임을 할 수 있음 : CPU가 작업을 수행함
그래서 램의 용량이 적거나 속도가 느리면 프로그램을 로딩이 길어짐

 

+CPU/RAM/하드디스크 비교

 

3) 캐시메모리

메인 메모리와 프로세서(CPU)의 속도차이를 보완하기 위해 존재

메모리 중에서 CPU와 가장 가깝기 때문에 가장 빠름

 

+참고)캐시의 동작원리
CPU
가 필요한 데이터를 메인메모리에서 찾기 전에 캐시에서 먼저 찾음
캐시의 성능은 CPU가 찾으려는 내용이 많을수록 좋다(캐시 히트율이 높다)

+참고)지역성
데이터 접근이 시간적, 공간적으로 가깝게 일어나는 것

시간적 지역성 : 특정데이터가 한번 접근될 때, 다음번에 가까운 미래에 또 접근할 가능성이 높은 것
공간적 지역성 : 특정데이터와 가까운 주소가 순서대로 접근될떄, 다음번에 그 근처에서 접근할 가능성이 높은 것

 

 

결론 : cpu와 메모리의 관계 비유(장보기)

예를 들어, CPU가 처리하는 작업이 라면 끓이기라고 한다면..
가장 중요한 재료인 스프는 따로 보관한 종지’(레지스터)에서 가져오고,
다음으로 중요한 재료인 은 그 식탁’(캐시메모리)에서 가져오고,
덜 중요하지만 필요한 재료인 계란냉장고’(메인메모리)에서 가져오고,
중요하지 않지만 있으면 좋은 재료인 시장(하드디스크)에서 가져옴

, CPU와 가장 가까울수록 자주 사용하는 정보들을 저장함

 

출처

메모리계층구조

https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B3%84%EC%B8%B5_%EA%B5%AC%EC%A1%B0

 

메모리 계층 구조 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 메모리 계층 구조(Memory hierarchy)란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미한다[1]. 이때 필요란 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이다. 메모리 계층구조 도식도 일반적으로 오른쪽 그림1과 같이 나타낸다. 레지스터와 캐시는 CPU 내부에 존재한다. 당연히 CPU는 아주 빠르게 접근할 수 있다. 메모리는 CPU 외부에 존재한다. 레지스터와 캐

ko.wikipedia.org

CPU메모리구조

https://d4m0n.tistory.com/12

 

CPU와 Memory 구조

개요 컴퓨터는 많은 장치들로 이루어져 있다. 연산과 제어를 담당하는 CPU, 기억을 담당하는 Memory, 입력과 출력을 담당하는 키보드와 모니터 등 많은 부품들 그리고 소프트웨어들로 인해 컴퓨터가 가동된다. 이..

d4m0n.tistory.com

레지스터 종류

https://www.crocus.co.kr/1366

 

프로세서, 메모리, 캐시 개념 및 원리

아래 그림을 통해 컴퓨터 하드웨어 구성에 대해 그림으로 알아보자. 이처럼 컴퓨터 하드웨어는 크게 프로세서, 메모리(기억장치), 주변장치로 구성되며 서로 시스템 버스로 연결된다. 시스템 버스 시스템 버스는..

www.crocus.co.kr

 

 

 

728x90
반응형