Search

002 프로세서 속도와 심장 박동수

쿠팡파트너스 활동으로 수수료를 제공받을 수 있습니다.
PC나 맥, 휴대전화 등의 내부에서 컴퓨팅을 수행하는 하드웨어는 서로 매우 유사하다

컴퓨터의 논리적(기능적) 아키텍처(구조) 다이어그램 - 컴퓨터를 단순화한 추상적인 그림

각각의 구성요소는 그 중간에서 정보를 전달하는 버스(여러개의 전선)로 연결됨
휴대전화나 태블릿PC의 경우, 마우스 키보드 디스플레이가 화면이라는 하나의 구성 요소로 합쳐진 형태이며, 물리적 위치를 알기위한 나침반, 가속도계, GPS 수신기 등의 구성요소가 추가됨

폰 노이만 아키텍처(von Neumann architecture)

위의 다이어그램과 같이 프로세서, 데이터를 담는 메모리와 저장장치, 입출력 장치로 구성된 기본 구조로,
1946년에 발표된 논문에서 폰 노이만이 기술했음.
이 구조는 1940년대 이래로 이어지고 있는 컴퓨터 구조의 표준
프로세서: 산술 연산제어 기능을 제공
주 기억 장치 & 보조 기억 장치: 기억저장을 담당
입출력 장치(키보드, 마우스, 디스플레이): 운영자와 상호작용
프로세서는 역사적으로 CPU(Central Processing Unit, 중앙 처리 장치)로 불렸지만, 지금은 ‘프로세서’ 라는 표현이 더 자주 쓰임. → CPU 주 기억 장치는 흔히 RAM(Random Access Memory, 임의 접근 메모리)이라 부름 → 메모리, 램 보조 기억 장치디스크 or 드라이브라고 부르기도 함 → 디스크, HDD/SSD

프로세서(CPU)

산술 연산 수행
데이터를 여기저기로 옮김
다른 구성요소(의 작업)를(을) 제어
수행할 수 있는 기본 연산의 레퍼토리는 한정적, 그러나 빠르게 연산을 수행(초당 수십억 회)
기존 계산 결과를 바탕으로 다음에 수행할 연산을 결정함. 따라서 사용자가 일일이 개입하지 않고 독립적으로 작동함.
‘2.2GHz 듀얼 코어 인텔 Core i7’ 프로세서
인텔: 제조사, 듀얼 코어: 코어 2개 (하나의 패키지 안에 처리 장치가 두 개 들어 있음.). ‘코어=프로세서’ (동의어). 싱글 코어 자체로 프로세서라 부를 수 있으나, 독립적으로 작동하는 코어 여러 개를 묶어 프로세서가 될 수도 있다. (듀얼, 쿼드, 헥사, 옥타코어 등 의 멀티코어). 코어의 조합을 프로세서라 할 수도 있음. 2.2GHz: 프로세서의 속도. 초당 수행할 수 있는 연산이나 명령어의 갯수. 2.2GHz = 초당 22억번의 연산 및 명령어 수행 프로세서는 기본연산을 수행하면서 내부Clock을 사용하는데, 한번 튀거나 째깍 거릴 동안 수행한 연산량으로 프로세서의 속도를 측정
헤르츠란, 1888년에 전자기파를 만드는 방법을 발견해 라디오 등 무선 시스템 개발에 발판을 마련한 독일 공학자 하인리히 헤르츠(Heinrich Hertz)의 이름에서 유래했다. 메가 = 220106=1002^{20} \approx 10^{6} = 100 \text{만} 기가 = 230109=102^{30} \approx 10^{9} = 10\text{억}

주 기억 장치(primary memory, RAM)

프로세서 & 그 외 다른 컴퓨터의 구성요소현재 사용 중인 정보저장
저장된 정보의 내용은 프로세서에 의해 변경 될 수 있음
주 기억 장치에프로세서가 현재 작업중인 데이터 및, 프로세서가 무엇을 해야하는지 알려주는 명령어를 저장
프로세서가 무엇을 해야하는지 알려주는 명령어 → 메모리의 코드영역에 저장됨 프로세서가 현재 작업중인 데이터 → 메모리의 데이터영역(정적 데이터 영역(전역변수, 정적변수), 힙 영역(사용자의 동적 할당 변수), 스택 영역(지역 변수))에 저장 프로세스의 PCB에는, 다음에 CPU가 수행해야할 명령어는 무엇인지 알려주는 PC값이 저장됨. PCB(프로세스 제어 블록)란, 각 프로세스 마다 존재하는, 운영체제에서 프로그램 실행 및 문맥 교환(Context switching)등 프로세스 관리를 위해 필요한 프로세스 정보를 저장하는 데이터 블록으로, 운영체제 커널의 자료구조이다. (구조체 형태의 자료구조)
메모리에 다른 명령어를 로드(적재)하여 프로세서가 다른 계산을 수행하게 할 수 있음.
프로그램이 메모리에 로드(프로그램 실행에 직접적으로 필요한 코드와 데이터가 메모리에 저장)되고, 운영체제가 프로그램(User Application Program)을 실행시켜 프로세스 화 하여 프로그램이 동작함. 이러한 원리로 프로그램 내장식(stored-program) 컴퓨터는 범용장치가 된다. 같은 컴퓨터로 워드프로세서, 스프레드시트, 웹 서핑, 이메일, 음악 재생 등 여러 User Application Program을 동시에 실행시킬 수 있음. 프로그램 내장식의 개념은 매우 중요 적합한 명령어를 메모리에 배치함으로써 가능해짐
주기억 장치는 유저 어플리케이션 프로그램이 실행되는 동안 정보를 저장할 장소를 제공함. 워드, 포토샵, 브라우저 등 현재 활성화된 프로그램의 명령어를 저장함
현재 활성화된 프로그램이란, 아래와 같은 것을 의미함. - 지금 워드로 켜놓은, 현재 편집중인 문서 - 사진 앱으로 켜놓은, 현재 화면에 표시중인 사진 - 크롬 브라우저를 켜놓고 있을때, 재생중인 음악 등
주기억 장치는 운영체제의 명령어도 저장함.
유저 어플리케이션 프로그램이 여러개가 동시에 실행되기 위해선, 운영체제 커널에서 명령어로 이러한 실행중인 유저 어플리케이션 프로그램을 제어해줘야 함.
Why 임의 접근 메모리(Random Access Memory)?
프로세서가 메모리에 저장된 정보에 접근 할 때, 메모리에 저장된 위치에 상관없이, 어느 위치에 접근하던 같은 속도로 접근할 수 있음(거의 비슷한 속도)
비디오 테이프의 특정 위치에 접근하는 방식인 순차적 접근 방식과 대조됨. 이 경우엔 테이프를 감는 수준에 따라 특정 위치에 접근하는 속도가 다르며, 영화를 보는 경우 마지막 장면에 접근하려면, 영화의 시작부터 끝까지 빨리감기를 해야함.
메모리의 특징: 휘발성(Volatile)
전원이 꺼지면 메모리의 내용은 사라짐.
메모리에 올려놓았던, 현재 실행중인 프로세스의 정보들은 날아간다.
주 기억 장치 용량은 고정되어있다
메모리 용량이 8GB = 23323×1092^{33} \approx 2^3 \times 10^9 = 80억 byte = 640억 bit = 약 1280억개의 정보를 표현?
정보의 표현방식은 컴퓨팅의 핵심 주제 중 하나로, 따로 다룰 필요가 있음.
주 기억 장치(메모리)의 용량이 크면, 동시에 더 많은 정보를 저장해 둘 수 있으므로, 컴퓨터 속도에 유리함. 사격에 비유한다면, CPU가 빠르다는 것은 빠른 연사속도, 메모리 용량이 크다는 것은 탄창이 커서 총알이 많이 들어간다는 것