Архитектура процессоров. Что нас ждет до 2020 года?


Многие сегодня не подозревают, куда идет развитие технологий, и что будет через несколько десятилетий. Те, кто совершенствуют существующие устройства и создают новые, просто делают свое дело, не всегда задумываясь о том, в правильном ли направлении они идут. Какой будет электроника в 2020 году? Вот несколько мнений инженеров, которым был задан вопрос о будущем электроники.

Alan Gatherer (Даллас, Texas Insruments):
Возможно, микроэлектроника будет развиваться следующим образом:
2009 – многопроцессорные системы. Преобладание СнК над однопроцессорными системами.
2012 – Появление NoC – network on chip («сеть на кристалле»). Это высокопроизводительные устройства, представляющие собой группы процессоров, обмен между которыми осуществляется по пакетным протоколам. Используются связи «точка-точка» и асинхронный способ передачи.
2010–2015 – Блочное программирование (Component-based software). Число ядер в системе невелико, а блоки ПО разрабатываются индивидуально для каждой вычислительной ячейки специальной группой разработчиков компонентов и затем собираются вместе в одну многоядерную систему. Инструменты для написания ПО постоянно совершенствуются, а межблочные коды-связки генерируются автоматически.
2015–2020 – Единый код для многоядерной системы. Блочное программирование теряет актуальность, поскольку число ядер возрастает до 32. По примеру организации систем с большим объемом вычислений разрабатывается новый принцип – SPMD (одна программа – много данных). Параллельные алгоритмы реализуются с помощью прагм (способ передачи управляющей информации компилятору. Например, это может быть директива препроцессора, указывающая компилятору, как следует трактовать конкретный оператор программы).
2015 – отказ от FPGA. Небольшие многоядерные системы потребляют меньше энергии и имеют более широкий арсенал возможностей для выполнения сложных алгоритмов, чем АЛУ и таблицы преобразования в FPGA.
2020 – исчезновение ЦПУ. В многоядерных системах на каждый процессор приходится немного кремния, а эффективность взаимодействия между ними поддерживается аппаратными ОС. В целом, спектр электронных устройств в 2020 г. вряд  ли будет намного шире, чем в 2009 г.  

Gene Frantz (Вашингтон, Texas Insruments):
Системы станут многопроцессорными, а доступ ко всем ресурсам МП будет осуществляться за один такт. Обрабатывающие элементы будут структурированы в матрицу по примеру FPGA. Будет задействовано третье измерение, т.е. схемы станут объемными. Уже сейчас ведутся исследования в этом направлении, и появляются многослойные кристаллы (SiP – system in package). Программирование будет вестись только на языках высшего уровня. ИС будут разрабатываться небольшими группами инженеров (5–10 человек) и сравнительно быстро (6–12 месяцев). Многие блоки для новых схем будут заимствованы из старых. Прогресс в большей степени коснется программирования, а не аппаратной реализации.

Shiraz KALEEL (разработчик, Индия):  
Если проследить историю электроники с середины прошлого века, то можно отметить следующее:
1. Схемы становятся проще и зачастую строятся на повторяющихся звеньях.
2. Для передачи информации предпочтение отдается связям «точка-точка», нежели шине.
3. Все больше используется асинхронный метод передачи, чем синхронный.
4. От централизованных систем наблюдается переход к распределенным или матричным.
Все это – наследие фон-Неймановской архитектуры, которая в настоящее время преобладает в электронике. Однако все изменилось бы, если бы мы отказались от нее – стало бы меньше ошибок в схемах, да и сами устройства стали бы проще и дешевле. Действительно, передачу данных зачастую проще организовать параллельно, а приходится реализовывать последовательно. Это усложняет и саму схему, и процесс ее проектирования и программирования. Для существенного прогресса необходимо отказаться и от процессоров, и от пресловутых алгоритмов предсказания, буферов быстрого преобразования адреса, конвейерных обработок и т.д., поскольку чем хитрее схема, тем сложнее исправить в ней ошибку. Возможно, будущее за логическими схемами, основанными на тройной алгебре.

Игорь Шагурин (д.т.н., проф., руководитель лаборатории микропроцессорных систем кафедры микро- и наноэлектроники, МИФИ):
Системы, несомненно, станут мультипроцессорными! Для их реализации будет разработан новый класс процессорных ядер – «матричные» процессоры. Это будут простые  RISC-процессоры с минимальным набором команд (30–40), с небольшим конвейером (3–5 ступеней), с последовательным выполнением команд без предсказания ветвлений,  имеющие 2–3 исполнительных блока. Что-то похожее на ARM, но еще проще и меньше. Отдельные процессоры для целочисленных операций, отдельные – для обработки чисел с плавающей точкой (FPU). Групповые операции типа SIMD реализуются параллельным включением ядер (обеспечивается на стадии компиляции). При технологии 22 нм такое ядро будет занимать менее 0,1 мм2. На кристалле возможно размещение матрицы, содержащей тысячи таких процессоров.
Проблема не в том, чтобы создать на кристалле тысячи процессоров – проблема как их эффективно использовать. Развитие мультипроцессорных СнК потребует создания необходимого ПО, обеспечивающего эффективное использование большого числа процессорных ядер, и соответствующих средств программирования. Разработка эффективного ПО для этих систем станет основной задачей проектировщика. Соотношение трудоемкости создания аппаратных и программных средств при реализации проектов на базе таких СнК составит 20% к 80% или даже 10% к 90%. Реальное число размещаемых на кристалле процессоров будет зависеть от развития эффективных алгоритмов параллельного решения прикладных задач. От этого зависит, будут ли системы в 2020 г. иметь 32 процессора или 3200 процессоров.
Другая проблема развития мультипроцессорных систем – межсоединения. Отказ от шинной архитектуры требует развития эффективной коммуникационной среды для связи процессорных ядер по принципу «точка-точка» с простыми протоколами асинхронного обмена. Уровень развития коммуникационной среды будет определять степень эффективной интеграции процессоров на кристалле. Частично проблему обеспечения внутрисистемных коммуникаций к 2020 г. помогут решить переход к объемной (многослойной) реализации систем и внедрение оптических каналов связи. 
К 2020 г. можно также  ожидать применения СнК, содержащих 64–256 процессорных ядер.
Изменится структура  FPGA – вместо логических блоков (LUT и триггеров) они будут содержать матрицу процессорных блоков  и блоков памяти. Число процессорных блоков на кристалле таких FPPA (Field Programmable Processor Array) будет составлять от нескольких десятков до нескольких сотен. Такие FPPA станут основной элементной базой для реализации систем малой и средней серийности.
Реализация мультипроцессорных СнК в виде ASIC останется уделом высокобюджетных проектов, предполагающих дальнейший массовый выпуск изделий или достижение сверхвысоких технических характеристик. При этом возможна реанимация выпуска базовых матричных кристаллов (БМК), но содержащих не матрицу логических элементов, а матрицу процессорных блоков и блоков памяти, соединяемых заказной системой межсоединений. Затраты на организацию серийного выпуска мультипроцессорных СнК на базе таких БМК будут в несколько раз ниже, чем выпуск ASIC, что позволит сократить время и стоимость реализации проекта. 
Изменятся функции проектировщика мультипроцессорных СнК. К 2020 г. САПР полностью возьмут на себя реализацию нижних этапов разработки проекта – логическое  и топологическое проектирование, верификацию проектных решений. Это позволит сократить сроки разработки проектов. Основными задачами разработчика останутся алгоритмическое и архитектурное проектирование, создание необходимого программного обеспечения.

Павел Осипенко (к.т.н., зав. отделом, НИИСИ РАН):
Распространение парадигмы «облачных вычислений» (cloud  computing) в которой инфраструктура сети Интернета (либо другой системы, которая прейдет на смену Интернету) возьмет на себя хранение и обработку данных пользователя. Вычислительные ресурсы будут сконцентрированы в специальных центрах обработки и хранения данных. В этой парадигме пользователю требуется только устройство отображения и ввода информации и скоростной, преимущественно беспроводной, канал к сети.

Архитектура микропроцессоров будет стремиться к наиболее совершенной системе в природе – человеческому мозгу. Вычислительная система будет представлять собой систему из множества относительно простых «нейронов», соединенных между собой скоростными каналами связи. Совершено не важно, сколько ядер (нейронов) будет расположено на одном кристалле, сколько на модуле, а сколько на другом континенте.
Фантазии архитекторов и разработчиков микропроцессоров будет направлены  на разработку набора «нейронов», оптимизированных для решения определенного класса  задач. Объектом  передачи по сети станут особые информационные структуры: данные + программный код их обработки. Такие структуры будут бродить по сети в поисках наиболее подходящих ресурсов (нейронов) для выполнения.  

А что думаете вы о будущем процессорных систем?

2 комментариев
  1. Максим Пискарев
    Максим Пискарев
    14.01.2010 в 06:40

    2015–2020 – Единый код для многоядерной системы… Параллельные алгоритмы реализуются с помощью прагм…
    Точь в точь как в компиляторе Интерстрона для отечественных процессоров «Мультикор» 🙂

    Ответить
  2. Леонид Чанов
    Леонид Чанов
    15.01.2010 в 08:31

    Энергосбережение станет главным фактором. Многоядерные структуры, состоящие из малопотребляющих простых RISC-ядер. В зависисмости от сложности задач, будет меняться число работающих ядер. Незадействованые процессорные элементы переводятся в режим пониженного энергопотребения. Сегодня уже ясно, что возможно реализовать многоядерные СНК. Наверное, в ближайше время начнется бум по разработке эффективного ПО для многоядерных систем, с числом ядер 8 и более.

    Ответить
Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *