Архитектура вычислительных систем
Часть регистрового файла доступна всегда. Другая часть делится на пересекающиеся области. В каждый момент времени программе доступна только одна область. При вызове подпрограммы видимое окно сдвигается на другую область регистров. Благодаря пересечению областей вызывающая подпрограмма может записать в регистры параметры и прочитать результаты. Непересекающаяся часть используется для хранения… Читать ещё >
Архитектура вычислительных систем (реферат, курсовая, диплом, контрольная)
Задача 1
Самостоятельно рассмотрите указанную область применения в плане предьявляемых ею требований к ВС. Карманный шагомер, ведущий статистику, сколько его владелец сделал шагов за час, день, неделю и месяц, на основе данных, получаемых от акселерометра.
В данном случае требуется ВС, нацеленная на хранение и обработку данных, имеющая размер карманного ПК.
Параллельная обработка информации.
Какие существуют классификации ВС с параллельной архитектурой?
- 1. По способу организации параллелизма: конвейерная обработка, функциональная обработка, матричная обработка, мультипроцессорная обработка.
- 2. По уровню параллельно исполняемых фрагментов: уровень заданий, программный уровень, командный уровень, арифметический и разрядный уровень.
- 3. По Флинну: SISD, SIMD, MISD, MIMD.
- 4. По Шору (в зависимости от способа организации памяти, количества устройств обработки данных и наличия связей между ними).
Задача 2
|
|
|
|
|
|
|
|
|
Задача 3
|
|
Конвейерная архитектура.
Какие существуют программные и аппаратные способы для устранения структурной коллизии?
- 1) дублирующие аппаратные блоки;
- 2) кэш-память;
- 3) изменение порядка следования инструкций.
Задача 4
ВС с неконвейерной архитектурой и временем исполнения любой инструкции A нс была заменена на ВС с идентичной системой команд, но с конвейерной архитектурой. Продолжительность такта — B нс, число стадий конвейера равно С. Вычислите полученное ускорение (отношение времени работы программы на старой ВС ко времени ее работы на новой ВС), учитывая стадию загрузки конвейера и считая, что при выполнении не возникло ни одной коллизии. Число инструкций в программе равно D.
A. | B. | C. | D. |
T1 = A * D = 24 000 нс.
T2 = B * (C + D — 1) = 40 * (8 + 99) = 4280 нс.
S = T1 / T2 = 24 000 / 4280 = 5,6.
RISC-архитектуры.
Как устроен регистровый файл RISC микропроцессоров?
Часть регистрового файла доступна всегда. Другая часть делится на пересекающиеся области. В каждый момент времени программе доступна только одна область. При вызове подпрограммы видимое окно сдвигается на другую область регистров. Благодаря пересечению областей вызывающая подпрограмма может записать в регистры параметры и прочитать результаты. Непересекающаяся часть используется для хранения локальных переменных.
Задача 5
Гипотетический RISC микропроцессор имеет регистровый файл с A глобальными регистрами, и Е окон из B регистров для входных параметров, C регистров для локальных переменных и D регистров для выходных параметров.
A. | B. | C. | D. | E. |
1) общее число регистров микропроцессора:
Q = A + E * (B + C) = 32 + 4 * 16 = 96;
- 2) размер регистрового окна, видимого подпрограмме:
- S = B + C + D = 22;
- 3) Число регистров в области пересечения двух окон:
B = D = 6.
Задача 6
Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B — глобальные. В каждом из E окон есть C регистров для входных параметров и D регистров для выходных параметров. Сколько регистров для локальных переменных есть в окне?
A. | B. | C. | D. | E. |
L = (A — B) / E — C = 16.
Задача 7
Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B — глобальные. В каждом из D окон есть C регистров для локальных переменных. Сколько всего в каждом окне есть регистров для входных и выходных параметров?
A. | B. | C. | D. |
X = (A — B) / D — C = 8.
ВС с крупноблочным параллелизмом.
Почему программирование на ВС с архитектурой MPP более трудоемко, чем с SMP? процессор программный нейман
Потому что необходимо программировать коммуникации для пересылки данных, вычисленных или хранящихся в одном, но затребованных в другом вычислительном узле.
Задача 8
Имеется гипотетический кластер, имеющий в своем составе A счетных узлов. Каждый узел имеет оперативную память объема B Мб. Операционная система занимает C Мб оперативной памяти на каждом узле. Пользователь хочет запустить процесс физического моделирования на всех узлах кластера. Модель содержит двумерный массив для хранения значений переменных в равномерно расположенных (на равномерной сетке) точках пространства. В каждой точке для модели требуется иметь C переменных одинакового формата. Размер переменной D байт. Модель такова, что размер массива по вертикали всегда равен размеру по горизонтали. Массив разрезается на равные части и распределяется между узлами кластера. Крайние столбцы части массива (расположенные у линии разреза) дублируются в соседнем узле. Нулевой столбец части массива в первом узле и последний столбец части массива в последнем узле — не дублируются. Оцените, каков максимальный размер массива (число ячеек по вертикали или горизонтали) может быть использован для моделирования на кластере? Размером моделирующей программы и всех остальных ее данных принять равной 1 Мб.
A. | B. | C. | D. |
Q = (B — C — 1) * 1 048 576 / (C * D) = 998 * 1 048 576 / 200 = 5 232 394.
N * (N * A — (A — 1)) <= Q.
256 * N * N — 255 * N <= 5 232 394.
N = 143.
X = N * A — (A — 1) = 143 * 256 — 255 = 36 353.
Анализ и измерение производительности ВС.
Какой набор тестов входит в SPEC CINT2006?
- 1) интерпретатор Perl, исполняющий программу обработки почты (400.perlbench);
- 2) архиватор, интенсивно работающий с оперативной памятью, но без обращений к диску (401.bzip2);
- 3) компилятор Си, генерирующий код для микропроцессора Opteron (403.gcc);
- 4) комбинаторная оптимизация — симплекс алгоритм для составления расписания транспорта (429.mcf);
- 5) задачи искусственного интеллекта, игра Го (445.gobmk);
- 6) анализ протеиновой последовательности с использованием скрытых Марковских цепей (456.hmmer);
- 7) задачи искусственного интеллекта, программа игры в шахматы (458.sjeng);
- 8) моделирование квантовые вычисления (462.libquantum);
- 9) сжатие видеопотока (464.h264ref);
- 10) дискретная система моделирования университетской сети (471.omnetpp);
- 11) алгоритмы нахождения пути на двумерной карте (473.astar);
- 12) обработка XML (483.xalancbmk).
Задача 9
Разработчик решил установить Web портал на машину, подключенную к сети Internet по каналу передачи данных с пропускной способностью A КБит/сек. Средний размер генерируемой по запросу пользователя страницы — B КБайт. Размер пакета данных с запросом принять равным 1 КБайт. Дайте оптимистическую оценку числа запросов, которые может обслужить портал за одни сутки. Пропускную способность канала в 1КБит/сек считать равной 1000 Бит/сек. A = 128; B = 30.
X = 24 * 60 * 60 * A * 1000 / ((B + 1) * 8 * 1024) = 43 548.
Задача 10
Сервер для Web портала из предыдущей задачи в среднем тратит на обработку каждого запроса одну секунду. Что в таком случае будет ограничивать оптимистическую оценку числа запросов — пропускная способность канала передачи данных или производительнсть самой ВС, на которой развернут портал?
Для передачи данных по одному запросу потребуется (B + 1) * 8 * 1024 / (A * 1000) = 1984 мс, поэтому ограничивать оптимистическую оценку числа запросов будет пропускная способность канала передачи данных.
Технология распределенной обработки данных.
Какими ключевыми свойствами обладают распределенные системы?
- 1) множественность вычислительных устройств;
- 2) целостность системы;
- 3) связность системы.
Какие задачи решаются миграцией процессов и каков механизм ее работы?
Миграция процессов — перелет процессов с одного узла на другой в процессе исполнения. Миграция процессов позволяет подключать и удалять узлы из распределенной системы без прерывания ее нормальной работы. Также миграция процессов является одним из способов обеспечения динамической балансировки нагрузки на уровне ОС. В случае распределенных систем с однородными узлами, миграция процесса заключается в выгрузке процесса на диск, передачи его кода, данных и контекста исполнения принимающей стороне. Для случая с неоднородными узлами требуется перекомпиляция кода для принимающего узла или его представление в машинно-независимом виде для некоторой виртуальной машины, например JVM.