русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Биты и их хранение


Дата добавления: 2014-10-07; просмотров: 2350; Нарушение авторских прав


В современной компьютерной науке информация представляется как последовательность битов. Бит (bit) — двоичный разряд — является одним из двух чисел — 0 или 1, которые с настоящего момента мы будем рассматривать просто как символы, не имеющие никакого числового значения. В дальнейшем мы убедимся, что значение бита варьирует в зависимости от его применения. Иногда последовательность битов используется для представления числовых значений,

иногда они обозначают буквы или другие символы, иногда — изображения, иногда могут обозначать звуки. Хранение бита в машине требует устройства, которое может находиться в двух состояниях, такого как выключатель (включен или выключен), реле (открыто или закрыто) или флаг на флагштоке (поднят или опущен). Одно из состояний используется для обозначения 0, второе для обозначения 1. Рассмотрим способы хранения битов в современных машинах.

Вентили и триггеры

Начнем с описания логических операций AND (И), OR (ИЛИ) и XOR (исключающее ИЛИ)1 (рис. 1).

 

 

Рисунок 1 – Булевы операции

Эти операции схожи с арифметическими операциями умножения и сложения тем, что они так же объединяют пару значений на входе, чтобы породить третье значение на выходе. Однако в отличие от арифметических операций они манипулируют только числами 0 и 1. В данном контексте число 0 имеет значение «ложь» (false), а 1 — значение «истина» (true). Операции, которые манипулируют значениями «истина» и «ложь», называют булевыми операциями (Boolean operations) в честь математика Джорджа Буля (1815-1864).

Операция AND отражает истинность или ложность высказывания, которое построено из двух меньших или более простых высказываний при помощи союза «и». Такое высказывание имеет вид Р AND Q, где Р — это одно высказывание, a Q— другое. Например, Кермит - лягушонок AND Мисс Пигги - актриса.



Входные данные оператора AND отражают истинность или ложность компонентов сложного высказывания; результат, который мы имеем на выходе, отражает истинность или ложность самого сложного высказывания. Поскольку утверждение вида Р AND Q истинно только тогда, когда обе его части истинны, можно заключить, что на выходе операции 1 AND 1 должна быть 1, а во всех других случаях результатом будет 0 (см. рис. 1).

Подобным же образом в основании операции OR лежит сложное утверждение вида Р OR Q, где Р опять является одним утверждением, a Q — другим. Такое выражение является истинным тогда, когда, по крайней мере, один из его компонентов является истинным (см. рис. 1).

В английском языке1 нет отдельного союза, который передавал бы значение операции исключающее ИЛИ. Результатом этой операции является 1 (истина), когда одно значение на входе равно 1 (истина), а другое равно 0 (ложь). Например, высказывание вида Р XOR Q означает «или Р, или Q, но не оба»2.

Следующей булевой операцией является операция NOT (HE, отрицание) (см. сноску 1). Она отличается от AND, OR и XOR тем, что имеет только одно значение на входе. На выходе получается противоположное значение; если входящее значение операции НЕ «истина», то результатом ее применения является «ложь» и наоборот. Следовательно, если на входе мы имеем истинность или ложность высказывания Фоззи - медведь, то на выходе — истинность или ложность высказывания Фоззи не медведь.

Устройство, которое порождает результат какой-либо булевой операции при данных входных значениях, называется вентилем (gate). Вентили могут быть построены с применением различных технологий, таких как механические устройства, реле различных типов, оптические механизмы и т. д. В современных компьютерах вентили являются небольшими электронными схемами, в которых числа 0 и 1 представлены как уровни напряжения. Однако не будем вдаваться в детали. Для задач, стоящих перед нами, достаточно символического представления вентилей (рис. 2). Обратите внимание, что вентили, соответствующие операциям AND, OR, XOR, NOT представлены схемами, имеющими различную форму, при этом исходные значения входят с одной стороны, а результирующее значение выходит с другой.

 

 

Рисунок 2 – Графические обозначения и таблицы состояний вентилей

 

Такие вентили, как эти, являются стандартными блоками, из которых конструируется компьютер. Важным шагом в этом направлении является схема, изображенная на рис. 3, которая представляет собой отдельный пример из множества существующих схем, называемых триггерами. Триггер (flip-flop) — это схема, которая на выходе имеет значение 0 или 1. Это значение остается неизменным до тех пор, пока кратковременный импульс, исходящий из другой цепи, не заставит его переключиться на другое значение. Другими словами, триггер будет переходить из одного состояния в другое только под влиянием внешнего стимула. До тех пор, пока оба значения на входе цепи равны 0 (см. рис. 3), результат на выходе (0 или 1) будет оставаться неизменным. Однако подача импульса 1 на верхний вход схемы приведет к тому, что значение на выходе будет равно 1, в то время как подача импульса 1 на нижний вход триггера в результате даст 0.

Рисунок 3 – Простая триггерная схема

Рассмотрим последнее утверждение более подробно. Не зная текущего значения на выходе схемы (см. рис. 3), предположим, что значение на верхнем входе стало 1, а значение на нижнем входе осталось равным 0 (рис. 4, а). В результате этого преобразования значение на выходе вентиля ИЛИ станет равным 1, независимо от того, какое значение имеется на другом входе вентиля. В свою очередь, оба входящих значения вентиля И теперь станут равны 1, так как одно из них и так равно 1 в результате действия вентиля НЕ. Тогда на выходе вентиля И будем иметь 1, что означает, что второй вход вентиля ИЛИ теперь равен 1 (рис. 4, б). Этот факт является гарантией того, что значение на выходе вентиля ИЛИ будет оставаться равным 1, даже если значение на верхнем входе триггера опять станет равным 0 (рис. 4, б). В итоге значение на выходе триггера стало равным 1 и будет оставаться таким и после того, как значение на верхнем входе будет опять равно 0.

 

Рисунок 4 – Приведение значения на выходе триггера к 1: а – помещение 1 на верхний вход схемы; б – значение на выходе вентиля ИЛИ и вентиля И становятся равными 1; в – 1 на выходе вентиля И не позволяет измениться значению на выходе вентиля ИЛИ даже после возвращения значения на нижнем входе схемы к 0

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

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

Конечно, существуют и другие способы построения триггера (рис. 5). Если вы поэкспериментируете с этой схемой, вы придете к выводу, что хотя она обладает другой внешней структурой, ее внутренние свойства остаются такими же, как и у ранее рассмотренной схемы (см. рис. 3). Это заключение является иллюстрацией роли абстрактных инструментов. Проектируя триггер, инженер рассматривает и альтернативные способы построения триггера с использованием стандартных блоков. Затем, когда триггер и другие основные схемы спроектированы, инженер может использовать их в качестве стандартных блоков для конструирования более сложной схемы. В свою очередь, схема элементов вычислительной машины приобретает иерархическую структуру, каждый уровень которой в качестве абстрактных инструментов использует компоненты более низкого уровня.

 

 

Рисунок 5 - Другой способ построения триггера

 

Другие способы хранения битов. В 60-х годах XX века для хранения битов в ЭВМ использовались небольшие кольца из ферромагнитного материала, обмотанные проволокой, так называемые сердечники (ферриты). При пропускании тока через проволоку происходит намагничивание сердечника. Далее, наблюдая за эффектом, который магнитное поле оказывает на электрический ток, приходящий через центр сердечника, мы можем определить его направление. Таким образом, сердечник представлял собой средство для хранения битов: 1 была представлена магнитным полем одного направления, 0 — магнитным полем другого направления. Сейчас такие системы устарели и вышли из употребления из-за большого размера и больших энергетических затрат.

Более современным способом хранения битов является конденсатор, который состоит из двух небольших металлических пластин, расположенных параллельно друг другу на некотором расстоянии. Если к пластинам подсоединить источник напряжения: к одной пластине — положительный полюс, к другой — отрицательный, заряды из источника перейдут на пластины. Теперь, если убрать источник напряжения, то заряды останутся на пластинах. Если соединить пластины, то возникнет электрический ток, и заряды будут нейтрализованы. Таким образом, конденсатор может находиться в одном из двух состояний (заряжен и разряжен), одно из которых может быть принято за 0, другое — за 1. Современные технологии позволяют создать миллионы крошечных конденсаторов, объединенных в одну цепь на одной пластине (называемой чипом (chip)). Поэтому конденсатор стал распространенным способом для хранения битов в машинах.

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



<== предыдущая лекция | следующая лекция ==>
Изучение алгоритмов | Оперативная память


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.