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

UptoLike

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

Модель параллельности языка Оккам имеет распределенную природу. Если
программа выполняется на нескольких транспьютерах, процесс, выполняющийся на одном
транспьютере, может воздействовать на поведение процесса, выполняющегося на другом
транспьютере, только посылкой ему сообщений. С другой стороны, если два процесса
выполняются в одном транспьютере, то они взаимодействуют с помощью общих
переменных. Однако, такое взаимодействие не допустимо в языке Оккам. Единственной
формой взаимодействия двух параллельных процессов является посылка сообщений. Таким
образом, одна и та же модель параллелизма используется как в одном процессоре, так и
между процессорами. Такой подход исключает класс ошибок программирования, связанный
с общими переменными, и облегчается перераспределение программы между процессорами.
Процесс в языке Оккам начинается, выполняет обработку и завершается. При
выполнении обработки могут осуществляться следующие действия: присвоение (изменение
значений переменной), ввод (получение значения из канала) и вывод (засылка значения в
канал).
Ввод и вывод синхронизированы: когда процессы, как ввода, так и вывода в одном и
том же канале готовы к коммутации, выходное значение переписывается из процесса вывода
в процесс ввода без явного использования буфера, после чего оба процесса продолжают
независимо выполняться. Каждый канал обеспечивает обмен информацией лишь в одном
направлении. Для двухсторонней коммуникации необходимо наличие двух каналов.
Для объединения отдельных процессов в укрупненные процессы, в языке Оккам
используются следующие конструкторы: последовательный, параллельный и
альтернативный. Последовательный конструктор (SEQ) задает поочередное выполнение
своих компонентов; он завершается с окончанием последней компоненты. Параллельный
конструктор (PAR) определяет параллельное выполнение своих компонентов; его
выполнение завершается лишь после окончания выполнения всех компонентов.
Альтернативный конструктор (ALT) выбирает для выполнения один из компонентных
процессов из списка возможных; он заканчивается завершением выборного процесса.
Возможно, также построение условных конструкторов типа IF и WHILE. Конструктор
IF проверяет условие всех процессов и тот процесс, которому соответствующее условие
оказывается истинным, поступает на выполнение. Если все условия ложны, то выполнение
конструктора IF завершается. При использовании конструктора WHILE компонентный
процесс повторяется до тех пор, пока результат оценки выполнения, реализуемого
конструктором, не будет ложным.
Конструкторам могут предшествовать связанные с ними описания. Посредством
описаний вводятся идентификаторы переменных, каналов и констант, используемых в
процессе. Эти идентификаторы являются локальными и действуют в пределах конструктора,
которому предшествует описание.
С помощью конструкторов можно объединить любое число процессов, причем
сочетания конструкторов и элементарных процессов могут иметь любое количество уровней.
Поскольку процесс сам по себе может состоять из других параллельных процессов, в
механизме работы с процессами предусмотрены средства иерархической декомпозиции
задач. Оккам может применяться для иерархической декомпозиции задач с использованием
только параллельных конструкторов и каналов до тех пор, пока отдельные процессы не
станут максимально простыми. Каждый из полученных в результате этой процедуры
простых процессов может в последствии выполняться отдельным процессором.
Синхронизация в этом случае будет осуществляться только при обмене информации.
6.3. Pentium процессоры
Пятое поколение микропроцессоров ознаменовалось появлением в 1993 году первых
процессоров Pentium, работающих на частотах 60 и 66 МГц. Они были выполнены по
       Модель параллельности языка Оккам имеет распределенную природу. Если
программа выполняется на нескольких транспьютерах, процесс, выполняющийся на одном
транспьютере, может воздействовать на поведение процесса, выполняющегося на другом
транспьютере, только посылкой ему сообщений. С другой стороны, если два процесса
выполняются в одном транспьютере, то они взаимодействуют с помощью общих
переменных. Однако, такое взаимодействие не допустимо в языке Оккам. Единственной
формой взаимодействия двух параллельных процессов является посылка сообщений. Таким
образом, одна и та же модель параллелизма используется как в одном процессоре, так и
между процессорами. Такой подход исключает класс ошибок программирования, связанный
с общими переменными, и облегчается перераспределение программы между процессорами.
       Процесс в языке Оккам начинается, выполняет обработку и завершается. При
выполнении обработки могут осуществляться следующие действия: присвоение (изменение
значений переменной), ввод (получение значения из канала) и вывод (засылка значения в
канал).
       Ввод и вывод синхронизированы: когда процессы, как ввода, так и вывода в одном и
том же канале готовы к коммутации, выходное значение переписывается из процесса вывода
в процесс ввода без явного использования буфера, после чего оба процесса продолжают
независимо выполняться. Каждый канал обеспечивает обмен информацией лишь в одном
направлении. Для двухсторонней коммуникации необходимо наличие двух каналов.
       Для объединения отдельных процессов в укрупненные процессы, в языке Оккам
используются     следующие     конструкторы:    последовательный,     параллельный    и
альтернативный. Последовательный конструктор (SEQ) задает поочередное выполнение
своих компонентов; он завершается с окончанием последней компоненты. Параллельный
конструктор (PAR) определяет параллельное выполнение своих компонентов; его
выполнение завершается лишь после окончания выполнения всех компонентов.
Альтернативный конструктор (ALT) выбирает для выполнения один из компонентных
процессов из списка возможных; он заканчивается завершением выборного процесса.
       Возможно, также построение условных конструкторов типа IF и WHILE. Конструктор
IF проверяет условие всех процессов и тот процесс, которому соответствующее условие
оказывается истинным, поступает на выполнение. Если все условия ложны, то выполнение
конструктора IF завершается. При использовании конструктора WHILE компонентный
процесс повторяется до тех пор, пока результат оценки выполнения, реализуемого
конструктором, не будет ложным.
       Конструкторам могут предшествовать связанные с ними описания. Посредством
описаний вводятся идентификаторы переменных, каналов и констант, используемых в
процессе. Эти идентификаторы являются локальными и действуют в пределах конструктора,
которому предшествует описание.
       С помощью конструкторов можно объединить любое число процессов, причем
сочетания конструкторов и элементарных процессов могут иметь любое количество уровней.
Поскольку процесс сам по себе может состоять из других параллельных процессов, в
механизме работы с процессами предусмотрены средства иерархической декомпозиции
задач. Оккам может применяться для иерархической декомпозиции задач с использованием
только параллельных конструкторов и каналов до тех пор, пока отдельные процессы не
станут максимально простыми. Каждый из полученных в результате этой процедуры
простых процессов может в последствии выполняться отдельным процессором.
Синхронизация в этом случае будет осуществляться только при обмене информации.


                               6.3. Pentium процессоры

      Пятое поколение микропроцессоров ознаменовалось появлением в 1993 году первых
процессоров Pentium, работающих на частотах 60 и 66 МГц. Они были выполнены по