Проектирование вычислительного устройства

1.1 Выбор и обоснование алгоритма Для удобства
проектирования вычислительного устройства необходимо разработать алгоритм.
Вычислительный процесс разбивается на шаги, каждый шаг изображается в виде
блока, а весь вычислительный процесс в виде последовательности блоков. Исходя из
заданного критерия проектирования выберем алгоритм работы процессора, при
котором должно обеспечиваться максимальное быстродействие, следует отметить, что
графическое изображение алгоритма должно точно и четко отображать вычислительный
процесс, являясь наглядным способом документирования процесса описания решения
задания с помощью процессора. Таким образом, при выполнении арифметических или
логических операций, а также при использовании индексного АЛУ данные в регистры
будут заноситься одновременно, это обеспечивается за счет наличия двух портов
при обращении и при считывании из РОН. За счет такого фактора значительно
повышается быстродействие работы процессора. Отметим также, так как при
проектировании используются два управляющих автомата, то функционирование
процессора будет приведено на двух схемах алгоритма- разделение для логических и
арифметических операций выполняемых АЛУ и для остального функционирования
При начале функционирования
процессора производится установка в нулевое состояние счетчика стека – дно
стека, установка счетчика команд в начальное состояние равное
16 . На регистр адреса ОЗУ засылается значение адреса
СТК и по данному адресу выбирается и пересылается команда в старшие 16 разрядов
RGbuf, инкремент СТК (операторная вершина F12). После увеличения счетчика команд
идет проверка на максимальное значение, при максимуме выставляется флажок и
происходит переход на ОСТАНОВ. Далее производится довыборка команды вмладшие
разряды аналогичным путем. Команда пересылается в RGK, происходит дешифрация
команды и производится формирование исполнительного адреса. x =0, то на RG2IALU засылается операнд из РОН, адрес которого указан
по полю R в RGK (операторная вершина АB18),
производится сложение данного регистра и смещения D. При наличии переполнения
выставляется флажок и процессор переходит в режим ОСТАНОВ, иначе получаем
А2 =0, то на RG1IALU засылается операнд из РОН, адрес которого указан
по полю R в RGK (операторная вершина Y17),
производится сложение данного регистра и смещения D. При наличии переполнения
выставляется флажок и процессор переходит в режим ОСТАНОВ, иначе получаем
А2 0 и
R 0, то на RG1IALU
заносится значение РОН, адрес которого берется из поля
R (операторная вершина M17). В RGadr
суммируются содержимое регистров (операторная вершина M18) и при отсутствии
переполнения происходит сложение полученной суммы со значением поля D, таким
образом, получаем А2 После формирования
исполнительного адреса, данные для выполнения операций выдаются на шины, а затем
заносятся в соответствующие регистры АЛУ (операторная вершина АE45), далее
происходит дешифрация кода операции 3 и 4 бита для определения конкретного типа
операции. Выполняется сложение содержимого регистров
АЛУ с записью результата в RGres. При наличии переполнения выставляется
соответствующий флажок в RGf и процессор переходи в режим ОСТАНОВ. При
отсутствии переполнения выставляется флажок, говорящий о положительном или
отрицательном значении данных, а также проверяется условие на нулевой результат
(операторная вершина E19) с выставлением соответствующего флажка. После этого
результат выдается на шину и затем заносится в соответствующий РОН (операторная
вершина D22). Операция вычитание заменяется
операцией сложения, однако, второе слагаемое инвертируется, а на сумматор
подается входной перенос (операторная вершина K11). Так как операция сводится к
сложению, дальнейшие действия повторяются в порядке указанном выше начиная с
проверки на переполнение. и в нуль
устанавливается RGres (операторная вершина AA8). Младший разряд RG1ALU -
множитель проверяется на равенство единице. При равенстве суммируется значение–
множимое со значением регистра результата. Далее, а также и при равенстве нулю
младшего разряда множителя происходит сдвиг вправо на один разряд RG1ALU и RGres
(операторная вершина Y14). Затем проверяется значение счетчика циклов на
равенство нулю, при отсутствии нуля повторяется цикл с операторной вершины AA11.
При установке счетчика циклов в нулевое состояние проверяется условие на
положительное или отрицательное значение множителя, если множитель отрицательное
число, то произведение чисел дополнительного кода получается прибавлением
поправки к произведению дополнительных кодов сомножителей (поправка –
проинвертируемое множимое и подача на сумматор входного переноса). После
выполнения умножения результат необходимо округлить (операторная вершина Y21), к
значению результата прибавляется ранее сдвинутый младший 32 разряд.
RGadr
загружается содержимым поля RGK(8:31), адрес передается на регистр адреса ОЗУ,
по которому на буферный регистр заносятся данные, сначала старшие, а затем
младшие разряды. В RG1ALU заносятся данные из буфера, а на RG2ALU заносятся
данные из РОН (РОН выбирается по полю R1),операнды из буфера и из РОН выдаются
на шины ШД , а затем уже
непосредственно в регистры индексного АЛУ – операторная вершина АР18. Далее
дешифрация 3 и 4 бита кода операции. После дешифрации выполняются логические
операции И (операторная вершина T4), ИЛИ (операторная вершина Z4) и сложение по
модулю два (операторная вершина AG4). Каждая операция при завершении проверяется
на равенство результата нулевому значению, затем содержимое RGres переносится в
соответствующий РОН через шину данных. По данной
команде производится запись из РОН, адрес которого указан в поле R1, в
ОЗУ[Adr]. В СТadr заносится адрес ячейки памяти. В регистр буфера из РОН
пересылается операнд, затем из СТadr содержимое пересылается в регистр адреса
ОЗУ, а в регистр слова ОЗУ пересылаются старшие 16 разрядов (вершина M37), СТadr
увеличивается на единицу, проверяется на максимальное значение. При отсутствии
максимума в ОЗУ передаются младшие 16 разрядов (M46). При полном заполнении
СТadr, выставляется флажок о переполнении и переход на
ОСТАНОВ. Загрузка операнда производится из ячейки
ОЗУ по адресу, занесенному в регистр адреса ОЗУ из CTadr (вершина Т37) в один из
РОН. Загрузка производится через буферный регистр (вершина Т40) сначала старших,
а затем младших разрядов. Из буфера 32 разрядный операнд передается в РОН, адрес
которого указан по полю R1 (операторная вершина Т51). Анализируется флаг Z,
характеризующий нулевое значение результата, флаг вырабатывается в АЛУ. При
наличии этого флажка в СТК заносится адрес перехода (вершина В34), взятый по
полю Adr из RGK. В противном случае переход на начало. Для выполнения данной команды используется стек,
находящийся в ОЗУ. Указателем стека является СТST. При получении КОП данной
команды СТК заносится в буферный регистр (вершина F33). Содержимое СТST
заносится в регистр адреса ОЗУ, а старшие разряды RGbuf заносятся в регистр
слова ОЗУ (вершина F36). СТST увеличивается на единицу, проверяется на
переполнение и при отсутствии его происходит повтор, начиная с заноса
содержимого СТST в регистр адреса ОЗУ (операторная вершина F46). СТST
увеличивается на единицу, проверяется на переполнение, при отсутствии
переполнения в счетчик команд заносится адрес перехода, взятый из RGK по полю
Adr [5:28]. При проверке 0-го разряда КОП и
равенстве его единице выставляется в единичное состояние триггер END (вершина
C26) и процессор заканчивает обработку программ. 2.1 Выбор и обоснование структурной
электрической схемы Для построения схем других типов, а также для
общего ознакомления с изделием необходима структурная электрическая схема.
Определяется основной состав центральной части ЭВМ. Особенностями разработки
процессора: будут использованы регистры общего назначения с доступом по двум
портам (один порт только на чтение), используются два устройства управления с
программируемой логикой (общее УУ и местный управляющий автомат для АЛУ).
Центральная часть (ОЗУ + ЦП) также содержит АЛУ, ИАЛУ, RGK, CTK, CTST, RGbuf.
В
состав центральной части ЭВМ, представленной на структурной схеме входят
следующие компоненты: состоит из двух
регистров для приема и фиксации исходных операндов RG1ALU и RG2ALU, причем
RG2ALU имеет кроме прямых выводов также инверсные выходы, сумматора для
выполнения арифметических операций, регистра результата RGALURES. RG1ALU и
RG2ALU являются сдвиговыми. Содержатся логические элементы для выполнения
операций И, ИЛИ, исключающее ИЛИ. CTsycl служит для счета циклов при операции
умножения. В состав АЛУ также входят комбинационные схемы, формирующие флаги о
переполнении, о знаке и о нулевом результате. АЛУ содержит
собственный управляющий автомат с программируемой логикой с регулярной
адресацией содержащий, предназначенный для формирования необходимой
последовательности управляющих сигналов для функциональных узлов АЛУ и
осведомительных сигналов для общего управляющего устройства. -
регистры общего назначения. Предназначены для хранения данных, модификаторов,
необходимых для вычисления исполнительного адреса для обращения к ОЗУ. устройство управления с программируемой логикой с регулярной адресацией.
Формирует последовательности управляющих сигналов для всех функциональных узлов
процессора и осведомительных сигналов чтения и записи для ОЗУ. регистр команд предназначен для
хранения выполняемой команды. На своем выходе имеет комбинационные схемы для
проверки недопустимости 0-го РОН в качестве места хранения модификаторов для
вычисления исполнительных адресов. 0 предназначено для вычисления
исполнительного адреса. Включает два регистра RG1IALU и RG2IALU для приема и
фиксации модификаторов из РОН. Сумматор складывает содержимое регистров и
прибавляет к ним смещение поступающее сразу из RGK. Результат записывается в
регистр адреса. CTadr предназначен для принятия, хранения, передачи и при
необходимости работы в счетном режиме, адресов на ША, рассчитанных а самом ИАЛУ,
принятых из RGK. . Они
предназначены для одновременной выдачи в ИАЛУ и в АЛУ данных - работа с
двухпортовый РОН. Это значительно повышает быстродействие, что обеспечивает
требуемый критерий проектирования. 3.1 Выбор и обоснование функциональной электрической
схемы Функциональная схема поясняет процессы, происходящие в
проектируемом процессоре. На данной схеме показаны функциональные узлы,
участвующие в процессе, и связи между этими узлами. Функциональная схема
строится на основе структурной электрической схемы, и дает возможность для
дальнейшего построения принципиальной электрической схемы как отдельного блока,
так и устройства в целом. В виду того, что необходимо максимальное
быстродействие используется двухпортовый РОН, в связи с этим внутри процессора
имеются две шины данных ШД работает
только на чтение. Так как ширина выборки из ОЗУ равна 16 бит, а ширина
внутренней шины данных 32 разрядная, необходимо использовать буферный регистр.
Для управления в схеме используются два управляющих устройства, общее УУ и
местный УА для АЛУ. Для выполнения арифметических и логических операций служит
АЛУ, для вычисления адреса предназначено индексное АЛУ. Для вычисления
продвинутого адреса служит CTK, а для работы со стеком CTST. Взаимодействие
функциональных блоков между собой рассмотрим в техническом описании
функциональной электрической схемы. При поступлении
данных на ШД RGbuf записывает и накапливает 32 разряда и выдает на
ШД , Эта команда поступает на RGK, КОП отсылается у УУ
и на основании этого начинается работа с определенным блоком. MUX1 и DC предназначены для выбора одного из
РОН. При работе со стеком включается в работу CTST, который после
инициализации увеличивается на единицу и показывает свободную ячейку памяти.
Адрес из него поступает на ША, так как он 4-х разрядный, то старшие разряды
всегда нули. или адрес взятый из поля RGK[5:28]. СТК выдает
данные на ША и при необходимости на ШД MUX4 пропускает данные на SMIALU с
RG1IALU, с CTadr и из поля RGK[14:31]. MUX6 принимает данные от сумматора IALU, из поля RGK[14:31] и
адреса от RGK. DMX2 выдает данные от CTadr и выдает на ША или обратно на
SMIALU, для продолжения операции вычисления исполнительного адреса. MUX7 и MUX8
передают операнды на SMALU, причем MUX7 пропускает прямое или инверсное значение
RG2ALU, а MUX8 пропускает операнд из RG1ALU или с RGres при умножении. MUX9
предназначен для управления переносами, идущими в SMALU. При отсутствии
переноса, пропускается нуль, единица пропускается при коррекции умножения и при
округлении пропускается значение,установленное в триггере Т. MUX10 необходим
для пропуска на RGres данных из сумматора при выполнении арифметических операций
или данных из логик при выполнении логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ.
RGres и RG1ALU являются сдвиговыми регистрами, необходимо при выполнении
умножения, причем для сохранения знака в RG1ALU при сдвиге вправо нулевой разряд
переписывается обратно на свое место, а при сдвиге RGres для сохранения знака,
нулевой разряд переписывается из RG2ALU. Логические элементы, стоящие на выходе RGres и на выходе SMALU
отвечают за формирование флагов, характеризующих результат арифметических и
логических операций. Логические элементы, стоящие на выходе RGK отвечают за
формирование флагов, характеризующих 0-й РОН при вычислении исполнительного
адреса. Оба устройства управления выполнены по схеме с
регулярной адресацией. В этой схеме при разветвлении процесса, один адрес на
единицу больше, чем текущий, второй адрес - произвольный. Элементом
вычисляющим адрес, является счетчик СТ1 и СТ2, управляемый сигналом,
являющимся входным для УУ. В зависимости от значения входного сигнала счетчик
либо прибавляет единицу к значению, которое хранилось в счетчике и являлось
текущим адресом, либо загружается значением адреса из управляющей памяти.
Элемент по модулю 2 позволяет инвертировать значение входного сигнала, что
облегчает распределение микроинструкций. ROM1 и ROM2 - ПЗУ, на которые
подаются адреса для выбора одного из управляющих сигналов. Выбор элементной базы производится исходя из задания на
разработку, то есть исходя из основного назначения и критерия на
проектирование. Для конкретного выбора элементной базы необходимо рассмотреть
несколько различных серий. Наиболее широкое распространение в современной
аппаратуре получили серии микросхем ТТЛ, ТТЛШ, ЭСЛ и схемы на КМОП-структурах.
Опыт показал, что эти цифровые микросхемы отличаются лучшими электрическими
параметрами, удобны в применении, имеют более высокий уровень интеграции и
обладают большим функциональным разнообразием. На основании вышесказанного
составим сравнительную таблицу некоторых электрических параметров этих
серий. Задержка распространения сигнала при включении, нс Задержка распространения сигнала при выключении, нс Диапазон рабочих температур, °С Напряжение питания, В Выходное
напряжение низкого уровня, В Выходное
напряжение высокого уровня, В Нагрузочная
способность Частота переключения триггеров,
МГц Помехоустойчивость, В Работа переключения (Р*t), nДж Входной ток
низкого уровня, мА Проанализировав таблицу
и сопоставив данные заданием , можно сказать, что для курсового проекта отдадим
предпочтение более быстродействующим сериям ТТЛШ и ЭСЛ, КМОП. Недостатком ЭСЛ
является их повышенная потребляемая мощность. Отметим также, что цифровые
микросхемы ТТЛШ остаются основой построения вычислительных устройств, а также
эта серия отличается наибольшим диапазоном выбора микросхем. Широкое применение
получили микросхемы, в которых используются диоды и транзисторы с эффектом
Шотки. Использование диодов Шотки позволило уменьшить потребляемую мощность и
время задержек. К достоинствам ТТЛ микросхем можно отнести высокий уровень
схемно-технологической отработанности, и, как следствие, высокий процент выхода
годных микросхем. Также микросхем ТТЛШ отличает широкий функциональный набор
элементов. 530,
531 2 Выходное напряжение высокого уровня,
В Выходной ток низкого уровня,
мА Выходной ток высокого уровня, мА Задержка распространения сигнала при включении,
нс Задержка распространения сигнала при выключении,
нс 0,3 5,5 [-60…+125 (1533,530,М530,1531)]----------[-
10…+70 (К555,КП531,КР1533,КР1531)] Анализируя таблицу ТТЛШ
серий, скажем, что для проектирования узлов взяты наиболее быстродействующие
микросхемы КР531 и 1531, а также маломощные, серии 533 и 1533. Принципиальная
схема определяет полный состав элементов и связей между ними и дает детальное
представление о принципе работы РОН. Принципиальная схема построена на основе
функциональной электрической схемы. Микросхемы DD11-DD14, DD21-DD24, DD32-
DD35, DD42-DD45, DD58-DD60, DD68-DD71, DD86-DD89, DD95-DD98 представляют собой
регистры 1533ИР34 по два в корпусе. На их основе построены 8 32-х разрядных
регистров общего назначения. Каждая из микросхем имеет вход обнуления, вход
разрешения записи и вход разрешения выдачи на который всегда подан управляющий
низкий уровень. Микросхема DD1 представляет собой дешифратор КР531ИД7 с
помощью которого выбирается один из РОН, а так как он имеет инверсные выходы, то
к нему подключены инверторы - микросхемы DD2 и DD3, по шесть инверторов в одном
корпусе (причем в DD3 используются только два). С помощью микросхем DD25 и
DD78 происходит управление записью в РОН. Эти микросхемы являются логическими
элементами И на три входа по три в корпусе, причем в DD78 используются только
два. данные выводятся с помощью микросхем DD5-DD7, DD15-
DD17, DD26-DD28, DD36-DD38, DD46-DD48, DD52-DD54, DD62-DD64, DD72-DD74, DD79-
DD81, DD90-DD92, DD99-DD100. На ШД данные выводятся с
помощью микросхем DD8-DD10, DD18-DD20, DD29-DD31, DD39-DD41, DD49-DD51, DD55-
DD57, DD65-DD67, DD75-DD77, DD82-DD85, DD93-DD94, DD101-DD102. Инверсный выход
данных микросхем не используется. Схема питается напряжением 5В, которое
подается на 14 выводы микросхем DD2-DD4, DD25, DD78, на 16 вывод микросхем DD1,
DD5-DD10, DD15-DD20, DD26-DD31, DD36-DD41, DD46-DD57, DD62-DD67, DD72-DD77,
DD79-DD85, DD90-DD94, DD99-DD102 и на 24 вывод микросхем DD11-DD14, DD21-DD24,
DD32-DD35, DD42-DD45, DD58-DD61, DD68-DD71, DD86-DD89, DD95-DD98. Общий провод
для микросхем DD2-DD4, DD25, DD78 является7, 8 вывод микросхем DD1, DD5-DD10,
DD15-DD20, DD26-DD31, DD36-DD41, DD46-DD57, DD62-DD67, DD72-DD77, DD79-DD85,
DD90-DD94, DD99-DD102 и 12 вывод микросхем DD11-DD14, DD21-DD24, DD32-DD35,
DD42-DD45, DD58-DD61, DD68-DD71, DD86-DD89, DD95-DD98. для записи в регистры ждут появления не только
прихода синхроимпульса, но и прихода сигнала РЕ, а также прихода сигнала от
дешифратора выбора определенного регистра. Для вывода данных на
ШД мультиплексоры, работающие с этой шиной ждут
управления адресными входами, для выбора определенного регистра, а также
управляющего сигнала на вход , разрешающего вывод информации на шину данных.
Аналогичным образом происходит выдача на ШД На
принципиальной схеме присутствуют конденсаторы, предназначенные для подавления
помех по цепи питания. Эффективным средством защиты интегральных схем от помех
по цепи питания является включение конденсаторов развязки между шинами питания и
общей. Обычно конденсаторы развязки устанавливаются отдельно для блокирования
низкочастотных и высокочастотных помех. Низкочастотные помехи, проникающие в
систему по цепи питания, должны блокироваться с помощью электролитического
конденсатора C1-С10 емкостью 1мкФ. Взят конденсатор К50-6-1 Для исключения высокочастотных помех развязывающие
емкости взяты номиналом 0,015мкФ на одну микросхему. Следовательно для нашего
случая взяты десять емкостей С11 - С20. Взят конденсатор КМ-5-Н90-
0,015 4.4 Техническое описание принципиальной электрической
схемы ИАЛУ Принципиальная схема определяет полный состав элементов и связей
между ними и дает детальное представление о принципе работы ИАЛУ. Принципиальная
схема построена на основе функциональной электрической схемы. Микросхемы DD1-
DD6, представляют собой регистры 1533ИР34 по два в корпусе. На их основе
построены 2 24-х разрядных регистров ИАЛУ для приема и хранения модификаторов
для вычисления исполнительного адреса. Каждая из микросхем имеет вход обнуления,
вход разрешения записи и вход разрешения выдачи на который всегда подан
управляющий низкий уровень. Микросхемы DD1-DD32, DD38-DD40 представляет собой
сумматоры 533ИМ6 для суммирования модификаторов исполнительного адреса. Перенос
входящий в младший разряд всегда равен нулю. Для вылавливания переполнения на
выходе сумматора, то есть перенос выходящий из старшего разряда записывается в
триггер флагов DD44.1, который в свою очередь вырабатывает соответствующий
осведомительный сигнал. Триггер построен на основе микросхемы К531ТМ2П (два
триггера в корпусе). Второй триггер используется для вылавливания переполнения
счетчика. Счетчики 1533ИЕ7 DD53-DD55,DD60-DD62 выполняют роль регистра и
счетчика при необходимости. Вычисленный адрес передается на ША (на секцию
разъема Х1.4) или обратно возвращается на сумматор через дешифратор-
демультиплексор КР531ИД14 ( два дешифратора в одном корпусе) DD45-DD52, DD56-
DD59. Для выбора направления передачи используется вход
А незадействованный вход,
всегда подключен к нулевому потенциалу. Информация подается на входы
. Мультиплексоры DD7-DD9, DD13-DD15, DD20-DD22, DD26-DD28 построенные на
микросхемах КР531КП2 (два мультиплексора в одном корпусе, имеющие общие адресные
входы, входы разрешения выдачи данных всегда активны - низким потенциалом )
пропускают на сумматор (вход А) содержимое регистра DD-DD2, DD5 или значение
пришедшее со счетчика или данные пришедшие из вне ИАЛУ (с разъема
Х1.9) Мультиплексоры DD10-DD12, DD16-DD18 построены на микросхемах КР531КР11
пропускают на сумматор (вход В) значения регистра DD3-DD4, DD6 или данные
пришедшие из вне (с разъема Х1.9), управляются адресным входом S, вход
разрешения выдачи всегда активен. Мультиплексоры DD23-DD25, DD29-DD31, DD35-
DD37, DD41-DD43 построенные на микросхемах КР531КП2 (два мультиплексора в одном
корпусе, имеющие общие адресные входы, входы разрешения выдачи данных всегда
активны - низким потенциалом ) пропускают на счетчик данные из сумматора или из
вне ИАЛУ (с разъема Х1.9) или так же из вне ИАЛУ (из секции разъема
Х1.2). Схема питается напряжением 5В, которое подается на 14 вывод микросхемы
DD44, на 16 вывод микросхем DD7-DD43, DD45-DD62, и на 24 вывод микросхем DD1-
DD6. Общий провод для микросхемы DD44 является7, 8 вывод микросхем DD7-DD43,
DD45-DD62 и 12 вывод микросхем DD1-DD6. Первоначально все регистры
устанавливаются в нулевое состояние, затем сумматор складывает значения
пришедшие из соответствующих мультиплексоров и передает на счетчик через
соответствующий мультиплексор, затем идет возврат на сумматор для дальнейшего
вычисления или выдача на ША. Эффективным средством защиты интегральных схем от помех по цепи
питания является включение конденсаторов развязки между шинами питания и общей.
Обычно конденсаторы развязки устанавливаются отдельно для блокирования
низкочастотных и высокочастотных помех. Низкочастотные помехи, проникающие в
систему по цепи питания, должны блокироваться с помощью электролитического
конденсатора C1-С6 емкостью 1мкФ. Взят конденсатор К50-6-1 Для исключения высокочастотных помех развязывающие
емкости взяты номиналом 0,015мкФ на одну микросхему. Следовательно для нашего
случая взяты десять емкостей С7 - С12. Взят конденсатор КМ-5-Н90-
0,015 Неиспользуемые информационные
входы подключены к + источника питания через резистор,
сопротивлением 1 кОм, один такой резистор обеспечивает подключение 20 входов.
Для данной схемы используются подключение трех резисторов МЛТ -1к