Огромное многообразие различных вычислительных систем (ВС) требует создания критериев и инструментов их сравнительной оценки. Как правило, оцениваются и сравниваются технико-эксплуатационные характеристики ВС, такие как: производительность, отношение производительности к стоимости, ёмкость и тип разных видов памяти, тактовая частота, разрядность процессора и разрядность шин, возможности системы команд, программная совместимость, энергопотребление и др. Сравнительная оценка различных ВС по большинству критериев не представляет никакой сложности, т.к. достоверная информация предоставляется разработчиком или продавцом изделия. Самой большой трудностью, вызывающей наибольшее количество споров и разночтений, является оценка производительности ВС. Даже для одного однопроцессорного компьютера эта характеристика не является величиной постоянной, а тем более для сложной ВС, включающей в свой состав несколько процессоров, ведущих обработку информации с разной скоростью.
Для сравнительной оценки различных ВС применяется множество программ. многочисленные исследования в данной области породили множество различных понятий и характеристик: быстродействие, производительность (пиковая, предельная, номинальная, эксплуатационная, системная, эффективная, максимальная), вычислительная мощность, вычислительная способность (сapability computing), вычислительная ёмкость (capacity computing), рейтинг MIPS, рейтинг FLOPS, время ЦП (CPU time) и др. Каждый из критериев подразумевает свои особенности методологии оценки различных ВС и их классов. Но в итоге все пытаются количественно выразить скорее качественное свойство, которое достигается и за счет применяемых технологий, и за счёт свойств архитектуры ВС.
|
Самым распространенным критерием производительности ВС сегодня являются две величины пиковая или предельная производительность и реальная производительность, измеряемые в MIPS (или FLOPS) – числе инструкций (или операций), выполняемых системой в единицу времени.
Пиковая или предельная производительность Vпик, измеренная в MIPS, характеризует скорость работы процессора по выполнению собственных инструкций без учёта времени обращения к оперативной памяти и к устройствам ввода/вывода. Определяется эта величина как среднестатистическое число инструкций (целочисленных операций типа «регистр-регистр»), выполняемых в единицу времени (секунду) без учёта их статистического веса в выбранном классе задач (1):
где f – тактовая частота процессора (Гц=такт/сек), – средняя длительность инструкции (такт/инстр), t и Т – длительность выполнения программы, измеренное в секундах и тактах.
Под пиковой производительностью многопроцессорной ВС понимают величину, равную произведению пиковой производительности одного процессора на число N таких процессоров в системе (2). При этом предполагается, что все устройства ВС работают в максимально производительном режиме.
Как видно из (1) и (2), на критерий влияют не только характеристики системы (f), но и характеристики программы ().[6]
Рассчитаем производительность нашей ВС – RaspberryPi.
Тактовая частота процессора (Гц=такт/сек) определяется изготовителем и в нашем случае равна тактовая частота процессора: ARM1176, f =700 МГц.
Мерой средней длительности инструкции является CPI. “Cycles per instruction (or clocks per instruction) is a measure of the number of computer instructions that can be performed in one clock cycle. This figure of merit can be used to compare the performance of different CPUs that implement the same instruction set against each other.[7]”.(CPI – это мера измерения количество инструкций, которое может быть выполнено за 1 такт процессора. Чем меньше это значение, тем выше производительность системы). Спецификация процессора ARM1176JZF-S, который используется в микропроцессореRaspberryPi определяет параметрыCPI для операций сложения и вычитания процессора равные 1.
|
Рисунок 6. Фрагмент таблицы спецификации процессора ARM1176JZF-S [7]
Скорость процессора позволяет производить инструкции затрачивая намного меньше времени полного цикла, поэтому нельзя точно теоретически определить его быстродействие, однако округляя CPI мы получим минимальное быстродействие системы. “Branch folding is a technique where, on the prediction of most branches, the branch instruction is completely removed from the instruction stream presented to the execution pipeline. Branch folding can significantly improve the performance of branches, taking the CPI for branches significantly lower than 1. [7]”
Обладая 1 ядром процессора, минимальную предельную производительность ВС RaspberryPi можно будет рассчитать по следующей формуле (3):
Так как данная система обладает только 1 ядром, то Rпик = Vпик (4):
Т.е. ВС Raspberry Pi обладает предельной производительностью в 0.7GFLOPS.
ВС RaspberryPi 2 обладая 4-хядерным процессором ARM Cortex-A7 с тактовой частотой 900MHz,при том же показателе CPI, обладает предельной производительностью(5):
Используемая литература
1) ARM1176JZF Development Chip, Technical Reference Manual. Revision r0p0
2) Микропроцессорные системы [Электронный ресурс]: электрон. учеб. пособие / О. В. Непомнящий, Е. А. Вейсов, Г. А. Скотников, М. В. Савицкая. – Красноярск: ИПК СФУ, 2009.
3) Raspberry Pi Architecture, Jon Holton and Tim Fratangelo
4) ARM 1176 Processor - https://www.arm.com/products/processors/classic/arm11/arm1176.php
5) BCM2835 ARM Peripherals, Broadcom Europe Ltd. 406 Science Park Milton Road Cambridge CB4 0WW, 2012
6) Шнитман В. Современные высокопроизводительные компьютеры, информационно-аналитические материалы Центра Информационных Технологий, 1996 г. (https://citforum.ru/hardware/svk/contents.shtml)
7) ARM1176JZF Development Chip Technical Reference Manual -https://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0464f/index.html