Разработка микропроцессорного устройства
Введение
В современном мире роль информатики, средств обработки, передачи, накопления информации неизмеримо возросла. Средства информатики и вычислительной техники сейчас во многом определяют научно-технический потенциал страны, уровень развития ее народного хозяйства, образ жизни и деятельности человека. Для целенаправленного использования информации ее необходимо собирать, преобразовывать, передавать, накапливать и систематизировать. Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами. Получение и преобразование информации является необходимым условием жизнедеятельности любого организма. Даже простейшие одноклеточные организмы постоянно воспринимают и используют информацию, например, о температуре и химическом составе среды для выбора наиболее благоприятных условий существования. Живые существа способны не только воспринимать информацию из окружающей среды с помощью органов чувств, но и обмениваться ею между собой. Человек также воспринимает информацию с помощью органов чувств, а для обмена информацией между людьми используются языки. За время развития человеческого общества таких языков возникло очень много. Прежде всего, это родные языки (русский, татарский, английский и др.), на которых говорят многочисленные народы мира. Роль языка для человечества исключительно велика. Без него, без обмена информацией между людьми было бы невозможным возникновение и развитие общества. Информационные процессы характерны не только для живой природы, человека, общества. Человечеством созданы технические устройства - автоматы, работа которых также связана с процессами получения, передачи и хранения информации. Деятельность человека, связанную с процессами получения, преобразования, накопления и передачи информации, называют информационной деятельностью.
Новой эрой в развитии обмена информацией
стало изобретение
1 Формализация задачи
Даны два массива чисел числа восьмиразрядные со знаком. Количество чисел в массивах одинаковое и равно N. Найти сумму положительных чётных в первом массиве и положительных нечётных чисел во втором массиве. Сравнить суммы между собой.
Разработать микропроцессорное устройство, выполняющее операции вычисления целых чисел, используя:
- Принцип схемной логики;
- Принцип программируемой логики.
В процессорное устройство необходимо включить логические элементы для формирования адресов ячеек памяти.
| Адрес | Данные массива «А» от -127 до +127 | ||||||
| № элемента | Дес.
число |
Дв.
число |
Шестн. число | Прямой код | Обратный код | Дополнительный код | |
| 0001 | 0 | 48 | 00110000 | 30 | 00110000 | ||
| 0002 | 1 | 117 | 01110101 | 75 | 01110101 | ||
| 0003 | 2 | -80 | 01010000 | 50 | 01010000 | 10101111 | 10110000 |
| 0004 | 3 | -60 | 00111100 | 3С | 00111100 | 11000011 | 11000100 |
| 0005 | 4 | 120 | 01111000 | 78 | 01111000 | ||
| 0006 | 5 | 104 | 01101000 | 68 | 01101000 | ||
| 0007 | 6 | -34 | 00100010 | 22 | 00100010 | 11011101 | 11011110 |
| 0008 | 7 | 83 | 01010011 | 53 | 01010011 | ||
| N | |||||||
| Адрес | Данные массива «B» от -127 до +127 | ||||||
| № элемента | Дес.
число |
Дв.
число |
Шестн. число | Прямой код | Обратный код | Дополнительный код | |
| 0001 | 0 | 36 | 00100100 | 24 | 00100100 | ||
| 0002 | 1 | -8 | 00001000 | 8 | 00001000 | 11110111 | 11111000 |
| 0003 | 2 | 97 | 01100001 | 61 | 01100001 | ||
| 0004 | 3 | -94 | 01011110 | 5Е | 01011110 | 10100001 | 10100010 |
| 0005 | 4 | -105 | 01101001 | 69 | 01101001 | 10010110 | 10010111 |
| 0006 | 5 | 68 | 01000100 | 44 | 01000100 | ||
| 0007 | 6 | -32 | 00100000 | 20 | 00100000 | 11011111 | 11100000 |
| 0008 | 7 | -25 | 00011001 | 19 | 00011001 | 11100110 | 11100111 |
| N | |||||||
2 Два подхода к построению процессорного устройства
Существует два принципиально разных подхода к проектированию микропроцессорного устройства: использование принципа схемной логики и использование принципа программируемой логики.
В первом случае в процессе проектирования подбирается некоторый набор цифровых микросхем (обычно малой и средней степени интеграции) и определяется такая схема соединения их вводов, которая обеспечивает требуемое функционирование (т. е. функционирование микропроцессора определяется тем, какие выбраны микросхемы и по какой схеме выполнено соединение их выводов). Устройства, основанные на таком принципе схемной логики, способны обеспечивать наивысшее быстродействие при заданном типе технологии элементов. Недостаток этого принципа построения процессора состоит в трудности использования БИС (больших интегральных схем) и СБИС (сверхбольших интегральных схем). Это связано с тем, что при использовании схемного принципа каждый разрабатываемый процессор окажется индивидуальным по схемному построению и потребует изготовления индивидуального типа БИС. Тогда выпускаемые промышленностью БИС окажутся узкоспециализированными, число выпускаемых типов БИС будет большим, а потребность в каждом типе БИС окажется низкой. Выпуск многих типов БИС малыми сериями по каждому типу для промышленности окажется экономически невыгодным.
Эти обстоятельства заставляют обратиться
к другому подходу в
Процессор,
построенный на одной или нескольких
БИС, называется микропроцессором.
3 Синтез операционного устройства
Операционным называют устройство, предназначенное для выполнения каких-либо операций.
Операционные устройства могут быть простыми, предназначенными для выполнения конкретного алгоритма над определённым видом информации, и сложными, предназначенными для выполнения множества алгоритмов над информацией разного вида.
Любое операционное устройство представляет собой цифровой автомат. К простым операционным устройствам относятся, например, счётчики, регистры. Простые операционные устройства не требуют какого-либо управления, в отличие от сложных.
Сложное операционное устройство состоит из двух частей: из операционного автомата, реализующего алгоритм, и из управляющего автомата, отвечающего за поведение операционного автомата.
Сложные операционные устройства бывают последовательные, т. е. с многотактовым выполнением своих функций, или параллельными, или однотактовыми. Часто используются промежуточные, параллельно-последовательные формы операционных устройств.
Процесс функционирования операционного устройства распадается на последовательность элементарных действий в его узлах, например:
1).
Установка регистра в
2).
Инвертирование содержимого
3).
Пересылка содержимого из
4). Сложение;
5). Сравнение содержимого
6). Некоторые логические действия (операции дизъюнкции, конъюнкции, эквивалентности и др.).
Каждое такое элементарное действие, выполняемое в одном из узлов операционного устройства в течение одного тактового периода, называется микрооперацией.
Совокупность нескольких одновременно выполняемых операций называется микрокомандой, а набор микрокоманд, предназначенный для решения определённой задачи, называется микропрограммой.
Для
синтеза операционного
Синтез операционного устройства включает в себя построение алгоритма операционного устройства. Прежде, чем строить алгоритм, операционное устройство разбивается на отдельные блоки.
Для выполнения поставленной задачи необходимо иметь:
- Регистр для хранения и обработки числа R;
- Регистры для хранения чётных Sч и нечётных Sн чисел;
- Регистр для формирования адресов ячеек памяти Rа;
- Счётчики чисел в массивах Сч(а) и Сч(в);
- Сумматор Sm;
- Компаратор для сравнения суммы чётных и нечётных чисел Comp;
- Шифратор CD и дешифратор DC для перевода чисел.
- Если суммы четных и нечётных чисел равны, то Сч = 1.
Описание микроопераций:
у0: обнуление регистра адреса: Rа ← 0;
у1: запись в счётчик числа 1: Сч(а) ← 1;
у2: запись в счётчик числа 1: Сч(в) ← 1;
у3: обнуление регистра для хранения суммы чётных чисел: Sч ← 0;
у4: обнуление регистра для хранения суммы нечётных чисел: Sн ← 0;
у5: считывание в регистр очередного элемента массива А: R ← А [Сч(а)];
у6: суммирование значений регистров R и Sч и запись результата в регистр Sч: Sч ← Sч + R;
у7: увеличение адреса числа на 1: Rа ← Rа + 1;
у8: переход к следующему элементу массива А: Сч(а) ← Сч(а) + 1;
у9: считывание в регистр очередного элемента массива В: R ← В [Сч(в)];
у10: суммирование значений регистров R и Sн и запись результата в регистр Sн: Sн ← Sн + R;
у11: увеличение адреса числа на 1: Rа ← Rа + 1;
у12: переход к следующему элементу массива В: Сч(в) ← Сч(в) + 1;
у13: сравнение значений регистров Sч и Sн: Comp ← Sч = Sн.
у14: Сч = 1.
Признаки:
х1: проверка на «знак»: R [7] = 0;
х2: проверка на чётность элемента массива А: R [0] = 0;
х3: проверка на то, последнее ли это число массива А: Сч(а) = N;
х4: проверка на «знак» R[7] = 0;
х5: проверка на чётность элемента массива B: R [0] = 0;
х6: проверка на то, последнее ли это число массива В: Сч(в) = N.
4 Построение алгоритма операционного устройства
4.1 Понятие алгоритма, его виды и свойства
Алгоритм – строгая последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.
Исполнитель – это объект, выполняющий действия.
Алгоритмизация — процесс разработки алгоритма (плана действий) для решения задачи.
Алгоритмы состоят из отдельных команд, которые выполняются одна за другой в определённой последовательности.
Виды алгоритмов:
- Линейный;
- Циклический;
- Разветвляющийся.
Линейным называется такой алгоритм, при котором все действия выполняются однократно в заданном порядке.
Циклический алгоритм – это алгоритм, в котором все действия должны повторяться указанное число раз или пока не выполнено заданное условие.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Свойства алгоритмов:
- Дискретность (от латинского разделённый, прерывистый) – позволяет разделять информационный процесс в алгоритме на отдельные команды;
- Детерминированность (от латинского определённость, точность) – это ясность для исполнителя последовательности выполнения команд;
- Результативность – это свойство, обеспечивающее преобразование объекта из начального состояния в конечное за конечное число шагов;
- Массовость – это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
- Конечность - каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.
Наибольшее
распространение благодаря
Блок-схемой
называется графическое изображение логической
структуры алгоритма, в котором каждый
этап процесса обработки информации представляется
в виде геометрических символов (блоков),
имеющих определенную конфигурацию в
зависимости от характера выполняемых
операций.
Изображение элементов алгоритма:
Начало (конец) алгоритма;
Команда алгоритма;
Условие алгоритма (это высказывание,
которое может быть либо истинным,
либо ложным);
Ввод (вывод) данных.
Циклическая частота
4.2
Схема алгоритма
4.3. Описание алгоритма
- Начало;
- Обнуляем регистр адреса Rа: Rа¬0;
- Записываем в счётчик Сч(а) число 1: Сч(а)¬1;
- Записываем в счётчик Сч(в) число 1: Сч(в)¬1;
- Записываем в регистр сумму чётных чисел Sч: число 0: Sч¬0;
- Записываем в регистр сумму нечётных чисел Sн: число 0: Sн¬0;
- Считываем в регистр R число из массива А с порядковым номером Сч(а) (с тем числом, которое хранится в этом счётчике): R¬А[Сч(а)];
- Проверяем число на «знак»: R[7]=0. Если старший разряд числа:
- равен 0, то число положительное, переходим к шагу 9;
- не равен 0, то число отрицательное, переходим к шагу 12;
- Проверяем число на чётность: R[0]=0. Если младший разряд числа:
- равен 0, то число чётное, переходим к шагу 10;
- не равен 0, то число нечётное, переходим к шагу 12;
- Производим сложение числа, находящегося в регистре Sч и числа, находящегося в регистре R. Результат помещаем в регистр Sч: Sч¬Sч+R;
- Увеличиваем адрес числа на 1: Rа¬Rа+1;
- Проверяем, последнее ли это число массива А: Сч(а)=N:
- если да, то переходим к шагу 14;
- если нет, то переходим к шагу 13;
- Увеличиваем значение счётчика Сч(а) на единицу: Сч(а)¬Сч(а)+1 и переходим к шагу 7;
- Считываем в регистр R число из массива В с порядковым номером Сч(в): R¬В[Сч(в)];
- Проверяем число на «знак»: R[7]=0. Если старший разряд числа:
- равен 0, то число положительное, переходим к шагу 16;
- не равен 0, то число отрицательное, переходим к шагу 19;
- Проверяем число на чётность: R[0]=0. Если младший разряд числа:
- равен 0, то число чётное, переходим к шагу 19;
- не равен 0, то число нечётное, переходим к шагу 17;
- Производим сложение числа, находящегося в регистре Sн и числа, находящегося в регистре R. Результат помещаем в регистр Sн: Sн¬Sн+R;
- Увеличиваем адрес числа на 1: Rа¬Rа+1;
- Проверяем, последнее ли это число массива В: Сч(в)=N:
- если да, то переходим к шагу 21;
- если нет, то переходим к шагу 20;
- Увеличиваем значение счётчика Сч(в) на единицу: Сч(в)¬Сч(в)+1 и переходим к шагу 14;
- Сравниваем сумму чётных и нечётных чисел: Sч=Sн;
- Если да, то переходим к шагу 22;
- Если нет, то переходим к шагу 23;
22. Сч=1;
23. Конец.
5 Синтез устройства управления
Устройство управления (или управляющее устройство) входит в состав микропроцессора и предназначено для подачи управляющих сигналов в устройства ЭВМ, и обеспечивает их соответствующее функционирование и взаимодействие друг с другом.
Синтез
управляющего устройства основан на
синтезе операционного
Микрооперации
обозначаются символами у0, у1,
у2 и т. д. Совокупность нескольких
однотипных микроопераций образуют макрооперацию.
Макрооперации обозначаются символами
Y0, Y1, Y2, и т. д. Для обозначения
микрокоманд применяются символы а0,
а1, а2 и т. д.
5.1 Построение схемы
алгоритма в микрооперациях
5.2 Построение схемы алгоритма в макрооперациях
5.3
Построение схемы
алгоритма в микрокомандах
5.4 Построение графа функционирования
5.5 Структурная схема устройства управления