Таненбаум Э.- Архитектура компьютера. стр.452

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

Многими компаниями выпущены криптографические сопроцессоры, позволяющие шифровать данные для их безопасной передачи и потом расшифровывать их. Зачастую они представляют собой карты расширения, вставляемые в РО-разъем. Благодаря специальному аппаратному обеспечению, эти процессоры могут выполнять необходимые криптографические вычисления намного быстрее, чем центральный процессор. К сожалению, более детальное изучение криптографических процессоров потребовало бы уделить немало времени самой криптографии, что выходит за рамки темы этой книги. Дополнительную информацию можно найти в [52, 132].

Мультипроцессоры

Мы выяснили, как ввести в однопроцессорную систему параллелизм, добавив в нее сопроцессор. Следующий шаг — объединение нескольких полноценных процессоров в одну большую систему. Такие системы с несколькими централь ными процессорами можно разделить на мультипроцессоры и мультикомпьюте-ры. Сначала, разобравшись со значением этих терминов, мы изучим мультипроцессоры, а вслед за ними — мультикомпьютеры.

Мультипроцессоры и мультикомпьютеры

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

Мультипроцессоры

Параллельный компьютер, в котором все процессоры совместно используют общую физическую память, называется мультипроцессором, или системой с общей памятью (рис. 8.15, а). Все процессы, работающие в мультипроцессоре совместно, могут иметь единое виртуальное адресное пространство, отображенное на общую память. Любой процесс с помощью команд LOAD и STORE может считать слово из памяти или записать слово в память. Больше ничего не требуется. Два процесса имеют возможность легко обмениваться информацией — для этого один из них просто записывает данные в общую память, а другой их считывает.

Таненбаум Э.- Архитектура компьютера.

Рис. 8.15. Мультипроцессор из 16 процессоров, имеющих общую память (а); изображение, разделенное на 16 секций, каждую из которых анализирует отдельный процессор (б)

Благодаря возможности взаимодействия двух и более процессов мультипроцессоры весьма популярны. Данная модель понятна программистам и позволяет решать широкий круг задач. Для примера рассмотрим программу, которая анализирует битовое отображение и составляет список всех его объектов. Одна копия изображения хранится в памяти, как показано на рис. 8.5, б. Каждый из 16 процессоров запускает один процесс, призванный анализировать одну из 16 секций. Если процесс обнаруживает, что один из его объектов переходит через гра ницу секции, этот процесс просто переходит вслед за объектом в следующую секцию, считывая слова этой секции. В нашем примере некоторые объекты обрабатываются несколькими процессами, поэтому в конце потребуется некоторая координация, чтобы определить количество домов, деревьев и самолетов.


⇐ Предыдущая страница| |Следующая страница ⇒