1 © 2012 MIPS Technologies, Inc. All rights reserved. Выбор опций для интеграции ядер MIPS в систему на кристалле Юрий Панчул Старший инженер 20 октября.

Презентация:



Advertisements
Похожие презентации
Микропроцессоры и микроконтроллеры Управление простыми электро-механическими устройствами и датчиками (MCS51, PIC,AVR) –Минимальные размеры памяти –Примитивная.
Advertisements

Разработка системного коммутатора для микропроцессора «MCST-4R» Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Дипломная.
Электронная энциклопедия. Содержание Архитектура ПК Системы счисления.
Разработка кэша справочника для вычислительного комплекса на базе микропроцессора Эльбрус – 2S Студент : Петров Игорь, ФРТК, 613 группа Научный руководитель:
1 © 2012 MIPS Technologies, Inc. All rights reserved. Ядра MIPS для использования в микроконтроллерах Microchip Юрий Панчул Старший инженер 20 октября.
1 © 2012 MIPS Technologies, Inc. All rights reserved. Обзор современных процессоров MIPS Юрий Панчул Старший инженер 20 октября 2012 года.
1 © 2012 MIPS Technologies, Inc. All rights reserved. Микропроцессоры MIPS в русле развития электронной индустрии Юрий Панчул Старший инженер 20 октября.
Выполнил: Петрыкин Д.А., ФРТК, 613 гр. Научный руководитель: Слесарев М.В. Выпускная квалификационная работа.
Магистрально-модульный принцип построения компьютера Выполнила ученица 10 «Б» класса Панина Мария.
Магистрально-модульный принцип построения компьютера Устройство компьютера.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
1 © 2012 MIPS Technologies, Inc. All rights reserved. Ядра MIPS для использования в микроконтроллерах Microchip Юрий Панчул Старший инженер 20 октября.
RISC-архитектуры ( Reduced Instruction Set Computer)
Что такое компьютер? Перечислите основные устройства компьютера? Каково назначение каждого из них? Что такое компьютерная программа? Что такое данные?
Обзор архитектуры IA32/EM64T Юрий Долгов, Дмитрий Шкурко.
1 Микропроцессорные системы. 2 Основные термины Процессор обработчик и вычислитель, выполняющий все операции над кодами и сигналами; Программа набор управляющих.
Архитетура компьютерных систем. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением Архитектура системы команд.
Это совокупность электронных, электрических и механических устройств, составляющих этническую основу ЭВМ. Внешние устройства Микросхемы Печатная плата.
Автор: учитель информатики Комкова Мария Сергеевна, г.Москва.
Лекция 6. Способы адресации в микропроцессорных системах.
Транксрипт:

1 © 2012 MIPS Technologies, Inc. All rights reserved. Выбор опций для интеграции ядер MIPS в систему на кристалле Юрий Панчул Старший инженер 20 октября 2012 года

2 © 2012 MIPS Technologies, Inc. All rights reserved. MIPS IP похож на набор кубиков Лего Процессорные ядра и другие IP-блоки от MIPS Technologies можно рассматривать как набор строительных блоков для приготовления оптимальной системы на кристалле На уровне многоядерной системы Выбор количества ядер CPU в системе с когерентностью кэшей первого уровня Возможность конфигурации параметров кэша второго уровня Возможность подключения к менеджеру когерентности - внешнее устройства типа DSP или целый интерконнект устройств ввода-вывода На уровне одного ядра Расширение системы команд с помощью CorExtend (User Defined Instructions – UDI) Интеграция с разработанным пользователем сопроцессором – Coprocessor 2 Модифицируемые пользователем блоки ScratchPad RAM для быстрой памяти и ввода-вывода Опции для контроля многопоточности (hardware-supported multi-threading) Inter Thread Communication Unit (ITU) – как на уровне одного ядра, так и в многоядерной системе Policy Manager – контроль приоритетов потоков или тредов (threads) в рамках одного ядра

3 © 2012 MIPS Technologies, Inc. All rights reserved. Многоядерная система с менеджером когерентности Coherent Processing System – MIPS 1004K, 1074K, interAptive, proAptive От 1 до 4 ядер в 1004K и interAptiv, от 1 до 6 ядер в proAptiv Компоненты – ядра CPU, менеджер когерентности, L2 и другие

4 © 2012 MIPS Technologies, Inc. All rights reserved. Концепция snoopy-протоколов на примере MESI У каждого процессорного ядра в системе есть свой кэш первого уровня Эти кэши поддерживаются в непротиворечивом состоянии с помощью варианта MESI протокола Каждая линия кэша первого уровня каждого ядра находится в одном из состояний – Modified, Exclusive, Shared, Invalid Каждое ядро следит за транзакциями, которые выполняют другие ядра и меняет состояние своих линий Менеджер когерентности осуществляет коммуникацию между ядрами и кэшем второго уровня Источник диаграммы - Википедия

5 © 2012 MIPS Technologies, Inc. All rights reserved. Подсоединение внешнего интерконнекта через IOCU Специальный блок IOCU (I/O Coherence Unit) позволяет подсоединять к менеджеру когерентности внешний интерконнект или устройства типа DSP IOCU позволяет внешнему устройству, разработанному пользователем, иметь доступ к данным в L1 кэшах ядер и L2 кэше всей системы Процессорные ядра также могут иметь доступ к данным внешнего устройства через дополнительный порт Кроме этого, и сам дизайн IOCU может модифицироваться пользователем – разработчиком системы на кристалле В системах interAptiv и proAptiv может быть два IOCU

6 © 2012 MIPS Technologies, Inc. All rights reserved. Пример – два CPU, IOCU и внешний интерконнект

7 © 2012 MIPS Technologies, Inc. All rights reserved. Опции интеграции на уровне каждого ядра - interAptiv

8 © 2012 MIPS Technologies, Inc. All rights reserved. Добавление новых команд с помощью CorExtend Другое название CorExtend – UDI - User-Defined Instructions – команды, определяемые пользователем Под «пользователем» имеется в виду разработчик системы на кристалле, который интегрирует в систему ядра MIPS Разработчик реализует эти команды в модуле на Verilog с определенным CorExtend интерфейсом Модуль синтезируется вместе с ядром Выполнение добавленных команд не останавливает главный конвейер процессора Предусмотрен протокол реакции на исключения

9 © 2012 MIPS Technologies, Inc. All rights reserved. Тип команд, которые добавляют с CorExtend Как правило простые команды – для более сложной функциональности есть интерфейс Coprocessor 2 Команда может использовать данные из видимых программисту регистров общего назначения а также командное слово как таковое, например для операндов-констант Команда может записывать результат в регистр общего назначения или изменять внутренние регистры самого блока CorExtend Блок CorExtend может хранить данные между командами Пример использования – манипуляция битов для шифрования

10 © 2012 MIPS Technologies, Inc. All rights reserved. Определяемый пользователем Сопроцессор 2 В архитектуре MIPS есть четыре возможных сопроцессора Сопроцессор 0 – системный Сопроцессор 1 и частично 3 – арифметика с плавающей точкой Сопроцессор 2 – определяется пользователем (разработчиком системы на кристалле) Как и CorExtend, Сопроцессор 2 может быть реализован как блок на Verilog с заданным интерфейсом В самом простом случае сопроцессор может использоваться просто как блок быстрых регистров Гибкий набор команд Команды обмена между регистрами процессора и сопроцессора Загрузка регистров сопроцессора из памяти Ветвление по состоянию определенных пользователем флагов сопроцессора Недостаток по сравнению с CorExtend – нет команд читающих и пишущих регистры CPU в одной команде Пример использования Cop2 в прошлом – видеопроцессор в Sony PlayStation

11 © 2012 MIPS Technologies, Inc. All rights reserved. Модифицируемый блок ScratchPad RAM Перехватывает определенные транзакции ядра к кэшу первого уровня Имеет ту же latency, что и кэш первого уровня Может использоваться как блок быстрой памяти для определенных адресов, но не только В ScratchPad RAM можно встроить любую логику – например для реализации быстрого ввода-вывода большого объема информации (сетевых пакетов или изображения) Существует два отдельных блока – Data ScratchPad RAM (DSPRAM) и Instruction ScratchPad RAM (ISPRAM)

12 © 2012 MIPS Technologies, Inc. All rights reserved. InterThread Communication Unit и Policy Manager Многопоточность реализована в MIPS 34K, 1004K, interAptiv Dispatch Manager каждого ядра выбирает инструкции для нескольких потоков (тредов) Когда один тред ждет, например во время cache miss, другие треды могут продолжать выполнение Модифицируемый блок InterThread Communication Unit Обеспечивает коммуникацию между тредами MIPS Technologies поставляет эталонную реализацию, которая содержит FIFO и семафоры Модифицируемый блок Policy Manager Определяет долговременные приоритеты тредов Помогает Dispatch Manager-у принимать решения, инструкции из какого треда выбирать Эталонные реализации содержат несколько алгоритмов – от простого round-robin до сложного подстраивания приоритетов для оптимального использования вычислительных ресурсов ядра или многоядерной системы

13 © 2012 MIPS Technologies, Inc. All rights reserved. Возможности для инноваторства Сопроцессоры Подсоединение через IOCU специализированных процессоров – например для DSP Ограниченность когерентных систем Некогерентные системы – например для обработки сетевых пакетов или изображений Directory-based cache coherence

14 © 2012 MIPS Technologies, Inc. All rights reserved. At the core of the user experience ® Спасибо! MIPS, MIPS32, MIPS64, MIPS-Based, MIPS-Verified, MIPS Technologies logo are trademarks of MIPS Technologies, Inc. and registered in the U.S. Patent and Trademark Office. MIPS, MIPS32, MIPS64, MIPS-Based, MIPS Logo, MIPS Technologies Logo, Aptiv, microAptiv, interAptiv, proAptiv, CorExtend, Pro Series, microMIPS, M14K, M4K, 4KE, 4KEc, 24K, 24KE, 34K, 74K, 1004K, 1074K, MIPS Navigator, and FS2 are trademarks or registered trademarks of MIPS Technologies, Inc. in the United States and other countries.