메이쁘

[컴퓨터구조] CPU와 RAM, 그리고 ROM(HDD, SDD 등) 에 대한 깔끔 심플 정리!! 본문

면접 대비 CS지식/else

[컴퓨터구조] CPU와 RAM, 그리고 ROM(HDD, SDD 등) 에 대한 깔끔 심플 정리!!

메이쁘 2020. 7. 8. 00:12

안녕하세요.

 

이 카테고리는 "직무면접 중 CS 지식 대비" 이고, 

 

이 게시글은 "면접 대비 간단한 정리" 입니다.

 

 

상세한 정보 또는 딥한 원리를 알고 싶으신 분은 별도의 구글 검색 또는 나무위키를 참고해주시면 감사하겠습니다.

 

-> CPU

https://namu.wiki/w/CPU

 

CPU - 나무위키

컴퓨터에서 구성 단위 중 기억, 해석, 연산, 제어라는 4대 기능을 종합하는 장치인 Central Processing Unit(중앙 처리 장치)의 줄임말. 2019년 11월 현재 CPU 순위는 아래와 같다 (Cinebench R15/Multi score 기준)

namu.wiki

 

-> RAM

https://namu.wiki/w/RAM

 

RAM - 나무위키

메모리 용량이 충분하다면 용량 자체만으로는 성능에 큰 영향을 주지 않는다. 다만, 모든 컴퓨터 사용자들이 넉넉한 메모리 용량으로 구성된 것은 아니므로 용량에 대해 아예 무시할 수 없다. CP

namu.wiki

 

-> ROM

https://namu.wiki/w/ROM

 

ROM - 나무위키

Read-Only라는 한계를 극복하는 방향으로 기술이 발전해 왔다. 생산 후에 사용자가 내용을 한 번만 기록할 수 있는 롬이다. 그래서 OTP(One Time Programable)라고도 한다. 비트를 기록하는 각 셀마다 퓨즈

namu.wiki

 

 

그럼 정리하겠습니다!

 

 

핵심 정의


  CPU

    ->  중앙 처리 장치. 인간으로 따지면 '뇌' 라고 한다. 컴공 상에서는 '프로세서' 라고도 불리운다.

 

    ->  컴퓨터의 모든 일을 맡아서 처리하며, 주로 RAM 메모리에서 일을 가져와 연산한다.

 

    ->  제어장치(제어하는 역할), 연산장치(위에 말한 컴퓨터 연산), 레지스터(임시 기억 장소), Bus 로 구성되어 있다.

 

***  제어장치

  ->  프로그램 카운터(다음 명령어의 번지 수를 기억하는 레지스터), 명령 해독기(수행할 명령어를 해독하여 부호기로 전달하는 회로)

 

***  연산장치

  ->  가산기(덧셈), 보수기(뺄셈), 누산기(중간 연산 과정 임시 저장), 데이터 레지스터(연산 결과 값 저장하는 레지스터)

 

 

 

CPU 구성도. 출처 : https://blog.naver.com/yms4918/220928985688

    

 

 

 

  RAM 

    ->  Random Access Memory 인데, 흔히 메모리 라고 부른다.

 

    ->  주기억장치. CPU가 연산 처리할 데이터나 명령어가 임시로 저장(휘발성 메모리)되는 장소. 전원이 켜져 있는 동안만 저장된다.

 

    ->  인간으로 비유하면 '최근 기억' 과 같다. 

   

      ***  최근이기 때문에, 빠르게 기억해낼 수 있다. (= CPU가 램에 접근하고 연산 처리하는 속도가 빠르다.)

      ***  하지만, 단기 기억 특성 상 용량이 크지 않아 많이 기억하지 못한다. ㅠㅠ

      

    ->  DRAM(동적, 주력 메모리) 과 SRAM(정적, DRAM보단 데이터 처리 속도는 빠르지만 용량이 적다.) 이 있다.

 

 

 

 

ROM

  ->  Read-only Memory로, 말 그대로 읽기 전용 메모리다. (그렇지만 쓰기가 되지 않는 건 아니다...)

 

  ->  보조기억장치. 하드디스크(HDD), SSD 등 대용량의 데이터 또는 프로그램을 기록해두는 장치를 뜻한다.

 

  ->  비휘발성 메모리.

 

  ->  인간으로 비유하면 '오래 전 기억' 과 같다.

 

    ***  예전 기억들은 다 저장되어있다. 하지만 접근하는데 오래 걸릴 뿐이다. (= 대용량 저장 메모리)

    ***  오래 전이기 때문에 회상하며 기억해내는데 시간이 오래 걸린다. (= RAM보다 접근 속도가 오래 걸린다. 그래서 CPU에서는 RAM에 들어있는 데이터나 명령어만 처리하고, ROM에 직접 접근은 하지 않는다.)

    ***  예전 기억을 떠올려야(= RAM에 데이터 저장) 그 기억에 대한 일처리를 할 수 있다(= CPU가 RAM에만 접근할 수 있다.).

 

 

 

 

 

쉽게 이해하자면,

 

    1.  CPU(뇌)는 RAM(최근 기억) 에 저장된 데이터나 명령어(기억해낸 일) 을 처리한다.

 

    2.  CPU(뇌)는 ROM(오래전 기억) 에서 일을 가져오기에는 너무 오래 걸리기 때문에(너무 오래되서 기억해내기 어렵다) RAM(최근 기억) 에 저장된 일만 처리할 수 있다.

 

    3.  프로그램을 실행하면 ROM(오래전 기억 = 프로그램 데이터 저장되어있음) 에서 데이터를 꺼내와 RAM(최근 기억 = 한 번 떠올린 이후부턴 쉽게 기억해낼 수 있으니까!) 에 전달한다. 그리고 CPU가 이를 처리한다.

 

 

 

 

이해하셨나요?

 

그럼 여담이지만, 각자의 시스템 정보를 보고 "CPU가 이렇게 되서 이정도 성능을 내겠구나~" 할 수 있습니다.

 

제 컴퓨터 사양을 예시로 들어보겠습니다.

 

 

크흠..

 

프로세서는 위에서 CPU 라고 했죠?

제 CPU 는 2.6 GHz 6코어 입니다. (뒤는 CPU 회사에 따라 성능이 차이가 있기 때문에 다루지 않겠습니다!)

 

  -  GHz : CPU의 연산 처리 속도. 빠를 수록 좋다.

  -  Core(코어) : CPU 개수. 개수가 많을수록 멀티태스킹 속도가 빨라진다. 

 

  *** 예를 들어, 하나의 CPU가 배그 실행할 때 다른 CPU가 자동 로그인 처리를, 또 다른 CPU가 업데이트 체크를 한다 하면, 당연히 CPU 개수(코어 수) 가 높을수록 좋다.

 

 

 

메모리는 크게 없습니다.

 

메모리는 RAM으로, 16GB 라고 하면 대충 RAM에 16GB의 데이터(연산 또는 명령어. 0101010101110101011 과 같이) 를 저장해둘 수 있다는 뜻입니다.

 

그렇다면, 많이 저장할수록 프로그램 실행 도중 뻑이 가지 않으며 바로바로 연산 처리가 가능하기 때문에 컴퓨터 또한 빠르겠죠?

 

높을수록 좋습니다.

 

 

 

 

 

이상입니다!

 

 

간단하게 정리한다하고 구구절절 길었네요.

 

핵심은 이해입니다.

 

이해한다면, 면접 시 위 핵심을 바로 떠올리고 대답하실 수 있습니다.

 

 

 

감사합니다!

 

Comments