Микропроцессор — один из ключевых элементов вычислительных систем. Он в значительной степени определяет, с какой скоростью компьютер будет решать те или иные задачи. Микропроцессор выполняет арифметические и логические действия, контролирует общее состояние электронных систем не только в компьютерах и смартфонах, но и в автомобилях и бытовой технике.
В настоящее время существуют два типа архитектур микропроцессоров. Именно архитектура определяет их возможности с точки зрения программиста — обработку данных и инструкций, хранящихся в памяти, занесение их во внутренние регистры и выполнение определенных операций, рассказали ученые Нижегородского государственного университета им. Н. И. Лобачевского (ННГУ, Университет Лобачевского).
Так называемый CISC-тип микропроцессоров способен обрабатывать сложные команды из набора микроопераций, которые можно многократно повторять. Такой принцип делает код более компактным, но увеличивает время выполнения команд. RISC-тип же, наоборот, способен быстро выполнять каскад примитивных операций, однако код для таких микропроцессоров занимает большее количество памяти.
Архитектура микропроцессора RISC-V, с которой работают специалисты ННГУ, является открытой и бесплатной. Процессоры на основе этой архитектуры проектируются в США, в Европе, в Китае и в России. На рынке уже сейчас доступны выпускаемые серийно процессоры, пригодные для научных исследований и практического использования.
Специалисты Университета Лобачевского предложили способ рационального использования ресурсов микропроцессоров RISC-V, который позволяет ускорить выполнение некоторых алгоритмов библиотеки OpenCV — основы «компьютерного зрения» для робототехники, медицины, мобильных фотографий и разработки автопилотов.
«Мы нашли способ рационально использовать ресурсы векторных вычислений и ускорить некоторые алгоритмы из библиотеки OpenCV на десятки процентов», — рассказал один из авторов публикации, заведующий кафедрой высокопроизводительных вычислений и системного программирования Института информационных технологий, математики и механики ННГУ Иосиф Мееров.
Он пояснил, что при векторных вычислениях в ходе выполнения одной инструкции микропроцессор параллельно производит одну и ту же операцию над несколькими «порциями» данных, что позволяет значительно ускорить вычисления.
«Используя смартфон, мы ожидаем, что все операции будут выполняться очень быстро, налету, без пауз и зависаний. Между тем задачи, которые мы доверяем мобильным устройствам, становятся все сложнее и сложнее. Поэтому разработчики программного обеспечения стараются писать программы так, чтобы как можно лучше использовать возможности процессора и подсистемы памяти, чтобы те в итоге быстро работали. Есть надежда, что скоро мы можем увидеть RISC-V-процессоры в мобильных и в серверных устройствах», — подчеркнул Мееров.