User Tag List

Показано с 1 по 10 из 627

Тема: Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если свести всё разнообразие таймингов команд процессора 1801ВМ1 в единую "формулу быстродействия", позволяющую точно определить число тактов, необходимых процессору для выполнения любой команды ( при возможном нахождении различных операндов в различных типах памяти ), то формула в самом общем виде будет выглядеть так:

    [Время выполнения команды] = [Суммарное время всех циклов шины] + [Суммарное время всех штрафов].

    Процессор 1801ВМ1 использует следующие циклы шины Q-Bus:

    1. DATI ( Чтение ) - для выборки команд и не модифицируемых данных из памяти.
    2. DATO / DATOB ( Запись / Запись байта ) - только в командах MOV и MOVB для записи результата в память.
    3. DATIO ( Чтение-Модификация-Запись ) - для доступа ко всем модифицируемым данным в памяти.

    Время выполнения циклов процессором 1801ВМ1 зависит от продолжительности периода тактовой частоты T и времени задержки памяти tn:
    Код:
    DATI : [ 7*T+tn]
    DATO : [10*T+tn]
    DATIO: [13*T+tn+tn]
    В дальнейшем изложении (для простоты) множитель *T упоминаться не будет, поэтому формулы продолжительности циклов шины будут иметь такой вид:
    Код:
    DATI : [7+tn]
    DATO : [10+tn]
    DATIO: [13+2tn]
    Время задержки памяти (в тактах) для ОЗУ ДВК-1: tn = 6, для ПЗУ ДВК-1: tn = 2.

    Поэтому, например - в ОЗУ ДВК-1 цикл чтения ( DATI ) будет выполняться за 7 + 6 = 13 тактов.

    ...

    Теперь рассмотрим какие штрафы быстродействия (в тактах) имеет процессор 1801ВМ1 при выполнении команд:
    Код:
    1. [Штраф исполнения]            = 1 - для всех команд.
    2. [Штраф второго операнда]      = 1 - для команд, использующих два операнда,
                                           если один из них в памяти.
    3. [Штраф отмены предвыборки]    = 2 - для команд, выполняющих больше одного 
                                           цикла шины.
    4. [Штраф префиксной адресации]  = 1 - для каждого операнда с 
                                           префиксной адресацией.
    5. [Штраф невзаимности]          = 5 ( для MOV = 4 ) - для команд, у которых 
                                           первый операнд не обращается к памяти,
                                           а второй - обращается.
    Кроме того, команда MOV имеет при некоторых режимах адресации дополнительные штрафы от 1 до 4 тактов, природа которых пока совсем не понятна.

    Теперь попробуем определить при помощи предложенного формализма продолжительность выполнения процессором 1801ВМ1 в ОЗУ ДВК-1 команды
    Код:
    	Add	@TAB(R1), -(R0)
    1. Сначала определим используемые циклы шины и их продолжительность: DATI (чтение кода команды) + DATI (чтение смещения к адресу первого операнда) + DATI (чтение адреса первого операнда) + DATI (чтение первого операнда) + DATIO (чтение-модификация-запись второго операнда) = [7+tn]+[7+tn]+[7+tn]+[7+tn]+[13+2tn] = 77 тактов.

    2. Теперь определим используемые штрафы: [Штраф исполнения]+[Штраф второго операнда]+[Штраф отмены предвыборки]+[Штраф префиксной адресации ( за второй операнд ) ] = 1+1+2+1 = 5 тактов.

    3. Определим суммарную продолжительность выполнения команды: 77 + 5 = 82 такта ( что полностью соответствует измеренной величине ) .
    Последний раз редактировалось Patron; 18.12.2012 в 13:03.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 234
    Последнее: 26.02.2021, 11:05
  2. Время выполнения команд CPI/CPD/CPIR/CPDR
    от ARTi в разделе Программирование
    Ответов: 27
    Последнее: 18.12.2007, 16:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •