Чарльз Петцольд - Код. Тайный язык информатики
- Название:Код. Тайный язык информатики
- Автор:
- Жанр:
- Издательство:Манн, Иванов и Фербер
- Год:2019
- Город:Москва
- ISBN:978-5-00117-545-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Чарльз Петцольд - Код. Тайный язык информатики краткое содержание
Код. Тайный язык информатики - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Если частота осциллятора равна 20 герц (20 циклов в секунду), частота выхода Q в два раза меньше — 10 герц. По этой причине такая схема, в которой выход Q соединен со входом триггера «Данные», также называется делителем частоты .
Разумеется, выход делителя частоты может являться входом Clk другого делителя частоты для повторного деления частоты. На следующем изображении показана схема, состоящая из трех делителей частоты.

Давайте рассмотрим четыре сигнала, которые я обозначил в верхней части схемы.

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

Не догадались? Попробуйте повернуть диаграмму на 90 градусов по часовой стрелке и прочитать 4-битные числа по горизонтали. Каждое из них соответствует десятичному числу от 0 до 15.
Двоичное число
Десятичное число
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
10
1011
11
1100
12
1101
13
1110
14
1111
15
Эта схема производит подсчет в двоичном формате , и чем больше триггеров добавляем в схему, тем большую сумму можно получить с ее помощью. В главе 8 я указал, что в последовательности возрастающих двоичных чисел каждый столбец цифр чередуется между 0 и 1 с частотой вдвое меньшей, чем столбец справа от него. Этот счетчик имитирует эту закономерность. При каждом положительном переходе сигнала Clk значения выходных сигналов счетчика увеличиваются на 1, это и называется приращением или инкрементом .
Давайте объединим восемь триггеров и поместим их в общий корпус.

Схема называется сквозным счетчиком , потому что выход каждого триггера становится входом Clk следующего. Изменения сигнала проходят последовательно через все триггеры, а изменения триггеров, находящихся в конце, могут происходить с небольшой задержкой. Более сложные счетчики — синхронные , в них все выходные сигналы изменяются одновременно.
Я обозначил выходы буквами от Q0 до Q7. Они расположены так, что выход первого триггера в цепочке (Q0) является крайним справа. Если вы подключите к этим выходам лампочки, сможете прочитать 8-битное число. Временн а я диаграмма такого счетчика может отображать все восемь выходов отдельно или вместе следующим образом.

При каждом положительном переходе сигнала Clk некоторые выходы Q могут измениться, некоторые — нет, однако вместе они отражают последовательность возрастающих двоичных чисел.
Ранее в этой главе я говорил, что мы найдем способ определения частоты осциллятора. Итак, если вы подключите осциллятор к входу Clk 8-битного счетчика, последний покажет, сколько колебаний совершил осциллятор. Когда общее число достигнет 11111111 (255 в десятичной системе счисления), счетчик вернется к 00000000. Вероятно, самый простой способ определения частоты осциллятора заключается в том, чтобы подключить восемь лампочек к выходам 8-битного счетчика. Теперь подождите, пока значения всех выходов не станут равны 0, то есть пока не погаснут все лампочки, и запустите секундомер. Остановите секундомер, когда все лампочки погаснут снова. Это время, необходимое для 256 колебаний. Скажем, для этого требуется десять секунд. Таким образом, частота осциллятора составляет 256 / 10 = 25,6 герца.
С появлением в триггерах дополнительных функций они становятся более сложными. На следующем рисунке изображен D-триггер с предустановкой и очисткой, срабатывающий по фронту .

Входы Pre (от «рreset» — «предустановка») и Clr обладают более высоким приоритетом, чем входы Clk и «Данные». Обычно эти два входа равны 0. Когда вход Pre равен 1, выход Q становится равным 1, а выход — 0. Когда вход Clr равен 1, выход Q — 0, а выход — 1. Как и в случае со входами S и R RS-триггера, входы Pre и Clr не должны одновременно быть равными 1. В остальном этот триггер ведет себя как обычный D-триггер со срабатыванием по фронту.

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

Теперь наши телеграфные реле умеют складывать, вычитать и производить подсчет в двоичном формате. Это значительное достижение, особенно учитывая то, что используемое оборудование было доступно более ста лет назад. Впереди у нас еще множество открытий. Однако давайте немного отдохнем от конструирования схем и вернемся к системам счисления.
Помимо упомянутых RS- и D-триггеров, существуют еще два основных вида: JK-триггеры (Jerk/Kill, внезапное включение / внезапное отключение) и Т-триггеры (Toggle, переключатель; он же счетный триггер). Таблица истинности JK-триггера отличается от таковой для RS-триггера наличием перехода при J = K = 1, где ввод J аналогичен вводу S, а ввод K — вводу R. Таким образом, это отличие можно записать следующим образом.

Получается, J = K = 1 инвертирует предыдущее состояние триггера. Во всем остальном принцип работы аналогичен RS-триггеру.
Принцип действия Т-триггера заключается в том, что он инвертирует входной сигнал.

Глава 15
Байты и шестнадцатеричные числа
Две усовершенствованные счетные машины, описанные в предыдущей главе, хорошо иллюстрируют концепцию потоков данных . Восьмибитные значения перемещаются по цепи от одного компонента к другому. Эти значения подаются на входы сумматоров, защелок и селекторов, а также появляются на выходах этих устройств. Кроме того, 8-битные значения задаются с помощью переключателей и отображаются рядом лампочек. Таким образом, поток данных в этих схемах имеет ширину восемь бит . Но почему? Почему не шесть, не семь, не девять и не десять?
Читать дальшеИнтервал:
Закладка: