OpenRISC 1200 (OR1200) представляет собой реализацию открытого исходного кода OpenRISC 1000 RISC архитектура [1].
A синтезируемое ядро ЦП, многие годы поддерживались разработчиками на OpenCores.org, althou gh, с 2015 года эта деятельность перешла к Free and Open Source Silicon Foundation на веб-сайте librecores.org. Описание Verilog RTL выпущено под Стандартной общественной лицензией ограниченного применения GNU (LGPL).
IP-ядро OR1200 реализовано в Verilog HDL. Как ядро с открытым исходным кодом, дизайн является полностью общедоступным и может быть загружен и изменен любым лицом. Официальная реализация поддерживается разработчиками на OpenCores.org. Реализация определяет блок управления питанием, блок отладки, тиковый таймер, программируемый контроллер прерываний (PIC), центральный процессор (CPU) и оборудование для управления памятью. Периферийные системы и подсистема памяти могут быть добавлены с использованием реализации процессором стандартизированного 32-битного интерфейса шины Wishbone. OR1200 должен иметь производительность, сопоставимую с архитектурой процессора ARM10.
ЦП OR1200 представляет собой реализацию 32-разрядной архитектуры набора команд ORBIS32 (ISA) и (опционально) ORFP32X ISA с реализацией IEEE -754 совместимость с поддержкой чисел с плавающей запятой одинарной точности. ISA имеет пять форматов команд и поддерживает два режима адресации: регистровая косвенная со смещением и относительная программа-счетчик. Реализация имеет 5-этапный конвейер с одной проблемой и может выполнять один цикл для большинства инструкций. ЦП также содержит блок MAC для лучшей поддержки приложений цифровой обработки сигналов (DSP).
В конструкции OR1200 используется архитектура памяти Гарварда, и поэтому имеются отдельные блоки управления памятью (MMU) для памяти данных и инструкций. Каждый из этих MMU состоит из основанного на хэшировании одностороннего прямого отображения буфера резервного преобразования (TLB) с размером страницы 8 КиБ и размером по умолчанию 64 записи. TLB индивидуально масштабируются от 16 до 256 записей. Также имеется односторонний кэш с прямым отображением как для памяти команд, так и для памяти данных. Каждый кеш имеет размер по умолчанию 8 КиБ, но оба могут индивидуально масштабироваться от 1 до 64 КиБ. MMU включает поддержку виртуальной памяти.
Ядро достигает 1,34 CoreMarks на МГц при 50 МГц по технологии Xilinx FPGA.
В худшем случае тактовая частота для OR1200 составляет 250 МГц при технологическом процессе изготовления 6LM 0,18 мкм. Используя тест Dhrystone, процессор OR1200 с тактовой частотой 250 МГц выполняет 250 Dhrystone миллионов инструкций в секунду (DMIPS) в худшем случае. Расчетное энергопотребление процессора 250 МГц при 0,18 мкм процессе составляет менее 1 Вт при полном газе и менее 5 мВт при половинном давлении.
Как правило, OR1200 предназначен для могут использоваться во множестве встроенных приложений, включая телекоммуникации, портативные носители, домашние развлечения и автомобильные приложения. Набор инструментов GNU (включая GCC ) также был успешно перенесен в архитектуру, хотя и не без ошибок. Существует порт ядра Linux для OR1K, который работает на OR1200. Последние порты встроенных библиотек C newlib и uClibc также доступны для платформы.
OR1200 был успешно реализован с использованием технологий FPGA и ASIC.
Первая публичная запись об архитектуре OpenRISC 1000 относится к 2000 году.