У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


введення X може приймати дані з двох джерел: з регістра Ах і з шини результатів R. R-шина сполучає вихідні регістри всіх обчислювальних модулів. Регістр AX призначений тільки для порту X і складається з двох частин AX0 і AX1. Ці регістри подключенны до DMD-шине. Система команд дозволяє читання регістра AX і за допомогою PMD-шины, але прямого з'єднання з нею немає, ця операція використовує модуль DMD-PMD обміну. Виводи регістрів AX0 і AX1 реалізовані так, щоб один забезпечував введення в ALU, а інший в цей час управляв DMD-шиной.

Порт введення Y також приймає дані з двох джерел: з регістра AY і регістра зворотного зв'язку ALU – AF. Регістр AY прив'язаний до порту Y і состои з двох регістрів AY0 і AY1. Ці регістри даступны для читання і запису з DMD-шины і перезаписываемы з PMD-шины. Система комманд дозволяє читати регістри AY0 і AY1 за допомогою PMD-шины, але те ж з використанням модуля DMD-PMD. Виводи ругистров AY0 і AY1 реалізовані аналогічно регістрам AX0 і AX1.

Вихід ALU підключений до вихідного регістра результату AR і через регістр зворотного зв'язку AF на вхід. AF – внутрішній регістр ALU, який дозволяє результату обчислення використовуватися як наступний операнд. Регістр AR має вихід на DMD- і R-шины. У системі комманд передбачена можливість читання регістра AR за допомогою PMD-шины аналогічно двом попереднім випадкам.

Будь-який з регістрів ALU доступний для запису і читання в течії циклу процесора (для читання на початку циклу, для читання - в кінці). Таким чином, нове значення, записане в кінці одного циклу, може бути прочитаний лише на початку наступного. Це дозволяє вхідним регістрам записати в ALU опренд на початку циклу і вважати наступний в кінці того ж циклу. Це так само дозволяє зберегти вміст регістра результату в пам'яті і прооперувати з наступним результатом в одному циклі.

ALU має подвійні банки регістрів AX, AY, AF і AR (на рис.2.1 це показано тінями). Але воднораз часу доступний тільки один банк. Доплнітельний банк може бути активізований для надзвичайно швидкого контекстного перемикання. В цьому випадку нове завдання, подібно до підпрограми обробці переривання, може выполнияться без збереження поточних даних в пам'яті.

Вибір головного або альтернативного банку регістрів визначається бітом 0 регістра режимоа процесора MSTAT. Якщо цей біт – 0, то вибраний головний банк, якщо – 1, то додатковий.

Стандартні функції

Стандартні функції ALU перечисленны в таблиці 2.1.

Таблиця 2.1

Функція |

Призначення

R= X+Y |

Складання операндів X і Y

R= X+Y+CI |

Складання операндів X і Y і біта корекції

R= X-Y |

Віднімання операндів X з Y

R= X-Y+CI-1 |

Віднімання операндів X з Y з позикою

R= -X |

Інверсія X

R= -Y |

Інверсія Y

R= X+1 |

Інкремент X

R= Y+1 |

Інкремент Y

R= X-1 |

Декремент X

R= Y-1 |

Декремент Y

R= PASS X |

Операнд X не змінює результату

R= PASS Y |

Операнд Y не змінює результату

R= 0 |

Очищення результату

R= ABS X |

Модуль X

R= X AND Y |

Логічне множення операндів X і Y

R= X OR Y |

Логічне складання опреандов X і Y

R= X XOR Y |

Що виключає АБО операндів X і Y

R= NOT X |

Заперечення X

R= NOT Y |

Отріценіє Y

Регістри введення виведення ALU

Регістри введення ALU перечисленны нижче.

Регістри для порту X: AX0, AX1, AR, MR0, MR1, MR2, SR0, SR1.

Регістри для порту Y: AY0, AY1, AF.

Регістри для порту R: AR, AF.

Регістри MR0, MR1, MR2 є регістрами результатів модуля MAC, а SR0, SR1 – модуля Shifter.

Можливість мультиточности

Операції мультиточности в ALU пов'язані з сигналом carry-in і бітом перенесення AC. Операція складання з перенесенням призначена для складання старших частин мультиточных чисел, також як, віднімання з позикою – для їх віднімання.

Режим насичення ALU

Регістр AR має режим роботи - насичення, в якому він встановлюється в мінімальне негативне значення або максимальне позитивне, якщо операція закінчується переповнюванням. Ця функція регістра AR стає можливою при установці 3 регістри MSTAT.

Таблиця 2.2.

Переповнювання (AV) |

Carry (AC) |

Вміст AR

0 | 0 | Результат на виході ALU

0 | 1 | Результат на виході ALU

1 | 0 | 0111111111111111 (покладе.)

1 | 1 | 1000000000000000 (отриц.)

Режим блокування переповнювання

Режим блокування переповнювання вирішується при установки бита 2 регістри MSTAT. У цьому режимі при переповнюванні битий AV встановлюється і при подальших операціях залишається в цьому стані, таким чином наступне переповнювання вже не генерується. Біт стану AV можна очистити безпосередньо з DMD-шины.

Ділення

ALU підтримує методи ділення. Ділення здійснюється шляхом складання і циклічного зрушення за допомогою двох спеціальних примітивів. Ділити можна знакові і без знакові числа, проте дільник і ділиме мають бути одного типу.

Звичайна точність ділення (32-розрядне ділиме, 16-розрядний дільник, 16-розрядний залишок) реалізується за 16 циклів. Може бути отримана велика або менша точність залишку. Дільник може бути збережений в регістрі AX0, AX1 або в будь-якому регістрі результатів R. Старший байт знакового дільника повинен знаходитися або в регістрі AY1, або в AF, без знакового – в AF. Молодший байт дільника будь-якого типу повинен знаходитися в AY0. Залишок після ділення буде записаний в регістр AY0.

Перший з двох примітивів - це команда «ділення-знак (DIVS) », преназначена для ділення чисел із знаком. Вона обчислює знаковий біт залишку виконуючи операцію ІСЬКЛЮЧАЮЩЄЄ-ІЛІ для знакових розрядів дільника і ділимого. Регістр AY0 зрушується на одну позицію так, щоб знаковий розряд перемістився в позицію LSB. Обчислений зныковый розряд зберігається в біт AQ регістра стану. Структура операції DIVS показанна


Сторінки: 1 2 3 4 5 6 7