Разработчик компьютера ENIAC, Джон фон Нейман, был первым создателем АЛУ. В 1945 году он опубликовал первые научные работы по новому компьютеру, названному англ. Electronic Discrete Variable Computer (EDVAC).
Фон Нейман отмечал, что АЛУ необходимо для компьютера, поскольку оно гарантирует, что компьютер будет способен выполнять базовые математические операции включая сложение, вычитание, умножение и деление.
Арифметико-логическое устройство в зависимости от выполнения функций можно разделить на две части:
- микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
- операционное устройство, в котором реализуется заданная последовательность микрокоманд (команд).
Операции в АЛУ
Все выполняемые в АЛУ операции являются логическими операциями (функциями), которые можно разделить на следующие группы:
- операции двоичной арифметики для чисел с фиксированной точкой;
- операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
- операции десятичной арифметики;
- операции индексной арифметики (при модификации адресов команд);
- операции специальной арифметики;
- операции над логическими кодами (логические операции);
- операции над алфавитно-цифровыми полями.
К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»).
Группу логических операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над многоразрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остаётся на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами).
Обширна группа операций редактирования алфавитно-цифровой информации. Каждая операция в АЛУ является логической функцией или последовательностью логических функций описываемых двоичной логикой для двоичных ЭВМ, троичной логикой для троичных и т.д.
Классификация АЛУ:
По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
Разработка микропроцессорного устройства
... Разработать микропроцессорное устройство, выполняющее операции вычисления целых чисел, используя: Принцип схемной логики; Принцип программируемой логики. В процессорное устройство необходимо включить логические элементы для ... Дорогостоящий эксперимент может быть полностью просчитан и имитирован на компьютере. Разработка способов и методов представления информации, технологии решения задач с ...
По способу представления чисел различают АЛУ:
- для чисел с фиксированной точкой;
- для чисел с плавающей точкой;
- для десятичных чисел.
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования. В многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие приём из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметико-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определённых микроопераций. Генерируемая управляющим блоком последовательность сигналов определяется кодом операции команды и оповещающими сигналами.
1. Технические требования, предъявляемые к элементной базе
электрический схема мощность устройство
1. Малая потребляемая мощность в статическом режиме;
2. Очень высокое входное сопротивление;
3. Большая нагрузочная способность (> 100);
4. Большой диапазон напряжения питания (3 — 15В);
5. Малая зависимость характеристик от температуры;
6.Большое быстродействие.
Поэтому я выбрал элементную базу на основе микросхем КМОП, т.к её быстродействие растёт пропорционально увеличению уровню напряжения питания.
Основные параметры микросхем на основе КМОП — логики представлены в таблице 1.
Таблица 1 — Основные параметры микросхем на основе КМОП — логики
Наименование |
Параметры КМОП серий К561 и 564 |
|
1. Напряжение питания, UПИТ, В |
3 … 15 |
|
2. Напряжение уровня логической единицы, U1, В |
? 0,7 UПИТ |
|
3. Напряжение уровня логического нуля, U0, В |
? 0,3 UПИТ |
|
4. Выходной ток нуля и единицы, I0,1, мА |
? 100 |
|
5. Нагрузочная способность N |
IПОТР = IВЫХ |
|
6. Потребляемый ток IПОТР, А |
200 … 20 |
|
7. Время срабатывания tСРАБ, нс |
50 |
|
8. Рассеиваемая мощность на элемент РРАС, мкВт |
0.4 |
|
2. Разработка схемы электрической структурной
Для разрабатываемого АЛУ с функциями:
1) Сложение операндов A и B
2) Вычитание операндов B и C
3) Параллельная запись операндов A,B,C
Я разработал следующую структурную схему:
Исходя из выполняемых функций и структурной схемы, составляем таблицу истинности для АЛУ:
S0 |
S1 |
Выполняемая функция |
|
0 |
0 |
Параллельная запись операндов A,B,C |
|
0 |
1 |
Сложение операндов A и B |
|
1 |
1 |
Вычитание операндов B и C |
|
1 |
0 |
— |
|
Далее составим функциональную расширенную схему.
Которая делается в два этапа:
1) Составляем сначала простую функциональную схему (обобщённую).
2) Составляем полную функциональную схему.
Этап первый:
Этап второй:
3. Описание работы схемы электрической принципиальной проектируемого узла
Далее для построения электрической принципиальной схемы нам нужно разработать ряд устройств, входящих в её состав:
1) Мультиплексор 3-х канальный 4-х разрядный
2) Мультиплексор 2-х канальный 4-х разрядный
3) Сумматор
4) Управляемый инвертор
5) 4-х разрядный сдвиговый регистр
Сначала проектируем 3-х канальный 4-х разрядный мультиплексор, для этого составим таблицу состояний и переходов:
A |
B |
C |
S0 |
S1 |
D |
|
0 |
* |
* |
0 |
0 |
0 |
|
1 |
* |
* |
0 |
0 |
1 |
|
* |
0 |
* |
0 |
1 |
0 |
|
* |
1 |
* |
0 |
1 |
1 |
|
* |
* |
0 |
1 |
0 |
0 |
|
* |
* |
1 |
1 |
0 |
1 |
|
Исходя из таблицы, составим функцию возбуждения и сразу переводим в базис И-НЕ:
D=A+B S1+C S0=
Теперь строим схему мультиплексора:
Проектируем мультиплексор 2-х канальный 4-х разрядный:
Для этого составим его таблицу истинности:
S0 |
A |
B |
D |
|
0 |
0 |
* |
0 |
|
1 |
* |
0 |
0 |
|
По таблице истинности составляем функцию мультиплексора и сразу переводим в базис 3И-НЕ:
D=A+ S0B=
Теперь строим схему 2-х канального мультиплексора:
Для выполнения функции сложения операндов A и B, и функции вычитания B и С я решил использовать полный сумматор, он имеет три входа: Аi, Вi — для двух слагаемых и Рi — для переноса из предыдущего (более младшего) разряда и два выхода: Si — сумма, Pi+1 — перенос в следующий (более старший) разряд.
1) Строим таблицу истинности отражающую работ сумматора:
Pi |
Ai |
Bi |
Si |
Pi+1 |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
|
По нашей таблице составляем функции суммирования. Другими словами, пишем наши формулы, по которой будем строить сам сумматор, исходя из таблицы, они будут такими:
1)Si==
=
2)Pi+1= =AiBi+PiBi+PiAi=
По нашим формулам строим сам сумматор в базисе 3И-НЕ, как сказано в задании курсового проекта:
Управляемый инвертор будем разрабатывать относительно 1-го управляющего сигнала S,B- разряд числа и Y-результат:
S |
B |
Y |
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|
При помощи таблицы составляем функцию работы управляемого инвертора и сразу же переводим её в базис И-НЕ:
Y==
Теперь строим схему управляемого инвертора на элементах 3И-НЕ и т.к число у нас 4-х разрядное то инвертор будет состоять из 4-х частей построенных по этой формуле:
Для разработки 4-х разрядного сдвигового регистра выполняющего только функцию параллельной записи нужно разработать динамический D-триггер, а для его разработки нужно синтезировать статический D-триггер, т.к динамический триггер можно составить из 2-х статических D-триггеров:
Составим таблицу состояний и переходов синхронного D-триггера:
Сt |
Dt |
Qt |
Qt+1 |
|
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
|
Составим карту Карно:
Dt ;Qt Ct |
00 |
01 |
11 |
10 |
|
0 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
1 |
|
Объединяем по единицам(ДНФ) и составляем функцию:
Qt+1= =
===
=Rt ; CtDt=St
Сразу перевели функцию возбуждения D-триггера в RS-триггера и составляем таблицу состояний и переходов:
St |
Rt |
Qt |
Qt+1 |
|
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
1 |
0 |
0 |
1 |
|
1 |
1 |
0 |
— |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
— |
|
Составляем карту Карно:
St ;Rt Qt |
00 |
01 |
11 |
10 |
|
0 |
0 |
0 |
— |
1 |
|
1 |
1 |
0 |
— |
1 |
|
Объединяем по единицам(ДНФ) и составляем функцию:
Q= =
Теперь строим схему статического D-триггера:
Отсюда схема динамического D-триггера будет выглядеть так:
Сам регистр будет состоять из 4-х динамических D-триггеров объединённых через синхровход и будет выглядеть следующим образом:
4. Расчёт потребляемой мощности
Прежде чем рассчитать мощность нужно найти общий ток потребления используемых микросхем. Для этого по справочнику [лит. 3] найдём для используемой микросхемы по серии потребляемый ток нуля и единицы (таблица 5.1.1):
I0потреб., мА |
I1потреб., мА |
||
К561 Ла9 |
0,3 |
0,35 |
|
Определим средний ток для нашей микросхемы, т.к точно нельзя сказать переключится она в единицу или ноль:
К561 Ла9 Iср.потреб.=(( I0потреб.+ I1потреб.)/2)*кол-во=((0,3+0,35)/2)*75=24,375 мА
Общий ток будет равен К561 Ла9 Iср.потреб т.к я использовал только один тип микросхем.
Зная что микросхемы питаются от напряжения 5В, можно вычислить потребляемую мощность:
Pпотреб.=U*Iобщ=5*24,375*10-3=0,122 Вт
5. Расчёт блока питания
Блок питания состоит из трансформатора, диодного моста, фильтра и стабилизатора напряжения.
Трансформатор — элемент схемы предназначенный для преобразования переменного напряжения одного тока в напряжение другого с той же частотой.
Т.к после выпрямления напряжения через диоды, напряжение остаётся пульсирующим , то для его сглаживания используют фильтр.
В качестве фильтра используется электролитический конденсатор. Чем больше ёмкость конденсатора, тем пульсация будет меньше. Это объясняется тем, что при первом периоде, когда напряжение возрастает, конденсатор заряжается, а как только напряжение начнёт спадать, то конденсатор будет отдавать свой заряд (разряжаться) при этом пульсация будет уменьшаться, и чем больше конденсатор накопит заряд, тем меньше будет пульсация.
Так же для получения нужного уровня напряжения используется стабилизатор напряжения, для этих целей лучше использовать схему компенсационного стабилизатора.
Расчёт блока питания будем проводить в 3 этапа:
1) Расчёт трансформатора;
2) Выбор диодов;
3) Расчёт компенсационного стабилизатора.
Этап 1. Расчёт трансформатора.
Так как потребляемая мощность схемы меньше чем 5 Вт, то по заданию мы рассчитываем трансформатор на 5 Вт.
Рассчитаем мощность трансформатора. Для этого, исходя из возникающих потерь мощности, в схеме блока питания, рассчитаем эти потери:
Т.к блок питания должен выдавать мощность Pвых=5 Вт, напряжение Uвых=5В, то мы можем найти ток выхода:
Iвых=(Pвых/Uвых)=5/5=1 А
Для расчёта стабилизатор будем считать идеальным, тогда Uст=Uвых, а Iст=Iвых, отсюда найдём мощность стабилизатора:
Pст=Uст*Iст=5*1=5 Вт
Теперь найдём потребляемое напряжение на диодах, исходя из того что потери напряжения на них будут равны 5 В, то напряжение на диодах равно:
Uд= =(5+1,2)/=4,38 В
Найдём напряжение вторичной обмотки трансформатора:
Uтр2=Uст+Uд=5+4,38=9,38 Вт
Из полученного напряжения найдём мощность вторичной обмотки:
Pтр2= Uтр2* Iвых=9,38*1=9,38
Найдём мощность первичной обмотки трансформатора:
Ртр1=(P тр2/з)=9,38/0,9=10,42 Вт
Найдя мощность трансформатора первичной обмотки, найдём площадь каркаса трансформатора:
Sкаркаса===3,23 см2
Теперь определим количество витков первичной и вторичной обмоток, но сначала определим количество витков на 1В:
n=50/Sокна=50/3,23=15,5 витка/В
Количество витков на первичной обмотке будет равно:
N1=n*Uвх=15,5*220=3410 витков
Количество витков вторичной обмотки:
N2=n*Uтр2=15,5*9,38=146 витков
Определим токи первичной и вторичной обмоток:
I1=Pтр1/U1=10,42/220= 0,05 А
I2=Pтр2/U2=9,38/9,38=1 А
Теперь определим площадь сечения намоточных проводов первичной и вторичной обмоток, считая что плотность тока J=3,5 А/мм2.
Sпр1=I1/J=0,05/3,5=0,14 мм2
Sпр2=I2/J=1/3,5=0,3 мм2
После этого мы можем определить диаметр провода:
d1==0,42 мм
d2==0,62 мм
Дальше я буду выбирать конденсатор для схемы, для этого нужно определить его ёмкость, которую я выражу из соотношения Rн>>.
Рассчитаем Rн:
Rн=Uн/Iн=9,38/1=9,38 Ом