Raspberry Pi ВС Васин А.К М16-581_v5



НИЯУ МИФИ

 

 

 

 

 

 

Факультет кибернетики и информационной безопасности

Кафедра компьютерных систем и техно­логий

 

 

 

 

Вычислительные системы

 

 

Реферат на тему:

Вычислительная Система Raspberry Pi

 

 

 

 

 

 

 

 

 

Выполнил: Васин А. К.

Группа М16-581

Преподаватель: Чепин Е. В.

 

 

Оглавление

Структурная нотация и архитектура ВС Raspberry Pi   3

Расчет пиковой производительности ВС.   9

Используемая литература   11

 

 

Структурная нотация и архитектура ВС Raspberry Pi

 

Глянь сюда → http://kursak.net/referat-na-temu-gpu-vychisleniya-servernoe-reshenie-nvidia-tesla-k20x-k20/

 

System (BCM2835) = [, (), E (TrustZone), U (IEM), U1 (reset controller)][1];

 

= [] – M

 

M = {, } , } L1MS{} ;

 

E (TrustZone) = {U (Protection Controller H (APB3)), , , U2(CAI)};

 

U (IEM) = {H (APB3) <–> U1(IEC), U2(DVC), U3(HPM), U4(reset controller)}.

 

I – устройство обработки потока команд

B – целочисленные устройства исполнения

Rg регистры

Core — ядро процессора;

CshI – кэш инструкций;

CshD – кэш данных;

Csh1, 2, 3 – кэш данных 1, 2, 3 уровня;

IO – интерфейс устройства ввода-вывода;

E — исполнительное устройство;

U – неспециализированное устройство (здесь большинство означает “контроллер”);

F — устройство исполнения операций с плавающей точкой;

TrustZone – набор инструкций процессора, позволяющих реализовывать защитный функционал, потоковую передачу и пр.;

TrustZone System Protection Controller APB3 peripheral;

L1MS – Level 1 Memory System;

IEM — Intelligent Energy Management;

IEC – Intelligent Energy Controller;

DVC – Dynamic Voltage Controller;

HPM – Hardware Performance Monitor.

 

 

При описании нотаций использовались блок схемы процессоров и модулей ВС (приведены далее по тексту), а также документация-руководство данных элементов[1]. Каждый указанный элемент имеет свою структуру, требующую описания, но не описывается в используемых руководствах.

Рисунок 1. Схема блочного устройства процессора ARM1176JZFS

 

В архитектуру микропроцессора класса Raspberry входят следующие элементы:

ARM11J6JZF-S (ARM11 Family)

ARMv6 Architecture

Single Core

32-Bit RISC

700 MHz Clock Rate

BCM2835 256MB RAM

8 Pipeline Stages

Branch Prediction

Основу микропроцессора составляет процессор ARM1176,процессор приложений, развернут в устройствах, начиная от смартфонов до цифрового телевидения, предоставляя средства чтения, представленияданных, защиты вычислительной среды, а также производительность до 1 ГГц в условиях низкой стоимости конструкций. Процессор ARM1176JZS поддерживает технологию ARMTrustZone® для защиты приложений и технологий ARMJazelle® для эффективного встроенного исполнения Java. Необязательные тесно связанные воспоминания упрощают миграцию процессора ARM9 ™ и дизайн в режиме реального времени, в то время как AMBA® 3 AXITM интерфейсы повышения производительности шины памяти. Поддержка DVFS позволяет номинально оптимизировать статическую и динамическую мощности архитектуры ARM11TM процессора [3].

Рисунок 2. Внутреннее строение процессораARM 1176

Raspberry основан на архитектуре RISC. RISC (компьютер с сокращённым набором команд) — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками). Основной идеей всех RISC (Reduced Instruction Set Computer), является увеличение быстродействия за счет сокращения количества операций обмена с памятью программ. Для этого каждую команду стремятся уместить в одну ячейку памяти. При ограниченной разрядности ячейки памяти это неизбежно приводит к сокращению набора команд микропроцессора.

Рисунок 3. Схема функционального устройства процессора ARM1176JZFS

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

Таймер/счетчик событий – внутренний таймер, предназначенный длязапуска программы обработки прерывания при определенных условиях счета, в том числе и внешних событий.

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

Порты ввода/вывода AVR имеют от 5 до 32 независимых линий ввода/вывода, причем каждый разряд любого порта может быть запрограммирован на ввод или на вывод.

Аналого-цифровой преобразователь – это 10-разрядный АЦП с устройством выборки/хранения и входным аналоговым мультиплексором.

Аналоговый компаратор предназначен для сравнения непрерывно изменяющихся сигналов. Входные аналоговые сигналы компаратора Uвх – анализируемый сигнал и Uоп – опорный сигнал сравнения, а выходной Uвых – дискретный или логический сигнал, содержащий 1 бит информацииn таймер/счетчик – дополнительные таймера/счетчики. Кроме того, можетсодержать широтно-импульсный модулятор (ШИМ), предназначенный дляформирования сигналов заданной длительности при определенных условиях.

Скоростной последовательный интерфейс SPI – последовательныйсинхронный интерфейс ввода/вывода, используется для передачи данных попротоколу SPI.

Асинхронный, дуплексный последовательный порт UART – последовательный порт ввода/вывода информации.[2]

Высокая производительность до 1Гг (в последних версиях ещё выше до 1.4Гг) обеспечивается тактовым генератором процессора BCM2835. В дополнение к MMU от ARM (memory management unit – блок управления памятью), BCM2835 также обладает вторым уровнем MMU для отображения ARM физических адресов на системной шины адреса. На рисунке 4 показаны основные адресные пространства, представляющие контроль. Это позволяет реализовать много эффективную систему управления памятью, при этом не расширяя схему микропроцессора в целом.

Addresses in ARM Linux are: • issued as virtual addresses by the ARM core, then • mapped into a physical address by the ARM MMU, then • mapped into a bus address by the ARM mapping MMU, and finally • used to select the appropriate peripheral or location in RAM.

Реализованные адреса, на основе ARMLinux,следуют следующему пути[5]:

определение в качестве виртуальных адресов ядром ARM, затем

отображение в физический адрес на ARM MMU, затем

отображение в адрес шины отображением ARM MMU, и, наконец,

распределение по модулям соответствующего периферийного устройства или определённому местоположению в оперативной памяти.

В обычной практике, стандарт ​​BCM2835 Linux ядра обеспечивает непрерывное отображение по всей доступной оперативной памяти в верхней части памяти. Ядро конфигурируется для 1GB / 3GB разделена между ядром и пользовательского пространства памяти.

Виртуальные адреса в режиме ядра будет колебаться между 0xC0000000 и 0xEFFFFFFF.

Виртуальные адреса в пользовательском режиме (т.е. видели процессами, работающими в ARM Linux) будет варьироваться между 0x00000000 и 0xbfffffff.

Периферия (по физическому адресу 0x20000000) отображается в ​​пространство виртуального адресаядра, начиная с адреса 0xF2000000. Таким образом, периферия представлена здесь на адресе шины0x7Ennnnnn и доступен в ARM канал по виртуальному адресу 0xF2nnnnnn.

Рисунок 4. Периферия BCM2835

Программное обеспечение периферии прямого доступа переводит эти адреса в физические или виртуальные. Программное обеспечение, представляющее доступ периферии, использующей технологию DMA,используетшины адреса. Программное обеспечение непосредственного доступа к ОЗУ используют физические адреса (начиная с 0x00000000). Программное обеспечение доступа к оперативной памяти с использованием технологии DMA используют шины адреса (начиная с 0xC0000000).

Большинство аппаратных конвейеров и периферия BCM2835 bus мастера, позволяют им эффективно удовлетворять свои собственные потребности в данных. Это уменьшает требования контроллера DMA к типу перевода памяти блок-к-блоку и поддерживает некоторыеиз более простых периферийных устройств. Кроме того, контроллер DMA обеспечивает предвыборку режима “только для чтения”, чтобы данные, которые будут введены в L2 кэш в ожидании его дальнейшего использования.

Контроллер DMA BCM2835 обеспечивает в общей сложности 16 каналов DMA. Каждый канал работает независимо от других и внутренне присуждает одной из 3-х системных шин. Это даёт возможность управлять шириной пропускной способности канала DMA при помощи настройки арбитра.

Более подробно, структура процессора включает также такие элементы как: вычислительное ядро (Core), модуль загрузки (LoadStoreUnit), предварительный модуль (PrefetchUnit), блок управления памятью(MMU), блок памяти 1 и 2 уровней, блок прерывания (InterruptHanding), AMBA интерфейс, блок кэш памяти, блок TCM, блок отладки (Debug), сопроцессор векторной плавающей точкой(VectorFloatingPoint), интерфейс сопроцессора (рис. 5).

Рисунок 5. Структурная модель процессора[5]

 

 

 

Расчет пиковой производительности ВС.

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

Для сравнительной оценки различных ВС применяется множество программ. многочисленные исследования в данной области породили множество различных понятий и характеристик: быстродействие, производительность (пиковая, предельная, номинальная, эксплуатационная, системная, эффективная, максимальная), вычислительная мощность, вычислительная способность (с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 такт процессора. Чем меньше это значение, тем выше производительность системы). Спецификация процессора ARM1176JZFS, который используется в микропроцессореRaspberryPi определяет параметрыCPI для операций сложения и вычитания процессора равные 1.

Рисунок 6. Фрагмент таблицы спецификации процессора ARM1176JZFS [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 — http://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 г. (http://citforum.ru/hardware/svk/contents.shtml)

7) ARM1176JZF Development Chip Technical Reference Manual -http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0464f/index.html

Posted in Без рубрики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *