Параллельное программирование 2020-2021 учебный год Лекция 7 Технологии параллельного программирования Задание 1. Изучить модель многопроцессорной системы Пример 1. Каждый процессор CPU, PPU1, PPU2, PPU3, PPU4 состоит из семи 16-разрядных регистров: R0 - R3 - 4 регистра общего назначения, PC - счетчик адреса команд, SP - указатель стека, PS - регистра состояния процессора, В PS использованы только два младших бита: N - нулевой разряд Z - первый разряд. Состояния N и Z: N = 0 – результат >=0, N = 1 - результат <0, Z = 0 – результат <>0, Z = 1 - результат =0. Пример 2. Программа для модели учебного многопроцессорного компьютера E14. Программа в машинных кодах хранится в файле в формате *.E14. Файл всегда начинается строкой 0E14 или 1E14 Программа разбита на отдельные блоки. Каждый блок состоит из двух частей: 1) заголовка из 4 шестнадцатеричных чисел (строк) 2) произвольного количества данных. Заголовок имеет следующую структуру: список процессоров адрес загрузки блока в память CPU адрес памяти PPU, куда будет скопирован блок количество чисел (строк). Первая цифра обозначает режим: 0 – общая память, т.е. обмен данными через 0-ю страницу памяти (mode1), 1 – распределенная, т.е. обмен данными через межпроцессорную шину (mode2). Пример заголовка 4321 0380 0000 000C Он расшифровывается так: следующий блок данных загрузить в общую память с адреса 380, а затем скопировать во все 4 PPU c адреса 0. Количество копируемых чисел (строк) равно C (т.е. 12 в десятичной системе счисления). Примеры списков процессоров: 0000 – грузить только в общую страницу 0 (программа для CPU) Примечание: в этом случае значение 3-го параметра не используется. 0002 – загрузить в общую страницу и скопировать в память PPU2 0021 – загрузить в общую страницу и скопировать в память PPU1 и PPU2 Примечание. Копирование идет параллельно, причем сначала запускается процесс для PPU1, а затем – для PPU2. 4321 – копирование во все процессоры, начиная от PPU1 и кончая PPU4. Пример 3. Команда ассемблера mov #60,r0 транслируется в машинные коды из 2-х машинных слов: 01D0 003C где 0 - признак модификатора команды, нет модификации, 1 - код операции копирования данных mov, D - признак того, что первый операнд, который является src источником данных, содержится в следующем машинном слове - 003C, 0 - указание на регистр R0 - приемник dst копируемых данных.
Перейти. Процессоры.
Перейти. Обмен данными между процессорами.
Перейти. Моделируемые архитектуры с общей и распределенной памятью.
Перейти. Организация памяти.
Скачать. E14v2.zip. Программная реализация многопроцессорного учебного компьютера "Е14".
Скачать. asm_E14.zip. Ассемблер для многопроцессорного учебного компьютера "Е14".
Перейти. PDF. Учебная модель компьютера "Е97": архитектура, система команд, программирование.
Перейти. Лабораторная работа 1. Модель многопроцессорного компьютера "Е14"
http://educomp.runnet.ru Учебные модели компьютера http://educomp.runnet.ru/e14/ Многопроцессорный учебный компьютер "Е14" http://educomp.runnet.ru/e14/proc.html "Е14": процессоры http://educomp.runnet.ru/e14/exchange.html "Е14": обмен данными между процессорами http://educomp.runnet.ru/e14/archit.html "Е14": моделируемые архитектуры с общей и распределенной памятью. http://educomp.runnet.ru/e14/mem.html "Е14": организация памяти http://educomp.runnet.ru/archive/E14v2.zip Программная реализация многопроцессорного учебного компьютера "Е14" http://educomp.runnet.ru/archive/asm_E14.zip Ассемблер для многопроцессорного учебного компьютера "Е14" http://educomp.runnet.ru/archive/posobie.pdf Учебная модель компьютера "Е97": архитектура, система команд, программирование. http://educomp.runnet.ru/udvoit/ S9PU - система из 9 параллельных Удвоителей