프로세서 설계

Processor design

프로세서 설계는 컴퓨터 하드웨어의 핵심 컴포넌트인 프로세서의 작성을 다루는 컴퓨터 엔지니어링전자공학(제조)의 하위 분야입니다.

설계 프로세스에서는 명령 집합과 특정 실행 패러다임(: VLIW 또는 RISC)을 선택하고 VHDL 또는 Verilog에서 설명할 수 있는 마이크로 아키텍처가 생성됩니다.마이크로프로세서 설계의 경우, 이 기술은 다양한 반도체 디바이스 제조 프로세스의 일부를 사용하여 제조되며, 그 결과 다이가 칩 캐리어에 결합됩니다.이 칩 캐리어는 프린트 회로 기판(PCB)에 납땜되거나 소켓에 삽입됩니다.

프로세서의 동작 모드는 명령 목록을 실행하는 것입니다.일반적으로 명령에는 레지스터를 사용하여 데이터 값을 계산 또는 조작하거나 읽기/쓰기 메모리의 값을 변경하거나 검색하거나 데이터 값 간의 관계 테스트를 수행하고 프로그램 흐름을 제어하는 명령이 포함됩니다.

프로세서 설계는 반도체 [1]제조를 위해 프로세서 설계를 주조 공장에 보내기 전에 1개 또는 여러 FPGA에서 테스트 및 검증되는 경우가 많습니다.

세부 사항

기본

CPU 설계는 다음 컴포넌트의 설계로 나뉩니다.

  1. 데이터 패스(ALU나 파이프라인 등)
  2. 제어 장치: 데이터 경로를 제어하는 논리
  3. 레지스터 파일, 캐시 의 메모리 컴포넌트
  4. 클럭 드라이버, PLL, 클럭 분배 네트워크 등의 클럭 회로
  5. 패드 트랜시버 회로
  6. 로직을 구현하는 데 사용되는 로직 게이트 셀 라이브러리

고성능 시장용으로 설계된 CPU는 주파수, 전력 소산 및 칩 영역 목표를 달성하기 위해 각 항목에 대해 맞춤형(최적화 또는 애플리케이션 고유(아래 참조) 설계가 필요할 수 있습니다. 반면 저성능 시장용으로 설계된 CPU는 이러한 항목을 다음과 같이 구매함으로써 구현 부담을 줄일 수 있습니다.지적 재산권제어 로직 실장 기술(CAD 툴을 사용한 논리 합성)은 데이터 패스, 등록 파일 및 클럭 실장에 사용할 수 있습니다.CPU 설계에 사용되는 공통 로직 스타일에는 비구조화 랜덤 로직, 유한 상태 머신, 마이크로 프로그래밍(1965년부터 1985년까지 공통), 프로그래머블 로직 어레이(1980년대 공통, 더 이상 일반적이지 않음) 등이 있습니다.

구현 로직

로직 구현에 사용되는 디바이스 유형은 다음과 같습니다.

  • CMOS 게이트 어레이 - CPU에 사용되지 않게 되었습니다.

CPU 설계 프로젝트에는 일반적으로 다음과 같은 주요 작업이 있습니다.

CPU 코어를 더 작은 다이 면적으로 재설계하면 모든 것을 축소할 수 있습니다('포토마스크 축소'). 결과적으로 더 작은 다이에도 같은 수의 트랜지스터가 생성됩니다.성능을 향상시키고(작은 트랜지스터 전환 속도를 높임), 전력을 절감하며(작은 와이어는 기생 캐패시턴스가 적음), 비용을 절감합니다(같은 실리콘 웨이퍼에 더 많은 CPU가 장착됨).같은 크기의 다이로 CPU를 출시하면 CPU 코어가 작아지지만 비용은 거의 동일하게 유지되지만 하나의 대규모 통합 칩(추가 캐시, 여러 CPU 또는 기타 컴포넌트) 내에서 보다 높은 수준의 통합이 가능하므로 성능이 향상되고 시스템 비용이 절감됩니다.

대부분의 복잡한 전자 설계와 마찬가지로 (설계에 버그가 없음을 증명하는) 논리 검증 작업이 CPU의 프로젝트 일정을 지배하고 있습니다.

CPU 아키텍처의 주요 혁신 기술에는 인덱스 레지스터, 캐시, 가상 메모리, 명령 파이프라인, 슈퍼스칼라, CISC, RISC, 가상 머신, 에뮬레이터, 마이크로 프로그램 및 스택포함됩니다.

마이크로아키텍처 개념

리서치 토픽

재구성 가능한 논리, 클럭리스 CPU, 계산 RAM, 광학 컴퓨팅 등 다양한 새로운 CPU 설계 아이디어가 제안되고 있습니다.

퍼포먼스 분석 및 벤치마크

벤치마킹은 CPU 속도를 테스트하는 방법입니다.예를 들어 Standard Performance Evaluation Corporation이 개발한SPECint SPECfp, Embedded Microprocessor Benchmark Consortium EEMBC가 개발한 Consumer Mark 등이 있습니다.

일반적으로 사용되는 메트릭은 다음과 같습니다.

  • 초당 명령 - 대부분의 사용자는 기존의 대규모 사전 컴파일 소프트웨어를 실행할 수 있도록 컴퓨터 아키텍처(일반적으로 인텔 IA32 아키텍처)를 선택합니다.컴퓨터 벤치마크에 대해 비교적 잘 모르기 때문에, 동작 주파수에 근거해 특정의 CPU를 선택하는 기업도 있습니다(메가헤르츠 신화 참조).
  • FLOPS - 초당 부동소수점 연산 수는 과학적 계산을 위해 컴퓨터를 선택할 때 종종 중요합니다.
  • 와트 성능 - 구글과 같은 병렬 컴퓨터를 구축하는 시스템 설계자는 CPU의 전력 공급 비용이 CPU [2][3]자체의 비용보다 크기 때문에 와트당 속도를 기준으로 CPU를 선택합니다.
  • 병렬 컴퓨터를 구축하는 시스템 설계자 중에는 1달러당 속도를 기준으로 CPU를 선택하는 사람도 있습니다.
  • 실시간 컴퓨팅 시스템을 구축하는 시스템 설계자는 최악의 경우 대응이 보장되기를 원합니다.이는 CPU의 인터럽트 지연이 낮고 결정론적 응답이 있을 때 더 쉽게 수행할 수 있습니다(DSP).
  • 어셈블리 언어로 직접 프로그래밍하는 컴퓨터 프로그래머는 CPU가 모든 기능을 갖춘 명령 집합을 지원하기를 원합니다.
  • 저전력 - 전력 공급원이 제한된 시스템(태양광, 배터리, 인적 전력 등)에 적합합니다.
  • 소형 또는 저중량 - 휴대용 임베디드 시스템, 우주선용 시스템.
  • 환경에 대한 영향 - 제조 및 재활용 시 및 사용 중 컴퓨터의 환경 영향을 최소화합니다.폐기물을 줄이고 유해 물질을 줄입니다.(그린 컴퓨팅 참조).

이러한 메트릭의 최적화에 트레이드오프가 있을 수 있습니다.특히 CPU를 고속으로 동작시키는 많은 설계 기술에 의해, 「와트당 퍼포먼스」, 「달러당 퍼포먼스」, 및 「결정적 응답」이 큰폭으로 악화됩니다.그 반대도 마찬가지입니다.

시장

CPU가 사용되는 시장은 여러 가지가 있습니다.이들 시장은 각각 CPU에 대한 요구 사항이 다르기 때문에 한 시장용으로 설계된 디바이스는 대부분의 경우 다른 시장용으로 적합하지 않습니다.

범용 컴퓨팅

CPU 판매로 발생하는 수익의 대부분은 일반목적 컴퓨팅[citation needed], 즉 비즈니스 및 가정에서 일반적으로 사용되는 데스크톱, 노트북 및 서버 컴퓨터에 사용됩니다.이 시장에서는 인텔 IA-32 및 64비트판 x86-64 아키텍처가 시장을 지배하고 있으며 경쟁 제품인 PowerPC와 SPARC는 훨씬 적은 고객층을 유지하고 있습니다.매년 수억 개의 IA-32 아키텍처 CPU가 이 시장에서 사용되고 있습니다.이러한 프로세서의 비율은 [4]넷북이나 노트북 등의 모바일 구현용입니다.

이러한 디바이스는 무수한 종류의 프로그램을 실행하기 위해 사용되기 때문에 이러한 CPU 설계는 특정 유형의 애플리케이션이나 기능을 대상으로 하는 것은 아닙니다.다양한 프로그램을 효율적으로 실행할 수 있어야 한다는 요구로 인해 이러한 CPU 설계는 상대적으로 비용이 많이 들고 전력 소비량이 높다는 단점과 함께 기술적으로도 더욱 발전했습니다.

하이엔드 프로세서의 경제성

1984년에는 대부분의 고성능 CPU를 [5]개발하는 데 4-5년이 걸렸습니다.

과학 컴퓨팅

과학 컴퓨팅은 훨씬 작은 틈새 시장입니다(수입과 출하 단위).그것은 정부 연구소와 대학에서 사용된다.1990년 이전에는 CPU 설계가 이 시장에서 이루어졌지만 대규모 클러스터로 구성된 대량 시장 CPU가 더 저렴하다는 것이 입증되었습니다.과학적 컴퓨팅을 위한 능동적인 하드웨어 설계와 연구의 주요 남은 영역은 대량 시장의 CPU를 연결하는 고속 데이터 전송 시스템입니다.

임베디드 설계

출하된 유닛으로 측정하면 대부분의 CPU는 전화, 시계, 어플라이언스, 차량, 인프라스트럭처 등 다른 기기에 내장되어 있습니다.그러나 임베디드 프로세서는 연간 수십억 개의 유닛이 판매되고 있으며, 대부분 범용 프로세서보다 훨씬 저렴한 가격에 판매되고 있습니다.

이러한 단기능 디바이스는 보다 친숙한 범용 CPU와는 몇 가지 점에서 다릅니다.

  • 저비용은 매우 중요하다.
  • 임베디드 디바이스의 배터리 지속 시간이 한정되어 있어 냉각 팬을 탑재하는 것이 비현실적인 경우가 많기 때문에 전력 소모를 억제하는 것이 중요합니다.
  • 시스템 코스트를 낮추기 위해서, 주변기기는 같은 실리콘 칩상의 프로세서에 내장되어 있습니다.
  • 주변기기를 온칩으로 유지하면 일반적으로 외부 GPIO 포트는 칩 외부의 강력한 신호를 유지하기 위해 필요한 비교적 높은 전류 부하를 소스 또는 싱크할 수 있도록 버퍼링이 필요하기 때문에 소비전력을 줄일 수 있습니다.
    • 대부분의 임베디드 기기에는 회로용 물리 공간이 한정되어 있습니다.주변기기를 온칩으로 유지하면 회로 기판에 필요한 공간이 줄어듭니다.
    • 프로그램과 데이터 메모리는 같은 칩에 통합되어 있는 경우가 많습니다.프로그램 메모리가 ROM 밖에 없는 경우, 디바이스는 마이크로 컨트롤러라고 불립니다.
  • 많은 임베디드 어플리케이션에서는 인터럽트 레이텐시가 일부 범용 프로세서보다 중요합니다.

임베디드 프로세서의 경제성

출하대수가 가장 많은 임베디드 CPU 패밀리는 8051[6]연평균 10억대 가까이 됩니다.8051은 매우 저렴하기 때문에 널리 사용되고 있다.상업적인 지적 재산으로서 널리 이용 가능하기 때문에, 설계 시간은 거의 제로입니다.현재는 큰 시스템의 작은 부분으로 칩에 내장되어 있는 경우가 많습니다.8051의 실리콘 비용은 현재 US$0.001로 낮아졌습니다.실현에 따라서는 불과 2,200의 논리 게이트를 사용하고 0.4730 평방 밀리미터의 [7][8]실리콘을 사용하기 때문입니다.

2009년 현재 ARM 아키텍처 명령 세트를 사용하여 생산되는 CPU는 다른 32비트 명령 [9][10]세트보다 많습니다.ARM 아키텍처와 최초의 ARM 칩은 약 1년 반과 5년의 작업 [11]시간 내에 설계되었습니다.

32비트 Parallax Profler 마이크로컨트롤러 아키텍처와 첫 번째 칩은 두 사람이 약 10년의 작업 시간 [12]동안 설계했습니다.

8비트 AVR 아키텍처와 최초의 AVR 마이크로 컨트롤러는 노르웨이 공과대학의 두 학생이 고안하고 설계했습니다.

8비트 6502 아키텍처와 최초의 MOS 테크놀로지 6502 칩은 [13]약 9명으로 구성된 그룹이 13개월 만에 설계했습니다.

조사 및 교육용 CPU 설계

32비트 Berkeley RISC I 및 RISC II 프로세서는 대학원 과정의 [14]4분기 시퀀스의 일부로서 대부분 일련의 학생들에 의해 설계되었습니다.이 설계는 상용 SPARC 프로세서 설계의 기반이 되었습니다.

약 10년 동안 MIT에서 6.004 수업을 듣는 모든 학생은 한 팀의 일원이었습니다. 각 팀은 7400 시리즈 집적회로에서 단순한 8비트 CPU를 설계하고 구축하는 데 한 학기가 걸렸습니다.4명의 학생으로 구성된 한 팀이 그 [15]학기 동안 심플한 32비트 CPU를 설계하고 구축했습니다.

일부 학부 과정에서는 15주간의 단일 [16]학기에 FPGA에서 심플한 CPU를 설계, 구현 및 테스트하기 위해 2~5명의 학생 팀이 필요합니다.

MultiTitan CPU는 2.5년의 노력으로 설계되었으며,[17] 당시에는 "설계 작업"이 비교적 적은 것으로 간주되었습니다.시제품 [18]CPU의 설계와 구축을 포함한 3.5년간의 MultiTitan 연구 프로젝트에 24명이 기여했습니다.

소프트 마이크로프로세서 코어

임베디드 시스템의 경우 전력 소비 요건으로 인해 최고 수준의 퍼포먼스가 불필요하거나 바람직하지 않은 경우가 많습니다.이것에 의해, 논리 합성 기술에 의해서 완전하게 실장할 수 있는 프로세서의 사용이 가능하게 됩니다.이러한 합성 프로세서는 훨씬 짧은 시간에 구현될 수 있어 출시 기간을 단축할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Cutress, Ian (August 27, 2019). "Xilinx Announces World Largest FPGA: Virtex Ultrascale+ VU19P with 9m Cells". AnandTech.
  2. ^ "EEMBC ConsumerMark". Archived from the original on March 27, 2005.
  3. ^ Stephen Shankland (December 9, 2005). "Power could cost more than servers, Google warns". ZDNet.
  4. ^ 커, 저스틴AMD는 모바일 CPU 판매량에서 처음으로 데스크톱 PC를 앞질렀기 때문에 시장 점유율을 잃었습니다.2010년 10월 26일 발행.
  5. ^ Tandem Computers Inc.의 Robert Horst와 Sandra Metz는 1984년 4월 19일 "Electronics" 잡지의 "새로운 시스템은 초당 수백 개의 트랜잭션을 관리합니다." 기사: "대부분의 고성능 CPU는 개발하는데 4년에서 5년이 소요되지만 논스톱 TXP 프로세서는 작성된 사양서를 개발하는 데 2년 반밖에 걸리지 않았습니다.ar는 작업용 프로토타입을 제작하고, 대량 생산에 도달하는 데 1년이 더 걸립니다."
  6. ^ Curtis A. Nelson. "8051 Overview" (PDF). Archived from the original (PDF) on 2011-10-09. Retrieved 2011-07-10.
  7. ^ "T8051 Tiny 8051-compatible Microcontroller" (PDF). Archived from the original (PDF) on 2011-09-29.
  8. ^ 평방 밀리미터당 비용을 계산하려면 [1]을 참조하십시오. SOC 구성요소는 핀 또는 포장 비용이 들지 않습니다.
  9. ^ Mark Hachman, 2002년 "ARM Cores Climing Into 3G Territory"
  10. ^ Jim Turley 2002의 "2퍼센트 솔루션"
  11. ^ 1998년 'ARM's Way'
  12. ^ Chip Gracey의 "프로펠러가 작동하는 이유"
  13. ^ "Interview with William Mensch". Archived from the original on 2016-03-04. Retrieved 2009-02-01.
  14. ^ C.H. Séquin; D.A. Patterson. "Design and Implementation of RISC I" (PDF).
  15. ^ "the VHS". Archived from the original on 2010-02-27.
  16. ^ Jan Gray. "Teaching Computer Design with FPGAs".
  17. ^ Jouppi, N.P.; Tang, J.Y.-F. (October 1989). "A 20-MIPS sustained 32-bit CMOS microprocessor with high ratio of sustained to peak performance". IEEE Journal of Solid-State Circuits. 24 (5): 1348–1359. Bibcode:1989IJSSC..24.1348J. doi:10.1109/JSSC.1989.572612.
  18. ^ "MultiTitan: Four Architecture Papers" (PDF). 1988. pp. 4–5.

일반 참고 자료