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

UptoLike

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

Регистры Рабочая память Программы
Рис. 6.7. Связный список процессов
При этом ему присваивается низкий приоритет, указатель запоминается в его рабочей
памяти и из очереди для выполнения берется следующий процесс.
Пассивные процессы не занимают процессное время, так как исключены из списка
очереди, и ожидают выполнения до тех пор, пока в активном состоянии не останется ни
одного процесса высокого приоритета, или не выйдут из режима ввода, вывода, таймера.
Выполнение процесса низкого уровня разделяется с определенной периодичностью на
интервалы времени. Продолжительность периода квантования составляет 4096 периодов
входного тактового сигнала, имеющих частоту 5 мГц (около 800 мкс). Это необходимо для
равномерного распределения процессорного времени между задачами, требующих больших
временных затрат.
В транспьютере имеется таймер, работающий на частоте 1 мГц. Значение
процессорного таймера можно прочитать с помощью команды read timer, а команда timer
input с указанием времени приостанавливает выполнение процесса до тех пор, пока не
наступит указанное время. Если указанное время наступило до выполнения этих команд,
процесс продолжается выполняться. Если указанное время не наступило, процесс
исключается из списка очереди. При наступлении указанного времени процесс снова
включается в список очереди.
Как указывалось ранее, распределение процессов в рабочей памяти осуществляется
компилятором. В процессоре реализованы специальные операции, позволяющие создавать
новые процессы и исключить старые процессы. Операция start process создает новый процесс
и добавляет новую рабочую область в конец стека очереди, что позволяет новому процессу
выполняться вместе с уже существующими и выполняющимися процессами. Параллельная
конструкция при корректном завершении выполняет операцию end process.
В процессоре существует специальный счетчик, определяющий число компонентов
параллельной конструкции. При выполнении операции start process содержимое этого
счетчика увеличивается, а при операции end process -уменьшается на единицу, и этот
компонент выводится из списка очереди.
Оккамканалы обеспечивают связи между процессами. Связи (внутренние каналы)
между процессами, находящимися на одном транспьютере, реализуются посредством
Выполняемый
активный процесс
Активный процесс,
ожидающий
выполнения
последним в
очереди
Активный процесс,
ожидающий
выполнения
первым в очереди
Указатель
первого
процесса в
очереди
Указатель пос-
леднего процес-
са в очереди
А
В
С
Регистр W
Счетчик команд
Операнд
       Регистры          Рабочая память       Программы

     Указатель        Активный процесс,
      первого         ожидающий
     процесса в       выполнения
      очереди         первым в очереди
   Указатель пос-
  леднего процес-     Активный процесс,
    са в очереди      ожидающий
                      выполнения
        А             последним      в
                      очереди
         В            Выполняемый
                      активный процесс
         С

    Регистр W

  Счетчик команд

     Операнд




                             Рис. 6.7. Связный список процессов

       При этом ему присваивается низкий приоритет, указатель запоминается в его рабочей
памяти и из очереди для выполнения берется следующий процесс.
       Пассивные процессы не занимают процессное время, так как исключены из списка
очереди, и ожидают выполнения до тех пор, пока в активном состоянии не останется ни
одного процесса высокого приоритета, или не выйдут из режима ввода, вывода, таймера.
       Выполнение процесса низкого уровня разделяется с определенной периодичностью на
интервалы времени. Продолжительность периода квантования составляет 4096 периодов
входного тактового сигнала, имеющих частоту 5 мГц (около 800 мкс). Это необходимо для
равномерного распределения процессорного времени между задачами, требующих больших
временных затрат.
       В транспьютере имеется таймер, работающий на частоте 1 мГц. Значение
процессорного таймера можно прочитать с помощью команды read timer, а команда timer
input с указанием времени приостанавливает выполнение процесса до тех пор, пока не
наступит указанное время. Если указанное время наступило до выполнения этих команд,
процесс продолжается выполняться. Если указанное время не наступило, процесс
исключается из списка очереди. При наступлении указанного времени процесс снова
включается в список очереди.
       Как указывалось ранее, распределение процессов в рабочей памяти осуществляется
компилятором. В процессоре реализованы специальные операции, позволяющие создавать
новые процессы и исключить старые процессы. Операция start process создает новый процесс
и добавляет новую рабочую область в конец стека очереди, что позволяет новому процессу
выполняться вместе с уже существующими и выполняющимися процессами. Параллельная
конструкция при корректном завершении выполняет операцию end process.
       В процессоре существует специальный счетчик, определяющий число компонентов
параллельной конструкции. При выполнении операции start process содержимое этого
счетчика увеличивается, а при операции end process -уменьшается на единицу, и этот
компонент выводится из списка очереди.
       Оккам – каналы обеспечивают связи между процессами. Связи (внутренние каналы)
между процессами, находящимися на одном транспьютере, реализуются посредством