Проектирование процессоров — это раздел информатики и компьютерной инженерии (производства), занимающийся созданием процессора , ключевого компонента компьютерного оборудования .
Процесс проектирования включает в себя выбор набора команд и определенной парадигмы выполнения (например, VLIW или RISC ) и приводит к созданию микроархитектуры , которая может быть описана, например, в VHDL или Verilog . Для проектирования микропроцессора это описание затем изготавливается с использованием некоторых из различных процессов изготовления полупроводниковых устройств , в результате чего получается кристалл , который прикрепляется к подложке кристалла . Этот носитель микросхем затем припаивается или вставляется в гнездо на печатной плате (PCB).
Режим работы любого процессора — выполнение списков инструкций. Инструкции обычно включают в себя инструкции для вычисления или манипулирования значениями данных с использованием регистров , изменения или извлечения значений в памяти чтения/записи, выполнения реляционных тестов между значениями данных и управления потоком программы.
Проекты процессоров часто тестируются и проверяются на одной или нескольких ПЛИС перед отправкой конструкции процессора на литейный завод для изготовления полупроводников . [1]
Конструкция процессора разделена на несколько компонентов. Информация передается через пути данных (такие как ALU и конвейеры ). Эти каналы данных управляются логическими блоками управления . Компоненты памяти включают файлы регистров и кэши для хранения информации или определенных действий. Схема тактирования поддерживает внутренние ритмы и синхронизацию через драйверы тактовых импульсов, системы ФАПЧ и сети распределения тактовых импульсов . Схема приемопередатчика Pad позволяет принимать и отправлять сигналы, а также библиотеку логических элементов , которая используется для реализации логики.
ЦП, разработанные для высокопроизводительных рынков, могут потребовать специальной (оптимизированной или специфичной для приложения (см. ниже)) конструкции для каждого из этих элементов для достижения целей по частоте, рассеиваемой мощности и площади кристалла, тогда как ЦП, разработанные для рынков с более низкой производительностью, могут уменьшить реализацию. бремя, приобретая некоторые из этих предметов, приобретая их как интеллектуальную собственность . Методы реализации логики управления ( синтез логики с использованием инструментов САПР) могут использоваться для реализации путей данных, файлов регистров и часов. Общие стили логики, используемые при проектировании ЦП, включают неструктурированную случайную логику, конечные автоматы , микропрограммирование (распространено с 1965 по 1985 год) и программируемые логические массивы (распространено в 1980-х годах, больше не распространено).
Типы устройств, используемые для реализации логики, включают:
Проект проектирования ЦП обычно решает следующие основные задачи:
Перепроектирование ядра ЦП с уменьшением площади кристалла помогает все уменьшить (« уменьшение фотомаски »), в результате чего на кристалле меньшего размера получается такое же количество транзисторов. Это повышает производительность (транзисторы меньшего размера переключаются быстрее), снижает энергопотребление (провода меньшего размера имеют меньшую паразитную емкость ) и снижает стоимость (на одной кремниевой пластине помещается больше процессоров). Выпуск ЦП на кристалле того же размера, но с меньшим ядром ЦП, сохраняет стоимость примерно той же, но обеспечивает более высокий уровень интеграции в рамках одного очень крупномасштабного интеграционного чипа (дополнительный кэш, несколько ЦП или другие компоненты), улучшая производительность. и снижение общей стоимости системы.
Как и в случае с большинством сложных электронных проектов, усилия по проверке логики (доказывающие, что в проекте нет ошибок) теперь доминируют в графике проекта ЦП.
Ключевые новшества в архитектуре ЦП включают индексный регистр , кэш , виртуальную память , конвейерную обработку инструкций , суперскаляр , CISC , RISC , виртуальную машину , эмуляторы , микропрограммы и стек .
Было предложено множество новых идей проектирования ЦП , включая реконфигурируемую логику , безтактовые ЦП , вычислительную оперативную память и оптические вычисления .
Бенчмаркинг — это способ тестирования скорости процессора. Примеры включают SPECint и SPECfp , разработанные Standard Performance Evaluation Corporation , и ConsumerMark, разработанные Консорциумом по тестированию встроенных микропроцессоров EEMBC .
Некоторые из часто используемых показателей включают в себя:
При оптимизации некоторых из этих показателей могут возникнуть компромиссы. В частности, многие методы проектирования, которые заставляют процессор работать быстрее, значительно ухудшают «производительность на ватт», «производительность на доллар» и «детерминированный отклик», и наоборот.
Существует несколько различных рынков, на которых используются процессоры. Поскольку требования к процессорам на каждом из этих рынков различаются, устройства, предназначенные для одного рынка, в большинстве случаев не подходят для других рынков.
По состоянию на 2010 год [обновлять]на рынке компьютеров общего назначения, то есть настольных компьютеров, ноутбуков и серверных компьютеров, обычно используемых в бизнесе и дома, доминируют процессоры Intel IA-32 и 64-битная версия архитектуры x86-64 с ее конкуренты PowerPC и SPARC имеют гораздо меньшую клиентскую базу. Ежегодно на этом рынке используются сотни миллионов процессоров архитектуры IA-32. Растущий процент этих процессоров предназначен для мобильных устройств, таких как нетбуки и ноутбуки. [4]
Поскольку эти устройства используются для запуска бесчисленного количества различных типов программ, эти конструкции ЦП не предназначены специально для одного типа приложений или одной функции. Требования к возможности эффективного запуска широкого спектра программ сделали эти конструкции ЦП одними из наиболее продвинутых с технической точки зрения, наряду с некоторыми недостатками, такими как относительно высокая стоимость и высокое энергопотребление.
В 1984 году на разработку большинства высокопроизводительных процессоров уходило от четырех до пяти лет. [5]
Научные вычисления представляют собой гораздо меньшую нишу рынка (по доходам и поставляемым единицам). Он используется в государственных исследовательских лабораториях и университетах. До 1990 года проектирование ЦП часто разрабатывалось для этого рынка, но ЦП для массового рынка, организованные в большие кластеры, оказались более доступными. Основная оставшаяся область активного проектирования и исследования аппаратного обеспечения для научных вычислений — это высокоскоростные системы передачи данных для подключения процессоров массового рынка.
Если судить по поставляемым единицам, большинство процессоров встроено в другое оборудование, такое как телефоны, часы, бытовая техника, транспортные средства и инфраструктура. Встраиваемые процессоры продаются в количестве многих миллиардов единиц в год, однако, в основном по гораздо более низким ценам, чем процессоры общего назначения.
Эти однофункциональные устройства отличаются от более привычных процессоров общего назначения по нескольким причинам:
Семейство встраиваемых процессоров с наибольшим количеством проданных единиц — это 8051 , в среднем около миллиарда единиц в год. [6] Модель 8051 широко используется, поскольку она очень недорогая. Время разработки сейчас примерно равно нулю, поскольку оно широко доступно как коммерческая интеллектуальная собственность. Сейчас он часто встроен в микросхему как небольшая часть более крупной системы. Стоимость кремния 8051 теперь составляет всего 0,001 доллара США, поскольку в некоторых реализациях используется всего 2200 логических элементов и требуется 0,4730 квадратных миллиметров кремния. [7] [8]
По состоянию на 2009 год с использованием наборов инструкций семейства архитектуры ARM производится больше процессоров, чем с любым другим 32-битным набором команд. [9] [10] Архитектура ARM и первый чип ARM были разработаны примерно за полтора года и 5 человеческих лет рабочего времени. [11]
32-битная архитектура микроконтроллера Parallax Propeller и первый чип были разработаны двумя людьми примерно за 10 человеческих лет рабочего времени. [12]
8-битная архитектура AVR и первый микроконтроллер AVR были задуманы и разработаны двумя студентами Норвежского технологического института.
8-битная архитектура 6502 и первый чип MOS Technology 6502 были разработаны за 13 месяцев группой из примерно 9 человек. [13]
32-битные процессоры Berkeley RISC I и RISC II в основном были разработаны группой студентов в рамках четырехчетвертной программы последипломного обучения. [14] Эта конструкция легла в основу конструкции коммерческого процессора SPARC .
В течение примерно десяти лет каждый студент курса 6.004 в Массачусетском технологическом институте был частью команды — у каждой команды был один семестр на проектирование и создание простого 8-битного процессора на основе интегральных схем серии 7400 . В течение этого семестра одна команда из четырех студентов спроектировала и построила простой 32-битный процессор. [15]
Некоторые курсы бакалавриата требуют, чтобы команда из 2–5 студентов спроектировала, внедрила и протестировала простой ЦП в FPGA в течение одного 15-недельного семестра. [16]
Процессор MultiTitan был разработан с трудом в 2,5 человеко-года, что в то время считалось «относительно небольшим трудозатратами на проектирование». [17] 24 человека участвовали в 3,5-летнем исследовательском проекте MultiTitan, который включал проектирование и создание прототипа процессора. [18]
Для встроенных систем высочайший уровень производительности часто не нужен или нежелателен из-за требований к энергопотреблению. Это позволяет использовать процессоры, которые могут быть полностью реализованы с помощью методов логического синтеза . Эти синтезированные процессоры могут быть внедрены в гораздо более короткие сроки, что сокращает время выхода на рынок .