[[컴퓨터공학|컴퓨터 과학 & 공학
Computer Science & Engineering
]]- [ 펼치기 · 접기 ]
- ||<tablebgcolor=#fff,#1c1d1f><tablecolor=#373a3c,#ddd><colbgcolor=#0066DC><colcolor=white> 기반 학문 || 수학( 해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학( 환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학( 형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학 ||
하드웨어 구성 SoC · CPU · GPU( 그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품 기술 기계어 · 어셈블리어 · C/ C++ · C# · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍 · 해킹 · ROT13 · 일회용 비밀번호 · 사물인터넷 · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시( SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화 · 하드웨어 가속 연구
및
기타논리 회로( 보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 운영 체제 · 데이터베이스 · 프로그래밍 언어{ 컴파일러( 어셈블러 · JIT) · 인터프리터 · 유형 이론 · 파싱 · 링커 · 난해한 프로그래밍 언어} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩( 유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도( 최적화) · 소프트웨어 개발 방법론 · 디자인 패턴 · 정보처리이론 · 재귀 이론 · 자연어 처리( 기계 번역 · 음성인식) · 버전 ( 버전 관리 시스템 · Git · GitHub)
'''[[전기전자공학과|전기·전자공학 {{{#!wiki style="font-family: Times New Roman, serif; font-style: Italic; display: inline;"]]''' |
|||
{{{#!wiki style="margin:0 -10px -5px; min-height: 26px; word-break:keep-all" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-6px -1px -11px" |
<colbgcolor=#009><colcolor=#fff> 학문 |
기반 학문 물리학 ( 전자기학 ( 회로이론 · 전자 회로 · 논리 회로) · 양자역학 · 물리화학 · 열역학 · 응집물질물리학) · 화학 연관 학문 수학 ( 공업수학 · 수치해석학 · 위상수학 · 미분방정식 · 대수학 ( 환론 · 표현론) · 선형대수학 · 이론 컴퓨터 과학 · 컴퓨터공학 ( 프로그래밍 언어 ( HDL · VHDL · C · C++ · Java · 파이썬 · 베릴로그)) · 재료공학 · 제어 이론 |
|
공식 · 법칙 | 전자기 유도 · 가우스 법칙 · 비오-사바르 법칙 · 무어의 법칙 · 키르히호프의 법칙 · 맥스웰 방정식 · 로런츠 힘 · 앙페르 법칙 · 드모르간 법칙 · 페르미 준위 · 중첩의 원리 | ||
이론 · 연구 | 반도체 ( P형 반도체 · N형 반도체) · 디스플레이 · 논리 회로 ( 보수기 · 가산기 · 플립플롭 · 논리 연산) · 전자 회로 · RLC 회로 · 역률 · DSP · 히스테리시스 곡선 · 휘트스톤 브리지 · 임베디드 시스템 | ||
용어 | 클럭 · ASIC · CPU 관련 ( BGA · 마이크로아키텍처 · GPS · C-DRX · 소켓) · 전계강도계 · 축전기 · CMCI · 전송선 · 양공 · 도핑 · 이미터 · 컬렉터 · 베이스 · 시퀀스 | ||
전기 · 전자 관련 정보 |
제품 스마트폰 · CPU · GPU ( 그래픽 카드) · ROM · RAM · SSD · HDD · MPU · CCD · eMMC · USB · UFS · LCD · LED · OLED · AMOLED · IoT · 와이파이 · 스마트 홈 · 마그네트론 · 마이크 · 스피커 · 배터리 소자 집적 회로 · 다이오드 · 진공관 · 트랜지스터 ( BJT · FET · JFET · MOSFET · T-FT) · CMOS · IGBT · 저항기 · 태양전지 · 연산 증폭기 · 사이리스터 · GTO · 레지스터 · 펠티어 소자 · 벅컨버터 |
||
자격증 | |||
전기 계열 |
기능사 전기기능사 · 철도전기신호기능사 기사 전기기사 · 전기산업기사 · 전기공사기사 · 전기공사산업기사 · 전기철도기사 · 전기철도산업기사 · 철도신호기사 · 철도신호산업기사 기능장 및 기술사 전기기능장 · 건축전기설비기술사 · 발송배전기술사 · 전기응용기술사 · 전기안전기술사 · 철도신호기술사 · 전기철도기술사 |
||
전자 계열 |
기능사 전자기기기능사 · 전자계산기기능사 · 전자캐드기능사 기사 전자기사 · 전자산업기사 · 전자계산기기사 · 기능장 및 기술사 전자기기기능장 · 전자응용기술사 |
||
기타 |
기능사 신재생에너지발전설비기능사(태양광) 기사 소방설비기사 · 신재생에너지발전설비기사(태양광) · 로봇소프트웨어개발기사 · 로봇하드웨어개발기사 · 로봇기구개발기사 |
}}}}}}}}} |
Microarchitecture, 마이크로아키텍처/컴퓨터조직
1. 개요
마이크로아키텍처(microarchitecture) 또는 CPU 아키텍처 , GPU 아키텍처는 컴퓨터 공학에서 CPU나 GPU 같은 하드웨어가 작동하는 방식을 서술한 일종의 컴퓨터 설계도이며, 때문에 하드웨어의 운영에 대해 세세하게 기술이 되어 있다.학술 모임에서는 컴퓨터 시스템이라는 용어가 쓰이는 반면, 컴퓨터 산업에서는 마이크로아키텍처라는 용어가 더 자주 쓰인다. 마이크로아키텍처와 명령어 집합 구조 ( ISA)는 함께 컴퓨터 아키텍처의 분야를 구성하고 있다.
ISA 수준의 아키텍처[1] 연구개발은 컴퓨터 과학자과 전기전자공학도들이 협업하지만[2], 마이크로아키텍쳐[3]들의 발전은 주로 전기전자 전공자들이 주도한다. 이는 실제 칩의 생산시 필요한 지식이 좀더 로우 레벨이기 때문이다.
2. 상세
파일:external/techreport.com/a72-block-diagram.gif블록다이어그램으로 표현된 마이크로아키텍처의 전형적인 예시
위 사진은 ARM Cortex-A72의 모습이다.
마이크로아키텍처를 논하기 전에 과연 마이크로아키텍처와 그 상위의 CPU 아키텍처라는 개념을 구상하고 만들어 내게 된 동기부터 살펴볼 필요가 있는데, 왜 CPU 아키텍처가 필요하게 되었는지에 대한 이해가 선행 되어야 CPU 아키텍처의 개념을 이해할 수 있고, CPU 아키텍처에 대한 개념을 이해해야 결국 그 하위에 속한 명령어셋 아키텍처와 마이크로아키텍처에 대한 개념을 확실히 이해할 수 있다.
일단 비유적으로 이야기 하자면 CPU는 클럭이라는 동기화 신호에 맞춰 디지털 데이터라는 원료를 처리하여 제품화된 디지털 데이터를 출력하는 작업을 수행하는 일종의 공장이라고 표현할 수 있다.
다음은 CPU공장이 조업하는 방식이다.
- 우선 데이터를 어떤 제품으로 만들 것인가에 대한 작업지시서를 받아 온다.(명령어 인출)
- 작업 지시서의 세부 작업 내용들을 해석하고 여러 개의 세부 지시서로 나누어 편집하여 공장내 각 부서에 전달하는 작업을 수행한다.(명령어 디코드 및 스케쥴링)
- 세부 지시서에서 어떤 데이터를 가공할 것인가에 대한 내용에 따라 원자재 창고의 특정 위치에서 원자재를 인출해 온다.(데이터 인출)
- 원자재 A는 세부 작업지시서에 내용에 따라 컨베이어벨트 2호기에 적재하여 이송시킨다.(데이터 적재)
- 컨베이어밸트 2호기에는 원자재 쉬프트 장치와 덧셈 장치가 있으며 세부 작업지시서에 따라 쉬프트 장치와 덧셈장치가 원자재 A를 가공물B로 가공한다.(연산)
- 가공이 끝난 가공물 B는 또다른 세부 작업지시서의 지시에 따라 제품 창고의 특정 위치로 이송된다.(데이터 쓰기)
위에서와 같이 공장의 예를 생각할 경우, 효율적인 공장의 설계와 조직을 위해서는 공장 설계자는 아래와 같은 내용을 고민하고 결졍해야만 한다.
- 처음 가져오는 작업지시서의 서식을 어떻게 구성해야 정확하고 효율적으로 세부 지시서들을 편집할 수 있을 것인가? (명령어셋 아키텍처의 구현)
- 작업지시서를 받은 관리부서는 어떻게 하면 빠르고 효율적으로 작업 지시서를 세부 지시서로 변환하여 각 라인을 통제하는 작업반장들에게 전달하여 작업 준비를 시킬 수 있을 것인가? (명령어 디코딩 및 전송)
- 원자재 창고의 크기와 계층, 이송도로, 운송장비를 어떻게 구성해야 빠르고 효율적으로 많은 원자재를 적정량 만큼 꺼내올 수 있는가? (메모리 서브시스템/캐시메모리 구조)
- 컨베이어 벨트는 과연 몇 개나 깔아야 하며 각 컨베이어 벨트의 속도와 용량은 얼마로 정해야 하는가? ( 슈퍼스칼라 및 파이프라인 구조)
- 각 컨베이어 벨트의 가공장비는 몇 대를 어느 컨베이어에 어떤 종류를 배치할 것인가?(연산유닛의 숫자 및 기능 구현)
- 세부 지시서들을 각 공장의 컨베이어나 이송장비나 가공장비에 어떻게 정확하면서도 적시에 전달할 수 있을 것인가? (컨트롤 구조)
- 가공 완료된 제품은 어떻게 완제품창고로 빠르고 정확하게 이송하여 보관할 것인가?(메모리 서브시스템/캐시메모리 구조)
결국 CPU의 아키텍처라는 것은 위에 언급한 공장 설계자가 안고 있는 문제에 대한 답을 실제 설계로 구현해 내는 작업이라고 설명할 수 있다. 언급한 작업지시서의 서식이야 말로 바로 CPU의 명령어셋 아키텍처에 해당하며,[4] 또한 그 작업지시서를 해석하고 수행해 내는 전반적인 구조를 가리켜서 바로 본 글의 주제인 마이크로아키텍처라고 칭한다.
3. 목록
3.1. 인텔
3.1.1. 일반 마이크로아키텍처
3.1.1.1. 틱-톡 전략 이전
공정 | 마이크로아키텍처 | 코드네임 | 출시일 |
800nm | P5 마이크로아키텍처 | <colbgcolor=#fff,#222>P5 | <colbgcolor=#fff,#222>1993년 3월 |
600nm | P54C | 1994년 3월 | |
500nm | P6 마이크로아키텍처 | P6 | 1995년 11월 |
350nm | P5 마이크로아키텍처 | P54CQS/P54CS/P55C | 1995년 3월/1995년 6월/1997년 1월 |
P6 마이크로아키텍처 | 클라매스 | 1997년 5월 | |
250nm | P5 마이크로아키텍처 | 틸라묵 | 1997년 8월 |
P6 마이크로아키텍처 | 데슈츠/코빙턴/멘도시노/카트마이 | 1998년 1월/1998년 4월/1998년 8월/1999년 2월 | |
180nm | 코퍼마인 | 1999년 10월 | |
넷버스트 마이크로아키텍처 | 윌라멧 | 2000년 11월 | |
130nm | P6 마이크로아키텍처 | 투알라틴/베니아스 | 2001년 6월/2003년 3월 |
넷버스트 마이크로아키텍처 | 노스우드/갤러틴 | 2002년 1월/2003년 3월 | |
90nm | 프레스캇/스미스필드 | 2004년 2월/2005년 5월 | |
P6 마이크로아키텍처 | 도선 | 2004년 5월 |
3.1.1.2. 틱-톡 전략
틱-톡 | 공정 | 마이크로아키텍처 | 코드네임 | 출시일 |
틱 | 65nm | 넷버스트 마이크로아키텍처[5] | 프레슬러/시더밀 | 2006년 1월 |
P6 마이크로아키텍처 | 요나 | 2006년 1월 | ||
톡 | 코어 마이크로아키텍처 | 메롬[6] | 2006년 7월 | |
틱 | 45nm | 펜린 | 2007년 11월 | |
톡 | 네할렘 마이크로아키텍처 | 네할렘 | 2008년 11월 | |
틱 | 32nm | 웨스트미어 | 2010년 1월 | |
톡 | 샌디브릿지 마이크로아키텍처 | 샌디브릿지 | 2011년 1월 | |
틱 | 22nm | 아이비브릿지 | 2012년 4월 | |
톡 | 하스웰 마이크로아키텍처 |
하스웰 하스웰 리프레시 데빌스캐년 |
2013년 6월 2014년 5월 2014년 6월 |
|
틱 | 14nm | 브로드웰 | 2014년 9월 |
3.1.1.3. P-A-O[7] 전략
P-A-O | 공정 | 마이크로아키텍처 | CPU 코드네임 | 출시일 |
공정 | 14nm | 하스웰 마이크로아키텍처 | 브로드웰 | 2014년 9월 5일 |
아키텍처 | 스카이레이크 마이크로아키텍처 | 스카이레이크 | 2015년 8월 5일 | |
최적화 | 14nm+ |
카비 레이크 카비 레이크 리프레시 앰버 레이크 |
2016년 8월 30일 2017년 8월 21일 2018년 8월 28일 |
|
14nm++ |
커피 레이크 위스키 레이크 커피 레이크 리프레시 코멧 레이크 |
2017년 9월 23일 2018년 8월 28일 2018년 10월 8일 2019년 8월 21일 |
||
공정 | 10nm | 팜 코브 마이크로아키텍처 | 캐논 레이크[8] | 2018년 5월 15일 |
아키텍처 | 서니 코브 마이크로아키텍처 | 아이스 레이크 | 2019년 8월 1일 | |
(백포트) | 14nm+++ | 로켓 레이크 | 2021년 3월 30일 | |
최적화 | 10nm SuperFin | 윌로우 코브 마이크로아키텍처 | 타이거 레이크 | 2020년 9월 2일 |
아키텍처 | Intel 7 | 골든 코브 마이크로아키텍처 | 엘더 레이크 | 2021년 10월 27일 |
최적화 | 랩터 레이크 | 2022년 10월 20일 | ||
최적화 | 랩터 레이크 리프레시 | 2023년 10월 17일 | ||
공정 | Intel 4 | 레드우드 코브 마이크로아키텍처 | 메테오 레이크 | 2023년 12월 14일 |
공정 |
TSMC N3B |
라이언 코브 마이크로아키텍처 | 애로우 레이크 | 2024년 10월 예정 |
공정 | Intel 18A | ? | 팬서 레이크 | 2025년 예정 |
공정 | ? | 팬서 코브 마이크로아키텍처 | 노바 레이크 | 2026년 예정 |
3.1.2. 저전력 마이크로아키텍처
- 인텔 본넬 마이크로아키텍처 (2008년)
- 인텔 솔트웰 마이크로아키텍처 (2011년)
- 인텔 실버몬트 마이크로아키텍처 (2013년)
- 인텔 에어몬트 마이크로아키텍처 (2014년)
- 인텔 골드몬트 마이크로아키텍처 (2016년)
- 인텔 골드몬트 플러스 마이크로아키텍처 (2017년)
- 인텔 트레몬트 마이크로아키텍처 (2020년)
- 인텔 그레이스몬트 마이크로아키텍처 (2021년)
- 인텔 크레스트몬트 마이크로아키텍처 (2023년)
- 인텔 스카이몬트 마이크로아키텍처 (2024년)
3.2. AMD
3.2.1. CPU
3.2.1.1. 일반
- AMD K5 마이크로아키텍처 (1996년)
- AMD K6 마이크로아키텍처 (1997년)
- AMD K7 마이크로아키텍처 (1999년)
- AMD K8 마이크로아키텍처 (2003년)
- AMD K10 마이크로아키텍처 (2007년)
- AMD 불도저 마이크로아키텍처 (2011년)
- AMD 파일드라이버 마이크로아키텍처 (2012년)
- AMD 스팀롤러 마이크로아키텍처 (2014년)
- AMD 엑스카베이터 마이크로아키텍처 (2015년)
- AMD ZEN 마이크로아키텍처 (2017년)
- AMD ZEN+ 마이크로아키텍처 (2018년)
- AMD ZEN 2 마이크로아키텍처 (2019년)
- AMD ZEN 3 마이크로아키텍처 (2020년)
- AMD ZEN 4 마이크로아키텍처 (2022년)
- AMD ZEN 5 마이크로아키텍처 (2024년)
3.2.1.2. 저전력 CPU
- AMD 밥캣 저전력 마이크로아키텍처 (2011년)
- AMD 재규어 저전력 마이크로아키텍처 (2013년)
- AMD 퓨마 저전력 마이크로아키텍처 (2014년)
-
AMD K12 ARM 마이크로아키텍처[9]
3.2.2. GPU
- Rage 4 마이크로아키텍처 (1998년)
- Rage 6 (R100) 마이크로아키텍처 (2000년)
- R200 마이크로아키텍처 (2001년)
- R300 마이크로아키텍처 (2002년)
- R400 마이크로아키텍처 (2004년)
- R500 마이크로아키텍처 (2005년)
- TeraScale 마이크로아키텍처 (2007년)
- TeraScale 2 마이크로아키텍처 (2009년)
- TeraScale 3 마이크로아키텍처 (2010년)
- 1세대 Graphics Core Next 마이크로아키텍처 (2012년)
- 2세대 Graphics Core Next 마이크로아키텍처 (2013년)
- 3세대 Graphics Core Next 마이크로아키텍처 (2014년)
- 4세대 Graphics Core Next (폴라리스) 마이크로아키텍처 (2016년)
- 5세대 Graphics Core Next (베가) 마이크로아키텍처 (2017년)
- RDNA (나비) 마이크로아키텍처 (2019년)
- RDNA 2 마이크로아키텍처 (2020년)
3.3. NVIDIA
- NV3 마이크로아키텍처 (1997년)
- NV4 (파렌하이트) 마이크로아키텍처 (1998년)
- NV10 (셀시우스) 마이크로아키텍처 (1999년)
- NV20 (켈빈) 마이크로아키텍처 (2001년)
- NV30 (랜킨) 마이크로아키텍처 (2003년)
- NV40 (퀴리) 마이크로아키텍처 (2004년)
- G80/G92 (1세대 테슬라) 마이크로아키텍처 (2006년)
- G200/GT215 (2세대 테슬라) 마이크로아키텍처 (2008년)
- 1세대 페르미 (GF100/GF104) 마이크로아키텍처 (2010년)
- 2세대 페르미 (GF110/GF114) 마이크로아키텍처 (2010년)
- 1세대 케플러 (GK104/GK110) 마이크로아키텍처 (2012년)
- 2세대 케플러 (GK208) 마이크로아키텍처 (2013년)
- 1세대 맥스웰 (GM107) 마이크로아키텍처 (2014년)
- 2세대 맥스웰 (GM204) 마이크로아키텍처 (2014년)
- 파스칼 마이크로아키텍처 (2016년)
- 볼타 마이크로아키텍처 (2017년)
- 튜링 마이크로아키텍처 (2018년)
- 암페어 마이크로아키텍처 (2020년)
3.4. VIA
- Cyrix Cayenne 마이크로아키텍처 (1997년)
- Cyrix Joshua 마이크로아키텍처 (2000년)
- IDT Centaur Samuel 마이크로아키텍처 (2000년)
- VIA Samuel 2 마이크로아키텍처 (2001년)
- VIA Ezra 마이크로아키텍처 (2001년)
- VIA Ezra-T 마이크로아키텍처 (2001년)
- VIA Nehemiah 마이크로아키텍처 (2003년)
- VIA Nehemiah+ 마이크로아키텍처 (2003년)
- VIA Esther 마이크로아키텍처 (2005년)
- VIA Isaiah 마이크로아키텍처 (2008년)
- VIA Isaiah II 마이크로아키텍처 (2014년)
- VIA CenTaur CNS/CHA 마이크로아키텍처 (2019년)
3.4.1. Zhaoxin
- Zhaoxin Zhangjiang 마이크로아키텍처 (2015년)
- Zhaoxin Wudaokou 마이크로아키텍처 (2017년)
- Zhaoxin Lujiazui 마이크로아키텍처 (2019년)
- Zhaoxin YongFeng 마이크로아키텍처 (2022년)
[1]
MIPS,
RISC-V,
ARM(CPU)등.
[2]
Computer architecture의 주요 혁신은 아카데미(ISCA, MICRO, ASPLOS, HPCA)기준 주로 EE전공자와 CS전공자들이 비등하게 이뤄냈지만 (당장 위의 top tier학회도 대부분 IEEE와 ACM이 공동 주최함), 인더스트리에서는 EE background를 가진 사람이 microarchitect들의 주류임 (e.g., Jim Keller).
[3]
Branch predictor, DVFS, prefetcher, pipeline, cache microarchitecture, interconnect network, issue logic ,arithmetic logic unit
[4]
참고로 명령어셋 아키텍처라는 개념이 대두된 계기는 규모와 설비, 특히 건설 시점이 각각 다른 공장들의 작업지시서를 하나로 통일해야 할 필요성에 의한 것이다. 즉 작업지시서 서식을 동일하게 유지하면 83년도에 세운 공장과 85년도에 세운 공장 모두 같은 작업지시서를 가지고 조업지시를 내릴 수 있게 되고, 그 작업지시서의 순차적 묶음이 기계어-어셈블리어 를 거치면서 바로 오늘날의 범용 소프트웨어로 발전해 온 것이다.
[5]
넷버스트 마이크로아키텍처 자체는 2000년 펜티엄4 출시 이후부터 코어2 출시때까지 계속 사용되어온 아키텍처이며, 180nm 공정부터 65nm 공정까지 공정개선을 이뤄가며 사용되었다.
[6]
인텔 공식 발표 자료에 따르면 콘로가 아니라 메롬(Merom)이다.
[7] Process-Architectrue-Optimization. [8] 생산은 2018년이지만 생산량이 매우 적기에 보여주기식에 불과하다. [9] ARMv8-A 명령어 세트 기반 마이크로아키텍처이다.
[7] Process-Architectrue-Optimization. [8] 생산은 2018년이지만 생산량이 매우 적기에 보여주기식에 불과하다. [9] ARMv8-A 명령어 세트 기반 마이크로아키텍처이다.