Основные понятия о системах счисления.

Системы счисления, которыми мы пользуемся в настоящее время, основаны на методе, открытом индусскими математика­ми около 400 г. н. э. Арабы стали пользоваться подобной систе­мой, известной как арабская система счисления, приблизительно в 800 г. н. э., а примерно в 1200 г. н. э. ее начали применять в Европе и в настоящее время используют повсеместно — это десятичная система счисления (по числу пальцев на руках).

Приведем известные из истории системы счисления, ос­нованные на тех же принципах, что и десятичная: пятеричная (количество пальцев на одной руке); двенадцатеричная (дю­жина — количество фаланг на пальцах руки, за исключением большого); двадцатеричная; шестидесятеричная.

Основной системой счисления, применяемой в электронно- вычислительных машинах (ЭВМ), является двоичная система, поскольку вычислительные машины построены на схемах с двумя устойчивыми состояниями. Для удобства представления информации в ЭВМ были созданы восьмеричная и шестнадцатеричная системы.

Понятие об основных системах счисления

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

Непозиционными называются такие системы счисления, в которых каждый символ сохраняет свое значение независимо от места его положения в числе. Примером непозиционной системы счисления является римская система, в которой сим­волам I, V, X, L, С, D, М соответствуют числа 1, 5, 10, 50, 100, 500, 1000. Недостатком этой системы является сложность формальных правил записи чисел и выполнения арифметических действий над ними.

Система счисления называется позиционной, если значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Это значение находится в однозначной зависимости от позиции, занимаемой цифрой, по некоторому закону. Примером позиционной системы счисления является десятичная система, используемая в повседневной жизни.

Количество различных цифр, употребляемых в позиционной системе, определяет название системы счисления и называется основанием такой системы. Так, в десятичной системе исполь­зуются 10 цифр (от 0 до 9), основанием этой системы является число 10.

Помимо десятичной, в ПК применяются и другие позици­онные системы счисления: двоичная, восьмеричная, шестнадцатеричная.

 

 

 Двоичная система счисления

Двоичная система счисления — позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях, двоичная система используется практически во всех современных компьютерах и прочих вычислительных электронных устройствах.

Обработка информации в ЭВМ основана на обмене электрическими сигналами между различными устройствами машины. Эти сигналы возникают в определенной последовательности. Признак наличия сигнала можно обозначить цифрой 1, а признак отсутствия сигнала – цифрой 0. Т.о., в ЭВМ реализуется два устойчивых состояния. С помощью определенных наборов цифр 0 и 1 можно закодировать любую информацию. Каждый такой набор нулей и единиц называется двоичным кодом.

Широкое распространение получила так называемая кодировка ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Это семиразрядный код (каждый символ кодируется семью разрядами) – т.о. можно всегда закодировать 128 символов (7 разрядов по 2 цифры дают 2*2*2*2*2*2*2=128 вариантов записей числа).

Мы обычно пользуемся восьмиразрядным расширением кода ASCII . За счет добавления «лишнего» разряда можно получить еще 128 символов, всего их становится 256. Это расширение позволяет кодировать буквы русского алфавита и некоторые специальные символы.

Самая замечательная система счисления – двоичная. В ней используется только две цифры – 0 и 1. Она проста, и поэтому интересна.

Стоит отметить, что двоичная система счисления издавна была предметом пристального внимания многих ученых.

Вот, что писал П.С. Лаплас об отношении к двоичной (бинарной) системе великого немецкого математика Г.Ф. Лейбница: «В своей бинарной арифметике Лейбниц видел прообраз творения. Ему представлялось, что единица представляет божественное начало, а нуль – небытие, и что высшее существо создает все сущее из небытия точно таким же образом, как единица и нуль в его системе выражают все числа».

Эти слова подчеркивают удивительную универсальность алфавита, состоящего всего из двух символов.

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

Перевод чисел.

Для перевода десятичного числа в двоичное надо разделить его на 2 и собрать остатки, начиная с последнего частного.

 

Пример: 7310 = 10010012

 

 

Шестнадцатеричная система счисления

Шестнадцатеричная система счисления (шестнадцатеричные числа позиционная система счисления по целочисленному основанию 16.

Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 1010 до 1510, то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).

Широко используется в низкоуровневом программировании и компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, PDP-11 или БЭСМ-6) использовали восьмеричную систему.

В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).

Шестнадцатеричный цвет — запись трёх компонентов цвета (R, G и B) в шестнадцатеричном виде.

Перевод чисел из шестнадцатеричной системы в десятичную

Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

5A316 = 3·160+10·161+5·162=
= 3·1+10·16+5·256 = 3+160+1280 = 144310

Перевод чисел из двоичной системы в шестнадцатеричную и наоборот

Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой. Для перевода числа из шестнадцатеричной системы в двоичную нужно заменить каждую его цифру на соответствующую тетраду из нижеприведенной таблицы перевода.


Например:

0101101000112 = 0101 1010 0011 = 5A316

 

 

Основы алгебры и логики

Поскольку в цифровых устройствах используются только два символа 0 и 1, алгебра логики использует логические переменные и функции от них, которые также принимают только два значения - 0 и 1. В логике символы 0 и 1 не цифры. Единица обозначает абсолютную истину, символ 0 - абсолютную ложь. Основы алгебры логики придумал в середине XIX века ирландский математик Дж. Буль, поэтому алгебра логики иногда называется булева алгебра.

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

Логические выражения могут быть простыми и сложными.

Простое логическое выражение состоит из одного высказывания и не содержит логические операции. В простом логическом выражении возможно только два результата — либо «истина», либо «ложь».

Сложное логическое выражение содержит высказывания, объединенные логическими операциями. По аналогии с понятием функции в алгебре сложное логическое выражение содержит аргументы, которыми являются высказывания.

В качестве основных логических операций в сложных логических выражениях используются следующие:

• НЕ (логическое отрицание, инверсия);

• ИЛИ (логическое сложение, дизъюнкция);

• И (логическое умножение, конъюнкция).

Логическое отрицание является одноместной операцией, так как в ней участвует одно высказывание. Логическое сложение и умножение — двуместные операции, в них участвует два выска¬зывания. Существуют и другие операции, например операции следования и эквивалентности, правило работы которых можно вывести на основании основных операций.

Операция НЕ — логическое отрицание (инверсия)

Логическая операция НЕ применяется к одному аргументу, в качестве которого может быть и простое, и сложное логическое выражение. Результатом операции НЕ является следующее:

• если исходное выражение истинно, то результат его отрицания будет ложным;

• если исходное выражение ложно, то результат его отрицания будет истинным.

Для операции отрицания НЕ приняты следующие условные обозначения:

не А,    Ā,    not A,    ¬А.

Результат операции отрицания НЕ определяется следующей таблицей истинности:

 

A

не А

0

1

1

0

Результат операции отрицания истинен, когда исходное высказывание ложно, и наоборот.

Приведем примеры отрицания.

1.  Высказывание «Земля вращается вокруг Солнца» истинно. Высказывание «Земля не вращается вокруг Солнца» ложно.

2.  Высказывание «Уравнение у = 4х + 3 в промежутке -2 < х < 2 не имеет корня» ложно. Высказывание «Уравнение у = 4х + 3 в промежутке -2 < х < 2 имеет корень» истинно.

3.  Высказывание «4 — простое число» ложно. Высказывание «4 — не простое число» истинно.

Принцип работы переключателя настольной лампы таков: если лампа горела, переключатель выключает ее, если лампа не горела — включает ее. Такой переключатель можно счи¬тать электрическим аналогом операции отрицания.

 

Операция ИЛИ — логическое сложение (дизъюнкция, объединение)

Логическая операция ИЛИ выполняет функцию объединения двух высказываний, в качестве которых может быть и простое, и сложное логическое выражение. Высказывания, являющиеся исходными для логической операции, называют аргументами. Результатом операции ИЛИ является выражение, которое будет истинным тогда и только тогда, когда истинно будет хотя бы одно из исходных выражений.

Применяемые обозначения: А или В,    А V В,    A or B.

Результат операции ИЛИ определяется следующей таблицей истинности:

A

B

А или B

0

0

0

0

1

1

1

0

1

1

1

1

Результат операции ИЛИ истинен, когда истинно А, либо истинно В, либо истинно и А и В одновременно, и ложен тогда, когда аргументы А и В — ложны.

Приведем примеры логического сложения.

1.  Рассмотрим высказывание «В библиотеке можно взять книгу или встретить знакомого». Это высказывание формально можно представить так: С = А ˅ В, где высказывание А — «В библиотеке можно взять книгу», а В — «В библиотеке можно встретить знакомого». Объединение этих высказываний при помощи операции логического сложения означает, что события могут произойти как отдельно, так и одновременно.

2.  Рассмотрим высказывание «Знания или везение — залог сдачи экзаменов». "Успешно сдать экзамен может тот, кто все знает, или тот, кому повезло (например, вытянут единственный выученный билет), или тот, кто все знает и при этом выбрал «хороший» билет.

Кто хоть однажды использовал елочную гирлянду с параллельным соединением лампочек, знает, что гирлянда будет светить до тех пор, пока цела хотя бы одна лампочка. Логическая операция ИЛИ чрезвычайно схожа с работой подобной гирлянды, ведь результат операции ложь только в одном случае — когда все аргументы ложны.

 

Операция И — логическое умножение (конъюнкция)

Логическая операция И выполняет функцию пересечения двух высказываний (аргументов), в качестве которых может быть и простое, и сложное логическое выражение. Результатом операции И является выражение, которое будет истинным тогда и только тогда, когда истинны оба исходных выражения.

Применяемые обозначения: А и В, А Λ В, A  & B, A and B.

Результат  операции  И  определяется  следующей таблицей истинности:

A

B

А и B

0

0

0

0

1

0

1

0

0

1

1

1

Результат операции И истинен тогда и только тогда, когда истинны одновременно высказывания А и В, и ложен во всех остальных случаях.

Приоритет логических операций

·                    Действия в скобках

·                    Инверсия

·                    Конъюнкция ( & )

·                    Дизъюнкция ( V )

·                    Импликация ( → )

·                    Эквивалентность ( ↔ )

Основные понятия о триггерах

Триггер (триггерная система) — класс электронных устройств, обладающих способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов. Каждое состояние триггера легко распознаётся по значению выходного напряжения. По характеру действия триггеры относятся к импульсным устройствам — их активные элементы (транзисторы, лампы) работают в ключевом режиме, а смена состояний длится очень короткое время.

Отличительной особенностью триггера как функционального устройства является свойство запоминания двоичной информации. Под памятью триггера подразумевают способность оставаться в одном из двух состояний и после прекращения действия переключающего сигнала. Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (помнит) один разряд числа, записанного в двоичном коде.

При изготовлении триггеров применяются преимущественно полупроводниковые приборы (обычно биполярные и полевые транзисторы), в прошлом — электромагнитные реле, электронные лампы. В настоящее время логические схемы, в том числе с использованием триггеров, создают в интегрированных средах разработки под различные программируемые логические интегральные схемы (ПЛИС). Используются, в основном, в вычислительной технике для организации компонентов вычислительных систем: регистров, счётчиков, процессоров, ОЗУ.

 

 

 Виды триггеров

Для классификации триггеров используют два похода: по функциональному принципу и по способу записи информации.

По функциональному принципу:

·                   базовые RS-триггеры: RS-, R-, S-, E-;

·                   D-триггер – триггер данных;

·                   Т-триггер – счетный триггер;

·                   JK-триггер – универсальный триггер.

По способу записи информации:

·                синхронные;

·                асинхронные.

В синхронных триггерах изменение состояния, т.е. запись данных с информационных входов, осуществляется только при поступлении тактирующего импульса (сигнала разрешения записи).

В асинхронных триггерах запись данных происходит непосредственно с изменением сигнала на информационных входах.

Основные особенности триггера:

·                   значения сигналов на выходах Q и  всегда противоположны;

·                   значение сигнала на выходе  принято называть состоянием триггера;

·                   не все изменения сигналов на информационных входах  приводят к изменению состояния триггера, т.е. триггер может находиться в режиме хранения значения, записанного ранее;

 

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

 

 Асинхронные триггеры

Типы асинхронных триггеров, представленные в табл. 1, различаются реакцией при одновременной подаче сигналов R=1 и S=1.

 

Таблица 1 – Таблица состояний асинхронных RS-триггеров

 

 
 Qt обозначает состояние выхода Q после переключения (срабатывания), т.е. новое состояние триггера;

Qt-1 обозначает состояние выхода Q до переключения, т.е. предыдущее состояние триггера ;

R (reset) – вход для установки триггера в «0»;

S (set) – вход для установки триггера в «1»;

“х” – режим автогенерации, состояние триггера не определено.

В основе всех указанных триггеров асинхронного типа лежит схема простейшего RS-триггера на двух логических элементах.

Простейший RS-триггер

Схема простейшего RS-триггера может быть выполнена в двух вариантах:

·        в базисе (ИЛИ-НЕ)  – схема с прямыми управляющими входами (рис. 1);

·        в базисе (И-НЕ) – схема с инверсными управляющими входами (рис. 2).

 

При включении питания RS-триггер устанавливается в одно из состояний произвольным образом.

Рисунок 1 – Реализация RS-триггера в базисе ИЛИ-НЕ (прямые входы):

 

а)  принципиальная схема; б) таблица состояний;
в) условное обозначение на схеме; г) логические уравнения.

Рисунок 2 – Реализация RS-триггера в базисе И-НЕ (инверсные входы):

а)  принципиальная схема; б) таблица состояний;
в) условное обозначение на схеме; г) логические уравнения.

 

Общее уравнение RS-триггера без привязки к базису имеет вид:

 

Важнейшая особенность триггера, очевидная из логических уравнений, состоит в том, что новое состояние триггера зависит как от значений входов, так и от предыдущего состояния триггера.

Поскольку переключение триггеров происходит последовательно по логическим элементам, то общее время задержки переключения равно сумме времен переключения всех логических элементов в цепочке сигнала.

Модификации RS-триггера

Основной недостаток простейшего RS-триггера – наличие входной комбинации, при которой триггер теряет устойчивость.

Простейший RS-триггер имеет несколько модификаций, цель применения которых – исключить неустойчивое состояние триггера (рис. 3).

 

 

Схемы R-, S- и E-  триггеров несколько сложнее, но в их основе лежит схема RS-триггера.

Рисунок 3 – Схемы построения RS-триггеров различных типов

 

Е-триггер получается объединением R- и S- схем (пересекающиеся ветви для R и S сигналов с инверсией).

6.2  Тактируемые (синхронные) триггеры

Тактируемые триггеры используются чаще, так как более удобны и надежны в управлении.

Простейший синхронный RS-триггер, тактируемый уровнем сигнала, получается на основе RS-триггера путем введения тактового (синхронизирующего) входа С и двух логических элементов (рис. 4).

При С=0 триггер не меняет своего состояния при любых сигналах R и S.

 

При С=1 триггер работает как RS-триггер.

Рисунок 4 – RS-триггер, тактируемый уровнем сигнала С

 

Тактируемый уровнем D-триггер (триггер данных)

D-триггер – базовый элемент для хранения битовых данных. Этот триггер имеет один информационный вход D и тактовый вход С. Сигнал с входа D будет записан в триггер и появится на выходе Q только при наличии активного уровня сигнала на тактовом входе С (рис.8.6).

Основное достоинство D-триггера по сравнению с RS-триггером в том, что он более удобен для записи и хранения цифровых данных за счет единственного информационного входа, через который может быть установлен в “1” или “0”.

D-триггер с синхронизацией по срезу тактового импульса

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

Таким образом, запись информации в триггер происходит строго в момент перепада тактового импульса из 0 в 1 (по фронту) или из 1 в 0 (по срезу).

Синхронный Т- триггер (счетный триггер)

Счетные триггеры (или Т-триггеры) реализованы только в виде схем, тактируемых срезом синхроимпульса. В триггерах этого типа имеется только один вход – счетный тактирующий вход Т .

Универсальный JK-триггер

 

Универсальный JK-триггерэто логическая комбинация RS- и Т-триггеров. Это понятие означает, что при некоторых значениях входных сигналов устройство работает как RS-триггер, а при некоторых значениях входов – как T-триггер.

JK-триггеры в интегральном исполнении обычно имеют три сгруппированных по И (&) входа J1,  J2, J3  (установка триггера в “1”) и аналогично сгруппированных И (&) входа K1, K2, K3 (установка триггера в “0”). Эти входы синхронизированы по срезу сигнала на входе С. Кроме того, такие триггерные устройства имеют статические входы предустановки S и R,  работающие в инверсной логике.

 

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