Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 132 стр.

UptoLike

Составители: 

одиночных слов памяти, а связи (каналы) между процессами, выполняемыми на разных
транспьютерах, строятся на базе последовательных каналов связи. Адрес канала указывает,
является ли канал внутренним или внешним.
При этом написание и компиляция процесса не налагает ограничений на соединение
его каналов.
Подготовка процесса к вводу или выводу заключается в загрузке в вычислительный
стек:
а) идентификатора канала (регистр В);
б) количества передаваемых байтов (регистр А);
в) указателя сообщений (регистр С).
При выполнении операций input message или output message передача сообщения по
внутреннему каналу осуществляется путем занесения идентификатора первого процесса,
оказавшегося готовым, в слово канала (ячейку памяти) и указателя этого процесса в рабочую
память. При этом адрес передаваемого сообщения и количество байтов в сообщении, также
заносится в рабочую память этого процесса. Процесс выводится из списка очереди и
переходит в режим ожидания, а процессор выполняет очередной процесс из списка очереди.
Когда оказывается готовым второй процесс, использующий этот канал, происходит перепись
сообщения, а ожидающий процесс включается в конец списка очереди активных процессов и
производится начальная установка канала в пустое состояние (empty).
Когда сообщение пересылается по внешнему каналу, процессор возлагает эту
передачу на автономный интерфейс канала и исключает процесс из списка очереди. Если
интерфейс канала реализует передачу сообщения посредством прямого доступа к памяти,
процессор вновь вводит ожидающий процесс в список очереди. При внешней пересылке
сообщений процессор параллельно может выполнять другие процессы.
Интерфейс канала включает три регистра, которые содержат:
а) указатель рабочей памяти процесса;
б) указатель сообщения;
в) количество байтов, подлежащих пересылке.
При вводе или выводе сообщения производится инициализация этих трех регистров и
занесение указателя команды в рабочую память процесса. После того как оба процесса
инициализируют свои канальные интерфейсы, происходит перепись сообщения, и оба
интерфейса ставят процесс в конец списка очереди активных процессов.
6.2.3. Оккамязык параллельной обработки
Оккам представляет собой новый язык программирования, разработанный для
реализации параллельной обработки, в ходе которой множество частей системы
функционируют по отдельности и взаимодействуют друг с другом. Оккам позволяет
использовать единую нотацию для проектирования и программирования всей системы,
начиная от описания сети и кончая операциями ввода-вывода низкого уровня.
Оккам основан на модели взаимодействующих последовательных процессов,
позволяющих специфицировать параллельность алгоритма и его внутренние взаимосвязи.
Программа на языке Оккам представляется как набор параллельных процессов,
взаимодействующих друг с другом через каналы. Канал используется для передачи данных
между двумя процессами, один из которых вводит из канала, другойвыводит в канал.
Процессы не могут взаимодействовать посредством общих данных. Единственным способом
взаимодействия процессов является посылка сообщений по каналам. Внутри процесса
переменные и структуры данных определяют состояние процесса. Для программирования
процесса можно использовать как язык Оккам, так и любые традиционные языки
программирования, например, СИ, Паскаль.
одиночных слов памяти, а связи (каналы) между процессами, выполняемыми на разных
транспьютерах, строятся на базе последовательных каналов связи. Адрес канала указывает,
является ли канал внутренним или внешним.
       При этом написание и компиляция процесса не налагает ограничений на соединение
его каналов.
       Подготовка процесса к вводу или выводу заключается в загрузке в вычислительный
стек:
       а) идентификатора канала (регистр В);
       б) количества передаваемых байтов (регистр А);
       в) указателя сообщений (регистр С).
       При выполнении операций input message или output message передача сообщения по
внутреннему каналу осуществляется путем занесения идентификатора первого процесса,
оказавшегося готовым, в слово канала (ячейку памяти) и указателя этого процесса в рабочую
память. При этом адрес передаваемого сообщения и количество байтов в сообщении, также
заносится в рабочую память этого процесса. Процесс выводится из списка очереди и
переходит в режим ожидания, а процессор выполняет очередной процесс из списка очереди.
Когда оказывается готовым второй процесс, использующий этот канал, происходит перепись
сообщения, а ожидающий процесс включается в конец списка очереди активных процессов и
производится начальная установка канала в пустое состояние (empty).
       Когда сообщение пересылается по внешнему каналу, процессор возлагает эту
передачу на автономный интерфейс канала и исключает процесс из списка очереди. Если
интерфейс канала реализует передачу сообщения посредством прямого доступа к памяти,
процессор вновь вводит ожидающий процесс в список очереди. При внешней пересылке
сообщений процессор параллельно может выполнять другие процессы.
       Интерфейс канала включает три регистра, которые содержат:
       а) указатель рабочей памяти процесса;
       б) указатель сообщения;
       в) количество байтов, подлежащих пересылке.
       При вводе или выводе сообщения производится инициализация этих трех регистров и
занесение указателя команды в рабочую память процесса. После того как оба процесса
инициализируют свои канальные интерфейсы, происходит перепись сообщения, и оба
интерфейса ставят процесс в конец списка очереди активных процессов.


                       6.2.3. Оккам – язык параллельной обработки

      Оккам представляет собой новый язык программирования, разработанный для
реализации параллельной обработки, в ходе которой множество частей системы
функционируют по отдельности и взаимодействуют друг с другом. Оккам позволяет
использовать единую нотацию для проектирования и программирования всей системы,
начиная от описания сети и кончая операциями ввода-вывода низкого уровня.
      Оккам основан на модели взаимодействующих последовательных процессов,
позволяющих специфицировать параллельность алгоритма и его внутренние взаимосвязи.
Программа на языке Оккам представляется как набор параллельных процессов,
взаимодействующих друг с другом через каналы. Канал используется для передачи данных
между двумя процессами, один из которых вводит из канала, другой – выводит в канал.
Процессы не могут взаимодействовать посредством общих данных. Единственным способом
взаимодействия процессов является посылка сообщений по каналам. Внутри процесса
переменные и структуры данных определяют состояние процесса. Для программирования
процесса можно использовать как язык Оккам, так и любые традиционные языки
программирования, например, СИ, Паскаль.