일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 내맘대로 플러스
- 인천 출산장려금
- 모빌 사용시기
- 모빌 사용법
- 내맘대로 플러스 설치
- 서울 산후도우미
- skt gold
- 아동수당 신청
- 출산장려금 둘째
- 서울 2018 정부지원 산후도우미
- 인천 출산축하금
- 출사장려금 셋째
- 서초구 출산 장려금
- 출산장려금 첫째
- java
- 아동수당 금액
- 정부지원 산후도우미
- 2018 임신 출산 장려금
- 2018 임신 출생 장려금
- 아동수당 대상
- 강동구 출산장려금
- 칼라모빌 사용시기
- skt 혜택
- I-mom 출산축하금
- 흑백모빌 칼라모빌
- 2018 산후도우미
- 흑백모빌 사용시기
- 2018 정부지원 산후도우미
- 중의소득 100%
- 자바
- Today
- Total
좋은 인연, 좋은 발견
중앙 처리 장치(CPU)란 본문
중앙 처리 장치(CPU, central processing unit)
- 소프트웨어 명령의 실행이 이루어지는 컴퓨터의 부분, 혹은 그 기능을 내장한 칩을 말한다.
컴퓨터 안의 중앙 처리 장치는 외부에서 정보를 입력 받는다.
입력받은 정보를 기억하다.
컴퓨터 프로그램의 명령어를 해석하여 연산한다.
외부로 출력하는 역할을 한다.
컴퓨터 부품과 정보를 교환하면서 컴퓨터 시스템 전체를 제어하는 장치로, 모든 컴퓨터의 작동과정이 중앙 처리 장치의 제어를 받는다.
컴퓨터의 두뇌와 같다.
실제로 중앙 처리 장치(CPU)칩엔 실행 부분뿐만 아니라 캐시 등의 부가 장치가 통합된 경우가 많다.
중앙 처리 장치에는 MCU(Micro Control Unit)와 주변 장치(외부 확장 장치에 관한 IC)가 다 들어있는 SOC(System On Chip)가 있다.
주변IC가 따로 달려 있을 경우, 그것은 MCU라고 할 수 있다.
중앙 처리 장치는 기계어로 쓰인 컴퓨터 프로그램의 명령어를 해석하여 실행한다.
프로그램에 따라 외부에서 정보를 입력받아 기억하고 연산하며 결과를 외부로 출력한다.
컴퓨터 부품과 정보를 교환하면서 컴퓨터 전체의 동작을 제어한다.
기본 구성으로 프로세서 레지스터(중앙 처리 장치에서 처리할 명령어를 저장하는 역할), 산술논리연산장치(ALU:비교, 판단, 연산하는 역할),
제어부(control unit:명령어의 해석과 올바른 실행을 위하여 중앙 처리 장치 내부적으로 제어하는 역할), 내부버스 등이 있다.
각종 전자 부품과 반도체 칩을 하나의 작은 칩에 내장한 전자 부품을 마이크로프로세서라고 한다.
마이크로프로세서는 전기 밥톱에 쓰이는 낮은 성능의 제품부터 컴퓨터에 쓰이는 높은 성능의 제품까지 매우 다양하다.
마이크로프로세서들 가운데 가장 복잡하고 성능이 높은 제품은 컴퓨터의 연장 장치로 쓰인다.
이것을 중앙 처리 장치라고 한다.
역사
1. CPU의 출현
- "고정된-프로그램 컴퓨터"라고 불리는 에니악(ENIAC)같은 컴퓨터는 다른 종류의 작업을 하기 위해 전선을 재배열 하는 과정이 필요했다.
"CPU"라는 용어가 소프트웨어의 실행을 위한 장치로 불리게 된 이래로, CPU라고 불릴 수 있는 장치의 출현은 프로그램 내장 방식
컴퓨터의 출현 덕분이었다.
프로그램 내장 방식 컴퓨터는 J.Presper Eckrt와 John Willian Mauchly's의 에니악 설계에도 이미 어느 정도 드러나 있다.
하지만 에니악을 빨리 제작하기 위해 생략되었다.
에니악이 만들어지기 전인 1945년 6월 30일 수학자 폰 노이만은 "EDVAC 초안에 대한 보고"라는 논물을 발표했다.
이것은 프로그램 내장 방식 컴퓨터의 개요로써 1949년에 완전히 정립되었다.
EDVAC은 일정한 수의 다양한 작업을 수행하기 위해 고안되었다.
확실한 것은 EDVAC 프로그램은 물리적 선의 연결이 아니라 빠른 속도의 컴퓨터 메모리에 저장된다는 것이다.
이것은 새로운 작업을 수행하기 위해서는 상당한 시간과 노력이 필요한 ENIAC의 한계를 이겨내는데 도움을 주었다.
폰 노이만의 디자인은 소프트웨어(프로그램)을 단순히 메모리에 있는 내용을 바꾸는 것 만으로 손쉽게 실행할 수 있게 만들어 주었다.
하지만 EDVAC은 최초의 프로그램 내장방식 컴퓨터는 아니었다.
맨체스터 대학교의 SSEM(Small-Scale Experimental Machine)과 마크 1이 프로그램 내장 방식 컴퓨터의 초기 버전이다.
2. 트랜지스터와 집적회로 CPU의 등장
- 트랜지스터가 발명된 이후 생긴다.
3. 마이크로프로세서
- 페드리코 페긴이 1970년대에 발명한 것은 CPU의 설계와 구현에 대한 전반적인 기초를 완전히 바꾸어 놓았다.
1970년에 등장한 최초의 상업용 마이크로프로세서(Intel 4004)와 1974년의 최초의 범용 마이크로프로세서(Intel 8080) 이후로 생겼다.
연산
- 모든 CPU에서 메모리에 저장된 명령어들을 순서대로 불러와서 실행한다는 사실은 물리적형태와는 관계없이 동일하다.
그리고 CPU가 이 동작을 수행하기 위해서는 꺼내고 해독하고 실행하는 5단계가 필요하다.
마지막 단계에서 명령어를 실행하고난 이후에는 다시 이 5단계의 명령 주기가 반복되며 프로그램 카운터의 변화된 위치에서
실행될 명령어를 불러오게 된다.
1. 인출
- 인출(Fetch)은 프로그램의 메모리에서 명령어를 불러오는 역할을 한다.
2. 해독
- 해독(Decode)은 인출 단계에서 가져온 명령어를 해독하여 명령어 내의 데이터 정보와 연산 정보를 추출한 뒤,
중앙 처리 장치 내의 각 장치에 적절한 제어신호를 보내 연산, 처리에 대한 준비를 하는 단계이다.
3. 실행
- 실행(Execute)은 명령어에서 추출한 두 데이터와 연산 정보를 이용해 실제로 연산을 하는 단계를 말한다.
연산이 끝난 결과는 곧바로 다음 명령어에서 사용될지, 그렇지 않을지에 따라 메모리 단계로 갈지, 라이트백 단계로 갈지 결정된다.
4. 메모리
- 메모리(Memory)는 연산결과가 다음 명령어에 바로 사용되지 않는다면, 결과를 메모리에 저장하는 것을 말한다.
5. 라이트백
- 라이트백(Write-Back)은 이전 명령어의 연산 결과가 다음 명령어의 입력 데이터로 사용될 경우, 계산 결과를 레지스터에 다시 쓰는 것을 말한다.
설계와 구현
- CPU의 내장회로는 CPU가 수행할 수 있는 기본적인 연산들의 집합인 "명령어 집합"으로 이루어져있다.
예를 들면 두 개의 숫자에 대한 가감연산 혹은 비교연산 같은 것이 있다.
각각의 기본 연산은 옵코드라고 불리는 특정한 비트의 조합으로 나타내진다.
모든 명령어의 실제 수학적인 연산은 CPU 내부의 산술논리장치(ALU, Arithmetic Logic Unit)이라는 조합논리회로에서 담당한다.
CPU는 대부분 산술논리장치가 연산을 수행하기 위한 명령어를 메모리로부터 불러오고, 연산의 결과값을 저장하는 일을 한다.
메모리로부터 데이터를 불러오는 연산의 명령어 집합의 종류와 동작은 확연한 차이를 보인다.
성능
1. 싱글 코어
- 싱글 코어(Single Core)는 하나의 코어로 이루어진 CPU이다.
일반적으로 멀티 코어에 비해 경비가 싸고 프로그래밍도 간단하지만 보수 작업이나 고장의 경우에는
시스템이 완전히 멈추고 멀티 코어에 비해 처리 속도가 느리다는 단점이 있다.
2. 멀티 코어
- 최근에 나오는 중앙 처리 장치의 성능은 크게 클럭(Clock)속도와 코어 수로 결정된다.
CPU에서 클럭이라고 하는 수치는 중앙 처리 장치 내부에서 일정한 주파수를 가지는 신호로 이 신호에 동기화되어서
중앙 처리 장치의 모든 명령어가 동작되게 된다.
가령, 클럭 수가 3.0GHz이면 초당 30억번의 명령어처리를 할 수 있다는 말이다.
그러므로 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있다.
또한, 중앙 처리 장치 안에 코어의 수 로도 성능의 차이가 난다.
코어는 중앙 처리 장치의 역할을 하는 블록으로 예전에는 한 개의 칩 안에는 한 개의 코어 구조를 가졌으나
최근에는 한 개의 칩 안에 여러 개의 코어 구조를 채택하고 있다.
이렇게 한 개의 칩 안에 여러 개 연산처리 할 수 있는 장치를 병렬적으로 연결된 멀티 코어 시스템을 통하여
좀 더 좋은 성능을 갖는 중앙 처리 장치를 얻을 수 있게 된다.
코어 개수에 따른 명칭은 다음과 같다.
1 코어 - 싱글 코어
2 코어 - 듀얼 코어
3 코어 - 트리플 코어
4 코어 - 쿼드 코어
6 코어 - 헥사 코어
8 코어 - 옥타 코어
10 코어 - 데카 코어
12 코어 - 도데카 코어
16 코어 - 헥사 데시멀 코어
# 현재는 코어의 속도를 높이기 힘든 한계에 왔기 때문에 병렬성을 높여 CPU 안에 코어를 72개 넣은 인텔 제온 파이 CPU도 있다.
본 내용은 위키백과 내용을 창고하여 정리한 것입니다.
'it' 카테고리의 다른 글
자바의 변수 (0) | 2018.05.07 |
---|---|
자바의 클래스 (0) | 2018.05.06 |
숫자개수 구하는 알고리즘입니다. (0) | 2018.05.02 |
JVM, JRE, JDK의 차이는 무엇인지 알아봅시다. (0) | 2018.05.02 |
객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 등장 (0) | 2018.05.01 |
자바에 대해 알아봅시다. (0) | 2018.05.01 |
다익스트라 알고리즘 (0) | 2018.04.18 |
하드웨어란 (0) | 2018.04.13 |