Основные понятия о системах счисления.
Системы счисления, которыми мы пользуемся в настоящее время, основаны на методе, открытом индусскими математиками около 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-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-триггеры в интегральном исполнении являются универсальными устройствами, на основе которых могут быть построены основные виды триггеров.