Часть полного текста документа:Проектирование вычислительного устройства 1. АЛГОРИТМ РАБОТЫ ПРОЦЕССОРА 1.1 Выбор и обоснование алгоритма Для удобства проектирования вычислительного устройства необходимо разработать алгоритм. Вычислительный процесс разбивается на шаги, каждый шаг изображается в виде блока, а весь вычислительный процесс в виде последовательности блоков. Исходя из заданного критерия проектирования выберем алгоритм работы процессора, при котором должно обеспечиваться максимальное быстродействие, следует отметить, что графическое изображение алгоритма должно точно и четко отображать вычислительный процесс, являясь наглядным способом документирования процесса описания решения задания с помощью процессора. Таким образом, при выполнении арифметических или логических операций, а также при использовании индексного АЛУ данные в регистры будут заноситься одновременно, это обеспечивается за счет наличия двух портов при обращении и при считывании из РОН. За счет такого фактора значительно повышается быстродействие работы процессора. Отметим также, так как при проектировании используются два управляющих автомата, то функционирование процессора будет приведено на двух схемах алгоритма- разделение для логических и арифметических операций выполняемых АЛУ и для остального функционирования 1.2 Техническое описание алгоритма При начале функционирования процессора производится установка в нулевое состояние счетчика стека - дно стека, установка счетчика команд в начальное состояние равное 1610, т.е. первая команда будет выбрана из ОЗУ по адресу 1610. На регистр адреса ОЗУ засылается значение адреса СТК и по данному адресу выбирается и пересылается команда в старшие 16 разрядов RGbuf, инкремент СТК (операторная вершина F12). После увеличения счетчика команд идет проверка на максимальное значение, при максимуме выставляется флажок и происходит переход на ОСТАНОВ. Далее производится довыборка команды вмладшие разряды аналогичным путем. Команда пересылается в RGK, происходит дешифрация команды и производится формирование исполнительного адреса. Команды формата RX. Для формата RX проверяются на нуль поля Rb и Rx, в случае равенства нулю на RGadr пересылается значение поля D (операторная вершина X15) и А2исп будет сформирован. В случае Rb =0, то на RG2IALU засылается операнд из РОН, адрес которого указан по полю Rx в RGK (операторная вершина АB18), производится сложение данного регистра и смещения D. При наличии переполнения выставляется флажок и процессор переходит в режим ОСТАНОВ, иначе получаем А2исп в RGadr. В случае Rx =0, то на RG1IALU засылается операнд из РОН, адрес которого указан по полю Rb в RGK (операторная вершина Y17), производится сложение данного регистра и смещения D. При наличии переполнения выставляется флажок и процессор переходит в режим ОСТАНОВ, иначе получаем А2исп в RGadr. В случае Rb№0 и Rx№0, то на RG1IALU заносится значение РОН, адрес которого берется из поля Rb, а на RG2IALU заносится значение РОН, адрес которого берется по полю Rx (операторная вершина M17). В RGadr суммируются содержимое регистров (операторная вершина M18) и при отсутствии переполнения происходит сложение полученной суммы со значением поля D, таким образом, получаем А2исп. После формирования исполнительного адреса, данные для выполнения операций выдаются на шины, а затем заносятся в соответствующие регистры АЛУ (операторная вершина АE45), далее происходит дешифрация кода операции 3 и 4 бита для определения конкретного типа операции. ............ |