Разработка микропроцессорного устройства

Введение

    В современном мире роль информатики, средств обработки, передачи, накопления информации неизмеримо возросла. Средства информатики и вычислительной техники  сейчас во многом определяют научно-технический  потенциал страны, уровень развития ее народного хозяйства, образ жизни и деятельности человека. Для целенаправленного использования информации ее необходимо собирать, преобразовывать, передавать, накапливать и систематизировать. Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами. Получение и преобразование информации является необходимым условием жизнедеятельности любого организма. Даже простейшие одноклеточные организмы постоянно воспринимают и используют информацию, например, о температуре и химическом составе среды для выбора наиболее благоприятных условий существования. Живые существа способны не только воспринимать информацию из окружающей среды с помощью органов чувств, но и обмениваться ею между собой. Человек также воспринимает информацию с помощью органов чувств, а для обмена информацией между людьми используются языки. За время развития человеческого общества таких языков возникло очень много. Прежде всего, это родные языки (русский, татарский, английский и др.), на которых говорят многочисленные народы мира. Роль языка для человечества исключительно велика. Без него, без обмена информацией между людьми было бы невозможным возникновение и развитие общества. Информационные процессы характерны не только для живой природы, человека, общества. Человечеством созданы технические устройства - автоматы, работа которых также связана с процессами получения, передачи и хранения информации. Деятельность человека, связанную с процессами получения, преобразования, накопления и передачи информации, называют информационной деятельностью.

    Новой эрой в развитии обмена информацией  стало изобретение книгопечатания. Благодаря печатному станку, знания, информация стали широко тиражируемыми, доступными многим людям. Это послужило  мощным стимулом для увеличения грамотности населения, развития образования, науки, производства. В результате научно-технического прогресса человечество создавало все новые средства и способы сбора, хранения, передачи информации. Но важнейшее в информационных процессах - обработка, целенаправленное преобразование информации осуществлялось до недавнего времени исключительно человеком. Вместе с тем постоянное совершенствование техники, производства привело к резкому возрастанию объема информации, с которой приходится оперировать человеку в процессе его профессиональной деятельности. В настоящее время компьютеры используются для обработки не только числовой, но и других видов информации. Благодаря этому информатика и вычислительная техника прочно вошли в жизнь современного человека, широко применяются в производстве, проектно-конструкторских работах, бизнесе и многих других отраслях. Компьютер находится на рабочем столе специалиста любой профессии. Он позволяет связаться по специальной компьютерной почте с любой точкой земного шара, подсоединиться к фондам крупных библиотек, не выходя из дома, использовать мощные информационные системы - энциклопедии, изучать новые науки и приобретать различные навыки с помощью обучающих программ и тренажеров. Модельеру он помогает разрабатывать выкройки, издателю компоновать текст и иллюстрации, художнику - создавать новые картины, а композитору - музыку. Дорогостоящий эксперимент может быть полностью просчитан и имитирован на компьютере. Разработка способов и методов представления информации, технологии решения задач с использованием компьютеров, стала важным аспектом деятельности людей многих профессий.

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 Понятие алгоритма, его виды и свойства

     Алгоритм – строгая последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.

     Исполнитель – это объект, выполняющий действия.

     Алгоритмизация — процесс разработки алгоритма (плана действий) для решения задачи.

     Алгоритмы состоят из отдельных команд, которые  выполняются одна за другой в определённой последовательности.

     Виды  алгоритмов:

  • Линейный;
  • Циклический;
  • Разветвляющийся.

     Линейным называется такой алгоритм, при котором все действия выполняются однократно в заданном порядке.

     Циклический алгоритм – это алгоритм, в котором все действия должны повторяться указанное число раз или пока не выполнено заданное условие.

     Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

     Свойства  алгоритмов:

  1. Дискретность (от латинского разделённый, прерывистый) – позволяет разделять информационный процесс в алгоритме на отдельные команды;
  2. Детерминированность (от латинского определённость, точность) – это ясность для исполнителя последовательности выполнения команд;
  3. Результативность – это свойство, обеспечивающее преобразование объекта из начального состояния в конечное за конечное число шагов;
  4. Массовость – это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
  5. Конечность - каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.

     Алгоритм  должен быть формализован по некоторым  правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, алгоритмический язык.

     Наибольшее  распространение благодаря своей  наглядности получил графический (в виде блок-схем) способ записи алгоритмов.

     Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций.  
 
 
 
 

     

     Изображение элементов алгоритма:

     

Начало (конец) алгоритма;

Команда алгоритма;  

Условие алгоритма (это высказывание, которое может быть либо истинным, либо ложным); 

Ввод (вывод) данных.  

     

             Циклическая частота 
 
 

 

4.2 Схема алгоритма 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     

4.3. Описание алгоритма

  1. Начало;
  2. Обнуляем регистр адреса Rа: Rа¬0;
  3. Записываем в счётчик Сч(а) число 1: Сч(а)¬1;
  4. Записываем в счётчик Сч(в) число 1: Сч(в)¬1;
  5. Записываем в регистр сумму чётных чисел Sч: число 0: Sч¬0;
  6. Записываем в регистр сумму нечётных чисел Sн: число 0: Sн¬0;
  7. Считываем в регистр R число из массива А с порядковым номером Сч(а) (с тем числом, которое хранится в этом счётчике): R¬А[Сч(а)];
  8. Проверяем число на «знак»: R[7]=0. Если старший разряд числа:
  • равен 0, то число положительное, переходим к шагу 9;
  • не равен 0, то число отрицательное, переходим к шагу 12;
  1. Проверяем число на чётность: R[0]=0. Если младший разряд числа:
  • равен 0, то число чётное, переходим к шагу 10;
  • не равен 0, то число нечётное, переходим к шагу 12;
  1. Производим сложение числа, находящегося в регистре Sч и числа, находящегося в регистре R. Результат помещаем в регистр Sч: Sч¬Sч+R;
  1. Увеличиваем адрес числа на 1: Rа¬Rа+1;
  2. Проверяем, последнее ли это число массива А: Сч(а)=N:
  • если да, то переходим к шагу 14;
  • если нет, то переходим к шагу 13;
  1. Увеличиваем значение счётчика Сч(а) на единицу: Сч(а)¬Сч(а)+1 и переходим к шагу 7;
  1. Считываем в регистр R число из массива В с порядковым номером Сч(в): R¬В[Сч(в)];
  2. Проверяем число на «знак»: R[7]=0. Если старший разряд числа:
  • равен 0, то число положительное, переходим к шагу 16;
  • не равен 0, то число отрицательное, переходим к шагу 19;
  1. Проверяем число на чётность: R[0]=0. Если младший разряд числа:
  • равен 0, то число чётное, переходим к шагу 19;
  • не равен 0, то число нечётное, переходим к шагу 17;
  1. Производим сложение числа, находящегося в регистре Sн и числа, находящегося в регистре R. Результат помещаем в регистр Sн: Sн¬Sн+R;
  1. Увеличиваем адрес числа на 1: Rа¬Rа+1;
  2. Проверяем, последнее ли это число массива В: Сч(в)=N:
  • если да, то переходим к шагу 21;
  • если нет, то переходим к шагу 20;
  1. Увеличиваем значение счётчика Сч(в) на единицу: Сч(в)¬Сч(в)+1 и переходим к шагу 14;
  1. Сравниваем сумму чётных и нечётных чисел: 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 Структурная схема устройства управления

       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Разработка микропроцессорного устройства