LinuxForum.Fans
Тема

Компилятор языка С для микропроцессора КРОЛИК КМ32 прошел тесты ACE

Автор: Fat-Zer 34 сообщений 4141 просмотров
#265157

Широко известный в профессиональных кругах российский разработчик микросхем «Дизайн Центр КМ211» завершил тестирование Си-компилятора для платформы КРОЛИК КМ32 на отсутствие ошибок и соответствие стандарту с использованием «SuperTest compiler test and validation suite» компании ACE. Тесты ACE содержат более 3 миллионов проверок и обеспечивают промышленное тестирование с практически полным покрытием стандарта языка.

Семейство микроконтроллеров КРОЛИК КМ32/16/8 является собственной разработкой компании КМ211 и принадлежит к микроконтроллерам общего назначения для встраиваемых систем. Частота чипа 100 МГц при 90 нм техпроцессе. Контроллер имеет ультранизкое рабочее энергопотребление — менее 34мкВт/МГц. Время реакции на прерывание не более 3 тактов. АЛУ обеспечивает однотактное умножение 8х8/16х16/32х32. Адресуемая память данных и команд до 4Гб.

Любителям Линукс будет полезно узнать, что в январе 2012 года тем же производителем выпущена система на кристалле К5512БФ1Ф с 32-разрядным микропроцессорным ядром КВАРК. Микросхема производится по техпроцессу 180 нм на производственных мощностях ОАО «НИИМЭ и Микрон». Создание микросхемы было выполнено по заказу ФГУП НИИМА «Прогресс». Частота чипа 150 МГц. Эта же микросхема, рассчитанная на выпуск на оборудовании TSMC, имеет технологическую норму 90 нм и способна работать на частоте 400 МГц. Так же существует вариант в ПЛИС исполнении на 60 МГц.

Краткие характеристики микропроцессорного ядра КВАРК:

  • 32-разрядная архитектура собственного дизайна (RISC+гарвард);
  • 32/16-разрядные команды, 32-разрядные операнды;
  • 5-ти стадийный конвейер, статическое предсказание переходов;
  • опционально: MMU и конфигурируемая кэш-память;
  • DSP — расширение набора команд;
  • FPU — опциональный модуль с обычной или двойной точностью;
  • умножитель 16х16 однотактный, опционально 32х32;
  • время реакции на прерывание — 5 тактов;
  • спящий режим с низким энергопотреблением;
  • портированный FreeRTOS, Linux 2.6;
  • Cи-компилятор GNU (GCC версии 3.4.3, 4.6.0), SDK на базе Eclipse;
  • JTAG, отладчик GDB.

В свободном доступе выложены следующие инструментальные средства:

  • binutils-2.15;
  • gcc-4.6.0;
  • gdb-6.3 (включает симулятор);
  • newlib-1.18.0;
  • собранные версии библиотек под slackware-13.37 (+исходники);
  • демоверсия ОС Linux с ядром 2.6.34 (+исходники).

В завершение следует упомянуть, что в линейке разработок компании КМ211 присутствует многоядерный вычислительный блок ГИДРА с возможностью размещения до 32 DSP-ядер на чип, обеспечивающий быстродействие 72GFLOPs.

Источник (лор)
Краткая оф. новость

#265160
"Fat-Zer" написал:
32-разрядная архитектура собственного дизайна (RISC+гарвард);

Интересно, насколько это отличается от архитектуры Power.

#265161

Тактовая частота до 100МГц при изготовлении по 90нм техпроцессу

Размер памяти данных и памяти команд до 4ГБ

А зачем такая мощь для микроконтроллера ?

#265166
"Writer" написал:
Интересно, насколько это отличается от архитектуры Power.

казалось бы, при чём тут вообще power... я бы понял ещё попытку сравнить с arm/mips или с avr'ом на худой конец... но вообще сложно сказать на что это похоже... 32-хбитных гарвардов я на вскидку не вспомню...

"-=Serj=-" написал:
А зачем такая мощь для микроконтроллера ?

4гб - довесок к 32-х битности...
100 мгц.... нум... это скорее целый цп, чем просто микроконтроллер... правда у меня зародилос подозрение, что разработчики и правда малость упоротые...
из отрывочных сведений: основные применение сейчас глонас-девайсы и другая оборонка.

#265167
"Fat-Zer" написал:
казалось бы, при чём тут вообще power

Оба имеют отношение к RISC.

#265349
"-=Serj=-" написал:
А зачем такая мощь для микроконтроллера ?

А чтоб туда быдлокод помещался,
написанный под визги манагеров и, соответственно, с отсутствием даже самых очевидных оптимизаций.
Мол, мы опосля обновлениев понавыпускаем, а сегодня, через полчаса, сдаём-сдаём-сдаём!

А с др.стороны, если взять даже линию по разливу пива,
то там полторы тыщщи (в среднем, плюс-минус лопата) управляющих сервоприводов,
такого-же порядка - количество входных параметров, входы на выходы преобразует весьма нетривиальная арифметика.
В реальном времени. Сколько не дай интеллектуальной мощщи - всё будет сожрано.

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

- начиная с реалистичной оценки качества самописного софта
- реальных потребностей в интеллектуальной мощще даже и в "стиральной машине"
- и кончая запасом прочности на случай всяко-разно внезапного - мало ли там,
гастер на наш замногомиллионов скайнет лом уронит.

Отсюда - и разработки с такими характеристиками.

UPD Синявино - от же ж ишак отвязанный.

#265350
"Chars67" написал:
А с др.стороны, если взять даже линию по разливу пива,
то там полторы тыщщи (в среднем, плюс-минус лопата) управляющих сервоприводов

Так ведь, в любом случае ж, упрётся в кол-во линий ввода/вывода микроконтроллера и одним всё-равно не обойтись ?

#265355

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

Если просто - он в этом месте "трах", тогда я в этом вот месте - "бах",
то справится и хоть релейная, хоть даже и пневмологика (на сжатом воздухе) - ну, по физическому принципу реализации.

#265357

Если уж совсем на пальцах объяснять, то звучит это так:

если А, то Б,

но вот если А и Б, то Ц. Обратно НО - при этом возникает вопрос, надо ли при этом осуществлять реакцию Б?

Не издеваюсь ни разу, просто предлагаю задуматься.

#265359

Не, я в этом деле полный 0, но я всё-же не представляю, какие сверх-вычисления может понадобиться выполнять МК...

#265363
"-=Serj=-" написал:
какие сверх-вычисления может понадобиться выполнять МК...

Да едришкин же затылок!!!
Начнём с самого простого - с тех задач, которые оказались неспособными решить те камушки, которых понакупил себе некий Саддам.
Но эт так, к слову.

"-=Serj=-" написал:
Не, я в этом деле полный 0

Коллизия входа и выхода - это, определённо, перебор. Извините.

Одновременно на входе два сигнала - А, и не-А. Какой должна быть реакция системы.
Hint: на какой из сигналов ей реагировать?

#265367

-=Serj=-!
Вот только без обид, хорошо?!

Курант и Роббинс, Что такое математика - сто лет назад было описано всё арифметическое, чем можно
сделать интересной и насыщенной жизнь микроконтроллера. Дискретке - там посвящены десять страниц (алгебра множеств).

Всё остальное - тоже не помешает.

#265371
"Chars67" написал:
Одновременно на входе два сигнала - А, и не-А. Какой должна быть реакция системы.

Дать пинка разработчику ?
Там же, как я понимаю, может быть только что-то одно - либо логический 0, либо 1 (+5 В).

#265372

Поступление сигналов на входы в тарахтящей системе - вне воли разработчика.

Тут ведь даже аварийное что-нито предусматривать не надо. Элементарно же - 0 & 1 == 0.

Но вот дальше - начинается контекст:
например, 0 - сухо, 1 - вода в отсеке. А контекст(ы) - от системы пожаротушения, и до принудительном затоплении отсека по выравниванию.
Да хоть чОрта в ступе - "Корапь - прёт, а море - тесное!" (С) Л.Соболев

Но вот насчёт того, что должно быть что-то одно на выходе - с вами трудно не согласиться. :)

#265373
"Chars67" написал:
Поступление сигналов на входы в тарахтящей системе - вне воли разработчика.

Я имел ввиду разработчика железа.

"Chars67" написал:
Тут ведь даже аварийное что-нито предусматривать не надо. Элементарно же - 0 & 1 == 0.

Если 0 получен занулением - то да, а если обрывом в цепи ? Тогда 0 & 1 == 1, не ?

#265736

А язык-то зачем было показывать? *DONT_KNOW*

По упоминанию "обрыва в цепи" и без того стало ясно, что вы "водитесь с дурной компанией".
Потому что в приличном обществе принято минима четырежды дублировать каналы управления,
да не в одном жгуте, а распределяя их по конструкции так, что возникновение ситуации "обрыв в цепи"
означает такие повреждения дивайса, что там, среди этих повреждений - и управлять-то уже нечем.
Но эт лирика.

А пора уже к юмору переходить.
Мы с вами совсем забыли про электронные переводчики, как область применения КM-32!!!
(оговорка "по Фрейду" - сначала написал МК-32).

А машинный перевод - это ж такая область для демонстрации проблем работы с взаимосвязными входными параметрами,
что лучше очень трудно придумать. Имхо - просто невозможно придумать.

Ведь смысл отдельного слова в тексте - определяется всем набором соседних слов.
И вот тут начинаются сразу два веселья:

- (веселье раз) либо пользуясь бектрекингом, либо обратным методом, либо ...
... и так вплоть до способов арифметизации логических спецификаций, и прочей "экзотики",
сами ваяем "переводчика",

либо же просто берём гуглотранслейт, или же нечто подобное, и скармливаем ему
осмысленное предложение на родном языке, просим перевести на шведский, результат на шведском - просим перевести на болгарский,
с болгарского - на итальянский, и так - раз десять, а потом уже - обратно на свой родной язык.

Презанятнейшая развлекуха. Вы попробуйте!

- (веселье номер два) Вот были у нас только что для отдельно взятой переменной только два значения - 0 и 1 (соответственно, ложь и истина).
Совершенно замечательная и ценимая знатоками (потому что простая, или там, чОрно-белая) логика.
Так почему бы нам чуть-чуть не "поднять ставки" - давайте начнём исходить теперь из того, что
у отдельной переменной - от 0 до N значений (0 - бред, а величина N - определяется из количества значений слова в словарной статье).

Ну так вот - теперь к нулю и единице мы можем вернуться только в случае фразеологизмов,
когда каждое отдельное слово в предложении - напрочь утрачивает самостоятельное значение,
и только вся этих слов совокупность - имеет такое значение, совершенно однозначное.

Только вот извлекается оно из фразеологического словаря -
который, вопреки словарю обычному, не пытается помочь понять значение отдельно взятого слова в данном предложении,
а сразу сообщает единственное общепринятое толкование всей фразы.
Суть - сначала для тебя пожевали, а потом - уже тебе в рот положили.

Считаю данную ситуацию чрезвычайно забавной. Ну, глядя на некоторых - просто со смеху можно помереть. Ога!

#265737
"Chars67" написал:
А язык-то зачем было показывать?

Ну, эт я для важности

#265740
"-=Serj=-" написал:
Ну, эт я для важности

Сударь!
Вы - фигляр!!!

#265741
"Chars67" написал:
Вы - фигляр!!!

Это тот, который Terathopius ecaudatus ?

"Chars67" написал:
Мы с вами совсем забыли про электронные переводчики, как область применения КM-32!!!

Как я понимаю, тут правильнее использовать микропроцессор, а не микроконтроллер, ведь ценность микроконтроллера в его периферии, а не в вычислительной мощи...

#265744
"-=Serj=-" написал:
ведь ценность микроконтроллера в его периферии, а не в вычислительной мощи...

Чего-то не пойму, вы что, тоже решили пошутить?!

Но ведь проблему безопасности личного авто, например, гораздо лучше решает водопроводный кран, врезанный в выхлопную трубу,
нежели мЫкроконтроллер, предоставляющий 256 кодов для ключа отключения верещщалки.

Вам интересно заниматься такой хренотенью?
Обратно, пожалуйста, без обид, если интересно - дык объясните, почему, может, я просто чего не понимаю?!!

Войдите или зарегистрируйтесь, чтобы ответить.