Самая главная отличительная черта Soft-processor-ов – возможность их проектирования без каких-либо ограничений (кроме физических и ресурсных). Это значит, что мы можем проектировать что угодно, как угодно работающее, единственное ограничение – размер SoC кристалла – что бы его хватило для нашего процессора. В данный момент SoC бурно развиваются, и появляется возможность реализовать всё более и более изощрённые и сложные виды процессоров.
Что нам это даёт. К примеру, мы можем реализовать функцию возведения в 100000000000 степень прямо в схематехнике процессора, и выделить на неё 1 ассемблерную команду. В данном примере вычисление займёт всего лишь 1 такт процессорного времени, что во много раз меньше чем на современных “десктопных” архитектурах. Но с другой стороны эта команда очень специфична и необходима только в конкретных условиях.
Принцип работы App Specific processor:
States memory – память состояний
Состояния – специальные коды, хранящиеся в памяти. Переходы между состояниями определяют Combinational logic – логику обработки данных. Data path Logic – “буфер”, который хранит обрабатываемые данные, текущие состояния и функциональные блоки.
|
|
Память микрокода позволяет модифицировать переходы:
Создание Application Specific processor:
По прохождению всех шагов исходный код на C++ преобразуется в набор asm команд для текущего процессора, а также в структуру процессора
Общая структурная схема готового Soft-processor-а:
Статическая реконфигурация – предварительная конфигурация схематехники процессора.(не в режиме реального времени)