中央 處理 裝置

위키百科, 우리 모두의 百科事典.

핀이 없는 LGA 인텔 i7 8700k 마이크로프로세서
핀이 있는 PGA 의 AMD 라이젠 3700X

中央 處理 裝置 (中央處理裝置) 또는 CPU ( 英語 : central processing unit , central/main processor )는 컴퓨터 시스템 을 統制하고 프로그램 演算 을 實行  · 處理하는 가장 核心的인 컴퓨터 制御 裝置 , 或은 그 機能을 內藏한 이다. 컴퓨터 안의 中央 處理 裝置(CPU)는 外部에서 情報를 入力받고, 記憶하고, 컴퓨터 프로그램의 命令語를 解釋하여 演算하고, 外部로 出力하는 役割을 한다. 따라서 中央 處理 裝置(CPU)는 컴퓨터 部品과 情報를 交換하면서 컴퓨터 시스템 全體를 制御하는 裝置로, 모든 컴퓨터의 作動過程이 中央 處理 裝置(CPU)의 制御를 받기 때문에 컴퓨터의 頭腦에 該當한다고 할 수 있다. 實際의 CPU 칩엔 實行 部分뿐만 아니라 캐시 等의 附加 裝置가 統合된 境遇가 많다.

CPU에는 MCU(Micro Control Unit)와 周邊 裝置(外部 擴張 裝置에 關한 IC)가 다 들어있는 Soc (System On Chip)가 있다. 周邊 IC가 따로 달려 있을 境遇, 그것은 MCU라고 할 수 있다.

CPU는 機械語 로 쓰인 컴퓨터 프로그램 命令語 를 解釋하여 實行한다. CPU는 프로그램에 따라 外部에서 情報를 入力 받아,이를 記憶 하고, 演算 하며, 結果를 外部로 出力 한다. CPU는 컴퓨터 部品과 情報를 交換하면서 컴퓨터 全體의 動作을 制御한다.

基本 構成으로는 CPU에서 處理할 命令語를 貯藏하는 役割을 하는 프로세서 레지스터 , 比較, 判斷, 演算을 擔當하는 算術論理演算裝置 (ALU), 命令語의 解釋과 올바른 實行을 위하여 CPU를 內部的으로 制御하는 제어부 (control unit)와 內部 버스 等이 있다.

各種 電子 部品과 半導體 칩을 하나의 작은 칩에 內藏한 電子 部品을 마이크로프로세서라고 한다. 마이크로프로세서는 電氣 밥桶에 쓰이는 낮은 性能의 製品부터 컴퓨터에 쓰이는 높은 性能의 製品까지 매우 다양하다. 마이크로프로세서들 가운데 가장 複雜하고 性能이 높은 製品은 컴퓨터의 年産 裝置로 쓰인다. 이것을 中央 處理 裝置라고 한다.

歷史 [ 編輯 ]

CPU의 出現 [ 編輯 ]

'固定된-프로그램 컴퓨터'라고 불리는 ENIAC 같은 컴퓨터는 다른 種類의 作業을 하기 위해 戰線을 再配列 하는 過程이 必要했다. "CPU"라는 用語가 소프트웨어의 實行을 위한 裝置로 불리게 된 以來로, CPU라고 불릴 수 있는 裝置의 出現은 프로그램 內臟 方式 컴퓨터의 出現 德分이었다.

프로그램 內臟 方式 컴퓨터는 J.Presper Eckrt와 John Willian Mauchly's의 ENIAC 設計에도 이미 어느 程度 드러나 있다. 하지만 ENIAC을 빨리 製作하기 위해서 省略되었다. ENIAC이 만들어지기 前인 1945年 6月 30日 數學者 폰 노이만 은 'EDVAC 草案에 對한 報告'라는 論文을 發表했다. 이것은 프로그램 內臟 方式 컴퓨터의 槪要로써 1949年에 完全히 定立되었다. EDVAC은 일정한 數의 다양한 作業을 遂行하기 위해 考案되었다. 確實한 것은, EDVAC 프로그램은 物理的 選의 連結이 아니라 빠른 速度의 컴퓨터 메모리에 貯藏된다는 것이다. 이것은 새로운 作業을 遂行하기 위해서는 相當한 時間과 努力이 必要한 ENIAC의 限界를 이겨내는 데 도움을 주었다. 폰 노이만의 디자인은 소프트웨어(프로그램)를 單純히 메모리에 있는 內容을 바꾸는 것만으로 손쉽게 實行할 수 있게 만들어 주었다. 하지만 EDVAC은 最初의 프로그램 內臟方式 컴퓨터는 아니었다. 맨체스터 大學校의 SSEM(Small-Scale Experimental Machine)과 마크 1이 프로그램 內臟 方式 컴퓨터의 初期 버전이다.

트랜지스터와 集積回路 CPU의 登場 [ 編輯 ]

트랜지스터 CPU는 트랜지스터 發明 以後 登場했다. 트랜지스터는 같은 役割을 하던 眞空管을 빠르게 代替하여 CPU의 부피를 줄일 수 있게 되었다

마이크로프로세서 [ 編輯 ]

페드리코 페긴이 1970年代에 發明한 것은 CPU의 設計와 具現에 對한 全般的인 基礎를 完全히 바꾸어 놓았다. 1970年에 登場한 最初의 商業用 마이크로프로세서(Intel 4004)와 1974年의 最初의 汎用 마이크로프로세서(Intel 8080) 以後로 생겼다.

演算 [ 編輯 ]

모든 CPU에서 메모리에 貯藏된 命令語들을 順序대로 불러와서 實行한다는 事實은 物理的形態와는 關係없이 同一하다. 그리고 CPU가 이 動作을 遂行하기 위해서는 꺼내고, 解讀하고, 實行하는 5段階가 必要하다. 마지막 段階에서 命令語를 實行하고난 以後에는 다시 이 다섯 段階의 命令 周忌 가 反復되며, 프로그램 카운터의 變化된 位置에서 實行될 命令語를 불러오게 된다.

引出 [ 編輯 ]

첫 番째 段階인 引出(Fetch)은 프로그램의 메모리에서 命令語를 불러오는 役割을 한다. 프로그램 內部의 命令語의 位置(住所)

解毒 [ 編輯 ]

두 番째 段階인 解毒(Decode)은 引出 段階에서 가져온 命令語를 解讀하여 命令語 內의 데이터 情報와 演算 情報를 抽出한 뒤, 中央處理 裝置 內의 各 裝置에 適切한 制御信號를 보내 演算, 處理에 對한 準備를 하는 段階이다.

實行 [ 編輯 ]

實行(Execute)은 命令語에서 抽出한 두 데이터와 演算 情報를 利用해 實際로 演算을 하는 段階를 말한다. 연산이 끝난 結果는 곧바로 다음 命令語에서 使用될지, 그렇지 않을지에 따라 메모리 段階로 갈지, 라이트백 段階로 갈지 決定된다.

메모리 [ 編輯 ]

네 番째 段階인 메모리(Memory)는 年産結果가 다음 命令語에 바로 使用되지 않는다면, 結果를 메모리 에 貯藏하는 것을 말한다.

라이트백 [ 編輯 ]

演算의 마지막 段階인 라이트백(Write-Back)은 移轉 命令語의 演算 結果가 다음 命令語의 入力 데이터로 使用될 境遇, 計算 結果를 레지스터 에 다시 쓰는 것을 말한다.

設計와 具現 [ 編輯 ]

基本的인 CPU의 構造

基本 構成으로는 CPU에서 處理할 命令語를 貯藏하는 役割을 하는 프로세서 레지스터 , 比較, 判斷, 演算을 擔當하는 算術論理演算裝置 (ALU), 命令語의 解釋과 올바른 實行을 위하여 CPU를 內部的으로 制御하는 제어부 (control unit)와 內部 버스 等이 있다.

CPU의 內臟回路는 CPU가 遂行할 수 있는 基本的인 演算들의 集合인 '命令語 集合'으로 이루어져있다. 例를 들면 두 個의 數字에 對한 加減演算 或은 比較演算 같은 것이 있다. 各各의 基本 演算은 옵코드(opcode)라고 불리는 特定한 비트의 組合으로 나타내진다.

모든 命令語의 實際 數學的인 演算은 CPU 內部의 算術論理裝置 (ALU, arithmetic logic unit)이라는 組合論理回路에서 擔當한다. CPU는 大部分 算術論理裝置 가 演算을 遂行하기 위한 命令語를 메모리로부터 불러오고, 演算의 結果값을 貯藏하는 일을 한다. 메모리로부터 데이터를 불러오는 演算의 命令語 集合 의 種類와 動作은 確然한 差異를 보인다.

性能 [ 編輯 ]

中央 處理 裝置의 性能은 크게 클럭(Clock) 速度와 코어 數로 決定된다.

클럭 [ 編輯 ]

CPU에서 클럭이라고 하는 數値는 中央 處理 裝置 內部에서 일정한 周波數를 가지는 信號로 이 信號에 동기화되어서 中央 處理 裝置의 모든 命令語가 動作되게 된다. 例를 들어, 클럭 數가 3.0GHz이면 秒當 30億 番의 命令語 處理를 할 수 있다는 말이다. 따라서 클럭 周波數가 빠를수록 制限된 時間에 더 많은 命令을 處理할 수 있기에 더 좋은 性能의 中央 處理 裝置라고 할 수 있다.

코어 [ 編輯 ]

中央 處理 裝置안의 코어의 數로도 性能의 差異가 난다. 코어는 中央 處理 裝置의 役割을 하는 블록으로 예전에는 한 個의 칩 안에는 한 個의 코어의 構造를 가진 싱글코어가 多數였지만 最近에는 한 個의 칩 안에 여러 個의 코어를 가지는 멀티코어 構造를 採擇하고 있다.

싱글 코어 [ 編輯 ]

싱글 코어(Single Core)는 하나의 코어 로 이루어진 CPU 이다. 一般的으로 멀티 코어 에 비해 警備 가 싸고 프로그래밍도 簡單하지만 保守 作業이나 故障 의 境遇에는 시스템이 完全히 멈추고 수많은 作業을 잘 分散시키지 못해 멀티 코어 에 비해 處理 速度가 느리다는 短點이 있다.

멀티 코어 [ 編輯 ]

한 個의 칩 안에 여러 個의 演算을 處理할 수 있는 裝置를 竝列的으로 連結한 멀티 코어 시스템을 통하여 더 좋은 性能의 中央 處理 裝置를 얻을 수 있게 된다. 하지만 프로그램을 作成할 때 멀티코어를 活用할 수 있도록 코딩해야 한다. 그렇지 않으면 멀티코어 CPU라도 멀티코어를 活用 못할 수 있다. 싱글 코어 및 多重 코어를 稱하는 名稱은 다음과 같다.

코어의 個數 名稱
1 싱글 코어
2 듀얼 코어
3 트리플 코어
4 쿼드 코어
6 헥사 코어
8 옥타 코어
10 데카 코어
12 度데카 코어
16 헥사 데시멀 코어

現在는 코어의 速度를 높이기 힘든 限界에 왔기 때문에, 速度보다는 竝列性을 높이는 것에 集中하여 CPU 다이에 64個의 코어를 넣은 AMD EPYC 7742 서버用 CPU도 出市되었다.

CPU 메이커 [ 編輯 ]

大衆的인 運營 體制 下衣 CPU 設計 또는 製作社

같이 보기 [ 編輯 ]