Аппаратно программные платформы корпоративных информационных систем


         

Выполнение типичной команды можно разделить


Выполнение типичной команды можно разделить на следующие этапы:

  • выборка команды - IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);


  • декодирование команды / выборка операндов из регистров - ID;


  • выполнение операции / вычисление эффективного адреса памяти - EX;


  • обращение к памяти - MEM;


  • запоминание результата - WB.


  • На рисунке 5.4 представлена схема простейшего процессора, выполняющего указанные выше этапы выполнения команд без совмещения. Чтобы конвейеризовать эту схему, мы можем просто разбить выполнение команд на указанные выше этапы, отведя для выполнения каждого этапа один такт синхронизации, и начинать в каждом такте выполнение новой команды. Естественно, для хранения промежуточных результатов каждого этапа необходимо использовать регистровые станции. На рисунке 5.5 показана схема процессора с промежуточными регистровыми станциями, которые обеспечивают передачу данных и управляющих сигналов с одной ступени конвейера на следующую. Хотя общее время выполнения одной команды в таком конвейере будет составлять пять тактов, в каждом такте аппаратура будет выполнять в совмещенном режиме пять различных команд.

    Работу конвейера можно условно представить в видевременные диаграммы (рисунок 5.6), на которых обычно изображаются выполняемые команды, номера тактов и этапы выполнения команд.



























































































































































    Номер команды Номер такта



    1 2 3 4 5 6 7 8 9
    Команда i IF ID EX MEM WB







    Команда i+1

    IF ID EX MEM WB





    Команда i+2



    IF ID EX MEM WB



    Команда i+3





    IF ID EX MEM WB

    Команда i+4







    IF ID EX MEM WB



    Содержание  Назад  Вперед