Аналіз теорії цифрових автоматів

Нехай, наприклад, комрка памят машини ма 24 двйкових розряда. Як ми знамо, в комрку можна записати будь-яке машинне слово, тобто

Аналіз теорії цифрових автоматів

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
числами, знаки яких закодовані числами, використовують спеціальні способи представлення чисел: прямий, зворотній і додатковий.

Прямий код використовується для вводу-виводу інформації і в запамятовуючих пристроях.

Додавання чисел в прямому коді (з одинаковими знаками) не викликає труднощів. Однак додавання чисел з різними знаками в прямих кодах незручно, так як повинно бути спеціальне обладнання для віднімання чисел і визначення знаку різниці.

Операцію алгебраїчного додавання чисел можна звести до операцій додавання при використанні зворотніх і додаткових кодів.

Представлення додатнього числа в зворотньому коді співпадавє з його прямим кодом. Для отримання зворотнього коду відємного числа в двійковій системі необхідно в знаковому розряді записати 1, а в інших розрядах одиниці замінити нулями, а нулі одиницями. Аналогічну заміну роблять при перетворенні зворотнього коду відємного числа в прямий. На відміну від прямого коду, в зворотньому не можна відкидати нулі після знакового розряду в цілій частині і нулі в кінці дробової частини відємного числа.

Представлення додатнього числа в доповнюючому коді співпадавє з його прямим кодом. Правило формування додатнього коду відємного числа формулюється так: отримати зворотній код числа і додати 1 в молодший розряд числа. Перетворення доповнюючого коду відємного числа здійснюється або зворотнім шляхом (відняти 1 і перетворити в зворотній код) або утворити доповнюючий код до доповнюючого. Нуль, на відміну від прямого і зворотнього кодів, в доповнюючому коді має єдине представлення

Байт - вісім послідовно розміщених бітів, пронумерованих від 0 до 7, при цьому біт 0 є самим молодшим значущим бітом.

Слово - послідовність з двох байтів, які мають послідовну адресу. Розмір слова 16 біт; біти в слові нумеруються від 0 до 15. Байт який містить нульовий біт, називається молодшим байтом, а байт, який містить 15-й біт називають старшим байтом. Мікропроцессори Intel мають важливу особливіть - молодший байт завжди зберігається за молодшою адресою. Адресою слова рахується адреса молодшого байта. Адреса старшого байта може бути використана для доступа до старшої половини слова.

Подвійне слово - послідовність з чотирьох байтів (32 біта), які мають послідовну адресу. Нумерація цих бітів проводиться від 0 до 31. Слово, яке містить нульовий біт називається молодшим словом, а слово яке містить 31-й біт старшим словом. Молодше слово зберігається за меншою адресою. Адресою подвійного слова рахується адреса молодшого слова. Адреса старшого слова може бути використана для доступа до старшої частини подвійного слова. .

Чотирьохкратне слово - послідовність з восьми байт (64 біта). які мають послідовну адресу. Номерація цих бітів проводиться від 0 до 63. Слово яке містить нульовий біт називається молодшим подвійним словом словом, а слово яке містить 63-й біт старшим подвійним словом. Молодше подвійне слово зберігається за молодшою адресою. Адресою подвійного слова рахується адреса молодшого слова. Адреса старшого подвійного слова може бути використана для доступа до старшої половини чотирьохкратного слова.

 

Поняття про булеві функції

 

Ф-ція f, яка залежить від n змінних x1,x2,…,xn називається булевою, або переключаючою, якщо ф-ція f і любий з її аргументів xi, i приймають значення тільки змножини {0,1}. Аргументи булевої ф-ції також називаються булевими.

Довільна булева ф-ція задається одним із трьох способів: матричним (табличним), геометричним і аналітичним.

При матричному способі булева ф-ція f (x1, x2, …, xn) задається таблицею істинності (табл.1 та 2),

В лівій частині якої представлені всі можливі двійкові набори довжини n, а в правій вказується значення ф-ції на цих наборах.

Під двійковим набором = <>, {0,1} розуміють сукупність значень аргументів х1, х2,…, хn булевої ф-ції f. Двійковий набір має довжину n, якщо він представлений n цифрами із множини {0,1}. В табл.1 та 4 перечислені всі двійкові набори відповідної довжини 3 і 4.

Іноді двійкові набори в таблиці істиності булевої ф-ції зручно представляти номерами наборів. Запишемо аргументи x1,x2,…xn в порядку зростання їх індексів. Тоді любий двійковий набір =<>, {0,1} можна розглядати як ціле двійкове число N: N=2n-1+2n-2+…+, яке називають номером набору . Наприклад, двійкові набори 0101 і 1000 мають номера 5 і 8 відповідно. Очевидно будь-яка булева ф-ція може бути задана таблицею істинності, в якій двійкові набори замінені своїми номерами (табл.2).

Булеві ф-ції, залежать від великого числа змінних, задавати таблицею істиності незручно, в силу її громіздкості. Наприклад таблиця істинності булевої функції 8 змінних буде містити 28=256 рядків. Тому для задання ф-ції багатьох змінних зручно використати модифікацію таблиці істинності.

Розглянемо спосіб побудови такої таблиці істинності для ф-ції n змінних. Множина із n змінних ф-ції розбивається на дві підмножини: x1, x2, …,xj-1 і хj, xj+1,…, xn. Змінні x1, x2, …,xj-1 відмічають рядки таблиці істинності, задаваючи в кожному рядку значення відповідного двійкового набору довжини j-1. Змінними хj, xj+1,…, xn відмічають її стовбці, задаваючи в кожному стовбці значення відповідного двійкового набору довжини n-j+1. Значення функції записуються в клітинці на перетині відповідного рядка і стовбця (табл 3).

При геометричному способі булева ф-ція f (x1, x2, …, xn) задається з допомогою n-мірного куба. В геометричному смислі кожний двійковий набір =<>, {0,1} є n-мірний вектор, визначаючий точку n-мірного прстору. Виходячи з цього, вся множина наборів, на яких визначена ф-ція n змінних, представляється вершинами n-мірного куба. Відмічаючи точками вершини куба, в яких функція приймає одиничне значення (або нульове), одержимо геометричне представлення функції. Наприклад, булева функція, задана табл.1, геометрично представляється 3-мірним кубом

При аналітичному способі булева функція задається формулами, тобто аналітичними виразами, побудованими на основі операцій булевої алгебри. Аналітичний спосіб задання булевих функцій займає особливе місце в проектуванні цифрових машин. Фактично, всі перетворення над булевими ф-ціями, необхідні для побудови цифрових машин, ведуться на аналітичному рівні.

Розглянемо області визначення булевоі ф-ції. Як уже відмічалось, між двійковими наборами і двійковими числами існує взаємнооднозначна відповідність. Отже, існує 2n різних наборів двійкових змінних.

Таким чином, областю визначення булевої ф-ції n змінних при матричному способі задання являється множина всіх можливих двійкових довжин n наборів, а при геометричному способі задання множина всіх вершин n-мірного одиничного куба.

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

Існує не більше як 2n різних булевих функцій n змінних. До цього висновку легко прийти, користуючись простими комбінаторними міркуваннями, і згадавши, що на кожному із 2n наборів функції можуть приймати два значення.

Розглянемо найбільш використовувані булеви ф-ції однієї і двох змінних. Ф-ції однієї змінної представлені таблиці 5, де

f0 (x) =0 - тотожній нуль (константа 0);

f1 (x) =x - тотожна ф-ція;

f2 (x) = - заперечення x (інверсія);

f3 (x) =1 - тотожна одиниця (константа 1).

Ф-ції двох змінних представлені в табл.6.

Найбільш часто використовуються такі:

f0 (x1,x2) =0 - тотожній нуль (константа 0);

f1 (x1,x2) =x1*x2 - конюнкція. Замість знака “*” інколи використовують знак & або . Цю ф-цію часто називають логічним перетворенням або логічним множенням;

f3 (x1,x2) =x1 - повторення х1;

f5 (x1,x2) =x2 - повторення х2;

f6 (x1,x2) =x1х2 -додавання по модулю, або сума mod 2;

f7 (x1,x2) =x1x2-дизюнкція (логічне або);

f8 (x1,x2) =x1х2 - функція Вебба (стрілка Пірса);

f9 (x1,x2) =x1~х2 - еквівалентність;

f13 (x1,x2) =x1х2 - імплікація;

f14 (x1,x2) =x1/x2 - штрих Шеффера;

f15 (x1,x2) =1 - тотожна одиниця (константа 1);

Розглянемо найбільш використовувані булеви ф-ції однієї і двох змінних. Ф-ції однієї змінної представлені таблиці 5, де

f0 (x) =0 - тотожній нуль (константа 0);

f1 (x) =x - тотожна ф-ція;

f2 (x) = - заперечення x (інверсія);

f3 (x) =1 - тотожна одиниця (константа 1).

Ф-ції двох змінних представлені в табл.6.

Найбільш часто використовуються такі:

f0 (x1,x2) =0 - тотожній нуль (константа 0);

f1 (x1,x2) =x1*x2 - конюнкція. Замість знака “*” інколи використовують знак & або . Цю ф-цію часто називають логічним перетворенням або логічним множенням;

f3 (x1,x2) =x1 - повторення х1;

f5 (x1,x2) =x2 - повторення х2;

f6 (x1,x2) =x1х2 -додавання по модулю, або сума mod 2;

f7 (x1,x2) =x1x2-дизюнкція (логічне або);

f8 (x1,x2) =x1х2 - функція Вебба (стрілка Пірса);

f9 (x1,x2) =x1~х2 - еквівалентність;

f13 (x1,x2) =x1х2 - імплікація;

f14 (x1,x2) =x1/x2 - штрих Шеффера;

f15 (x1,x2) =1 - тотожна одиниця (константа 1);

Розглянуті простіші булеві ф-ції дозволяють будувати нові булеви ф-ції з допомогою узагальненої операції, що називається операцією суперпозиції. Фактично операція суперпозиції заключається в тому, що існує підстановка замість аргументів інших булевих функцій (в деякій мірі аргументів).

Зауважимо, що суперпозиція функцій одного аргументу породжує функції одного аргументу. Суперпозиція ф-цій двох аргументів дає можливість будувати функції будь-якої кільк

Похожие работы

<< < 1 2 3 4 5 > >>