Автор работы: Пользователь скрыл имя, 30 Апреля 2015 в 17:32, контрольная работа
Однокристальные ВС имеют чрезвычайно большую область применения. Однако наиболее широко они используются при разработке встраиваемых систем. т.е. там где важное значение имеют малые габариты, работа в реальном времени, низкое потребление энергии и простота сопряжения с разнообразными периферийными устройствами.
Это могут быть:
системы управления оборудованием (электроприводы, промышленные станки, робототехника, военная и космическая техника).
устройства сбора и обработки первичной информации (системы сбора информации с датчиков, модули GPS для ввода географических координат, скорости и времени, диагностическое оборудование)
аудио - , видео, бытовая техника
T1=A*D=240*50=12 000 нс
2.Вычисляем время исполнения на ВС с конвейерной архитектурой. Оно определяется как произведение числа тактов, требуемых для исполнения программы, и продолжительности такта:
T2 = Q * B
Число тактов (для линейной программы, при исполнении которой не возникло ни одной коллизии) определяем как Q = C + D – 1.
T2 = (C + D - 1) * B = (4 + 50 - 1) * 80 нс = 4 240 нс
3. Вычисляем ускорение S = T1 / T2.
Таким образом, ускорение при переходе с ВС с неконвейерной архитектурой на ВС с конвейерной архитектурой составит 2,83.
Глава 4. RISC-архитектуры;
8. Какова структура АЛУ на микропроцессоре Alpha 21264 ev6 и с какими форматами данных оно работает?
Подсистема целочисленных операций (Ebox) содержит два "кластера". Каждый кластер имеет регистровый файл на 80 регистров и двух арифметических-логических устройства (АЛУ). Кластеры имеют сумматоры, сдвигатели, два блока логических команд, конвейерный целочисленный умножитель (умножает за семь тактов) и блок для операций поиска минимума/максимума.
Подсистема операций с плавающей запятой (Fbox) содержит регистровый файл из 72 физических регистров, конвейеризированный сумматор, конвейеризированный умножитель (умножает за четыре такта, что быстрее целочисленного умножения), неконвейеризированный блок деления и неконвейеризированный блок вычисления корня. Программно доступны только 32 регистр, остальные используются для реализации переименования.
Alpha 21264 ev6 обеспечивает работу с целочисленными данными разрядностей 8, 16, 32, 64 и с данными с плавающей запятой в нескольких форматах размером 32 и 64 бита.
Задача1.
Гипотетический RISC микропроцессор имеет регистровый файл с A глобальными регистрами, и Е окон из B регистров для входных параметров, C регистров для локальных переменных и D регистров для выходных параметров. Определите:
1) общее число регистров
2) размер регистрового окна, видимого подпрограмме;
3) размер регистров в области пересечения двух окон.
Исходные данные:
A=10
B=6
C=10
D=6
E=8
Решение:
1) Общее число регистров микропроцессора Q- это сумма количества глобальных регистров и количества регистров в окнах. Число регистров, расположенных во всех регистровых окнах, - это произведение числа окон на сумму количества регистров для локальных переменных в окне и количества регистров для входных параметров (или количества выходных параметров, т.к. эти величины всегда равны):
Q = A + E * (C + B) = 10+8*(10+6)=138
2) Размер регистрового окна S1, видимого подпрограмме, равен сумме количества регистров для локальных переменных, количества регистров для входных параметров и количества регистров для входных параметров:
S = B + C + D = 6+10+6=22
3) Число регистров в области пересечения двух окон S2 равно B или D.
S2=B=D=6
Задача2.
Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B - глобальные. В каждом из E окон есть C регистров для входных параметров и D регистров для выходных параметров. Сколько регистров для локальных переменных есть в окне?
Исходные данные:
A=160
B=32
C=4
D=4
E=8
Решение:
Вычисляем число регистров, расположенных во всех регистровых окнах. Для этого от общего числа регистров A отнимаем число глобальных регистров B. Далее определяем размер окна, разделив число регистров, расположенных во всех регистровых окнах, на количество окон E . От размера окна отнимаем количество регистров для входных параметров C, получив искомую величину L - число регистров для локальных переменных в окне.
L = (A - B) / E - C = (160-32)/8 – 4=12
Задача3.
Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B - глобальные. В каждом из D окон есть C регистров для локальных переменных. Сколько всего в каждом окне есть регистров для входных и выходных параметров?
Исходные данные:
A=288
B=32
C=16
D=8
Решение:
Вычисляем число регистров, расположенных во всех регистровых окнах. Для этого от общего числа регистров A отнимаем число глобальных регистров B. Далее определяем размер окна, разделив число регистров, расположенных во всех регистровых окнах, на количество окон D. От размера окна отнимаем количество регистров для локальных переменных в окне C.
X = (A - B) / D - C = (288-32)/8 – 16=16
Глава 5. ВС с крупноблочным параллелизмом.
8.1. Каковы характерные черты ВС с архитектурой NUMA?
NUMA системы представляют из себя гибрид SMP и MPP.
Гибридная архитектура совмещает достоинства систем с общей памятью и относительную дешевизну систем с раздельной памятью.
Машины NUMA имеют следующие ключевые характеристики, которыми все они обладают и которые в совокупности отличают их от других мультипроцессоров:
8.2. Какие существуют виды
Кластер — это модульная многопроцессорная система, созданная на базе стандартных вычислительных узлов, соединенных высокоскоростной коммуникационной средой.
Кластерные системы могут использовать самые разные платформы и оборудование и , как правило, классифицируются не по набору комплектующих, а по областям применения.
Выделяют четыре типа кластерных систем:
1. Имеется гипотетический кластер, имеющий в своем составе A счетных узлов. Каждый узел имеет оперативную память объема B Мб. Операционная система занимает C Мб оперативной памяти на каждом узле. Пользователь хочет запустить процесс физического моделирования на всех узлах кластера. Модель содержит двумерный массив для хранения значений переменных в равномерно расположенных (на равномерной сетке) точках пространства. В каждой точке для модели требуется иметь C переменных одинакового формата. Размер переменной D байт. Модель такова, что размер массива по вертикали всегда равен размеру по горизонтали. Массив разрезается на равные части и распределяется между узлами кластера. Крайние столбцы части массива (расположенные у линии разреза) дублируются в соседнем узле. Нулевой столбец части массива в первом узле и последний столбец части массива в последнем узле — не дублируются.
Оцените в соответствии с данными Вашего варианта, каков максимальный размер массива (число ячеек по вертикали или горизонтали) может быть использован для моделирования на кластере? Размером моделирующей программы и всех остальных ее данных принять равной 1 Мб.
Исходные данные:
A=32
B=512
C=50
D=8
Решение:
1. Определяем размер памяти H, доступной для хранения массива на отдельном счетном узле. Для этого от объема оперативной памяти узла B отнимаем объем памяти, требуемый для ОС – C Мб, моделирующей программы и ее прочих данных 1Мб:
H = B - C - 1 = 512 - 50 - 1 = 461 Мб
2. Определяем размер ячейки массива S. Он равен произведению числа хранимых в ячейке переменных C на их размер D.
S = C * D =50*8= 400 б
3. Вычисляем, сколько ячеек массива Q можно было бы сохранить в памяти, доступной для хранения этого массива:
Q = floor(H / S) = floor(461Мб / 400 б) = floor(461*220 / 400) =1 208 483 б
где floor - функция отсечения дробной части.
4. Так как способ разрезания массива на части в условиях задачи не задан, выбираем разрезание на прямоугольные области с разрезом по вертикали. Обозначим искомый размер как X. Для выбранного нами способа разрезания массива, размер областей (для всех узлов, кроме крайних) по вертикали будет X, а по горизонтали X/A + 2.
Число ячеек в областях будет (X/A + 2) * X. Оно не может превышать Q.
Получается неравенство:
(X/A + 2) * X <= Q
При этом X - натуральное. Размер не может быть дробным, нулем или отрицательным. Аналогично, X/A - натуральное.
Введем Z, которое может быть дробным.
(Z/A + 2) * Z = Q
Xmin = floor( floor(Z) / A ) * A для положительного Z.
Xmax = floor(Z).
Искомое значение X принадлежит интервалу [Xmin; Xmax].
Решение квадратного уравнения (Z/A + 2) * Z = Q дает два его корня, из которых нам нужен только положительный.
Решим квадратное уравнение:
Z2 + 2AZ-AQ=0
Z2 + 64*Z-38 671 456=0
Положительный корень приблизительно равен 6 186,64
Xmin = floor(floor(6 186,72) / 32) * 32 = 6 176
Xmax = floor(6 186,72) = 6 186
X расположен на интервале [6 176; 6 186]
Ответом будет наибольшее значение X, для которого является истинным неравенство
(ceil( X / A ) + 2) * X <= Q,
где ceil - функция нахождения целого числа, которое не меньше, чем аргумент.
X = 6 176 удовлетворяет неравенству.
Ответ: размер квадратного массива по ширине и по высоте равен 6 176.
Глава 6. Анализ и измерение производительности ВС
8. Какие имеются виды
Модели с дискретным временем делятся на две группы:
1) событийно-ориентированные (дискретно-событийные) - функционирование системы представляется как хронологическая последовательность событий. Событие происходит в определенный момент времени и знаменует собой изменение состояния системы.
События могут случаться асинхронно. Интервалы времени между событиями - нерегулярные. Пример модели - файловый сервер, с такими событиями, как получение пакета данных из сети и завершение дисковой операции.
Событийно-ориентированные модели годятся для самого широкого класса систем.
2) основанные на циклах
В моделях, основанных на циклах, все изменения в состоянии системы синхронизированы с модельным временем. Пример такой модели - модель микропроцессора, в которой состояние меняется на каждом цикле. Модели, основанные на циклах, в некотором смысле можно рассматривать как частный случай событийно-ориентированных, если считать начало цикла событием.
Задача1.
Разработчик решил установить Web-портал на машину, подключенную к сети Internet по каналу передачи данных с пропускной способностью A КБит/сек. Средний размер генерируемой по запросу пользователя страницы - B КБайт. Размер пакета данных с запросом принять равным 1 КБайт. Дайте оптимистическую оценку числа запросов, которые может обслужить портал за одни сутки. Пропускную способность канала в 1КБит/сек считать равной 1000 Бит/сек.