Текущий статус проекта
На скриншоте показан момент отладки нового конвейеризированного процессорного ядра системы команд «Эверест».
Моделирование производится программой ModelSim Starter Edition. Показанные волны соответствуют исполнению следующего участка кода:
Этот код является типичным и используется, например, при инициализации списков. Если бы у процессора был компилятор, то вышеприведённый дамп мог бы соответсвовать следующему коду на языке Си:
do { struct list_item * next_free = item + 1; item->next_free = next_free; item = next_free; } while( --counter );
Изюминкой новой реализации является «бесплатная» запись во внутреннюю память процессора. Бесплатная в смысле без прерывания конвейера. Конечно, нашемму ядру далеко до изделий мэтров индустрии, но то, что волны из первого скриншота демонстрируют одну инструкцию за такт — это факт.
Приблизительно оценить масштаб проделанной работы вам поможет волна Counter, показывающая количство синхроимпульсов с момента старта. И горизонтальная линейка прокрутки на том же скриншоте.
Оценка количества логических элементов не производилась, но предварительная оценка показывает что устройство поместится в плату Марсоход-2.
Оставить комментарий