- Генератор тактовых импульсов
- Содержание
- Типы генераторов
- Классический
- Кварцевый
- Кварц + микросхема генерации
- Программируемая микросхема генерации
- Тактовый генератор
- См. также
- Полезное
- Смотреть что такое «Генератор тактовых импульсов» в других словарях:
- Тактовый генератор: устройство, принцип работы, применение
- Тактовые сигналы
- Принцип формирования тактового сигнала
- Генератор тактовых импульсов для компьютера
- Оверклокинг
- Основные элементы
- Схема фазовой автоподстройки частоты
- Виды тактовых генераторов
- Применение генераторов синхронизирующих сигналов в сетях SONET
- Собираем 8-битный компьютер
- Видеоиллюстрация
- Архитектура
- Компоненты
- Схема
- Компоненты
- Тактовый генератор
- Оперативная память
- Арифметико-логическое устройство
- Регистр ввода-вывода и дисплей
- Счётчик команд
Генератор тактовых импульсов
Генератор тактовой частоты (генератор тактовых импульсов) генерирует электрические импульсы заданной частоты (обычно прямоугольной формы) для синхронизации различных процессов в цифровых устройствах — ЭВМ, электронных часах и таймерах, микропроцессорной и другой цифровой технике. Тактовые импульсы часто используются как эталонная частота — считая их количество, можно, например, измерять временные интервалы.
В микропроцессорной технике один тактовый импульс, как правило, соответствует одной атомарной операции. Обработка одной инструкции может производиться за один или несколько тактов работы микропроцессора, в зависимости от архитектуры и типа инструкции. Частота тактовых импульсов определяет скорость вычислений.
Содержание
Типы генераторов
В зависимости от сложности устройства, используют разные типы генераторов.
Классический
В несложных конструкциях, не критичных к стабильности тактового генератора, часто используется последовательное включение нескольких инверторов через RC-цепь. Частота колебаний зависит от номиналов резистора и конденсатора. Основной минус данной конструкции — низкая стабильность. Плюс — предельная простота.
Кварцевый
Кварц + микросхема генерации
Микросхема генерации представляет собой специальную микросхему, которая при подключении к её входам кварцевого резонатора будет выдавать на остальных выводах частоту, делённую или умноженную на исходную. Данное решение используется в часах, а также на старых материнских платах (где частоты шин были заранее известны, только внутренняя частота центрального процессора умножалась коэффициентом умножения).
Программируемая микросхема генерации
В современных материнских платах необходимо большое количество разных частот, помимо опорной частоты системной шины, которые, по возможности, не должны быть зависимы друг от друга. Хотя базовая частота всё же формируется кварцевым резонатором (частота — 14,3 МГц), она необходима лишь для работы самой микросхемы. Выходные же частоты корректируются самой микросхемой. Например, частота системной шины может быть всегда равна стандартным 33 МГц, AGP — 66 МГц и не зависеть от частоты FSB процессора.
Если в электронной схеме необходимо разделить частоту на 2 используют Т-триггер в режиме счётчика импульсов. Соответственно, для увеличения делителя увеличивают количество счётчиков (триггеров).
Тактовый генератор
Тактовый генератор — автогенератор, формирующий рабочие такты процессора («частоту»). В некоторых процессорах (например, Z80) выполняется встроенным.
Кроме тактовки процессора в обязанности тактового генератора входит организация циклов системной шины. Поэтому его работа часто тесно связана с циклами обновления памяти, контроллером ПДП и дешифратором сигналов состояния процессора.
См. также
Полезное
Смотреть что такое «Генератор тактовых импульсов» в других словарях:
генератор тактовых импульсов — генератор синхроимпульсов — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] Тематики электротехника, основные понятия Синонимы генератор синхроимпульсов EN clock … Справочник технического переводчика
генератор тактовых импульсов — takto impulsų generatorius statusas T sritis automatika atitikmenys: angl. clock pulse generator; timing pulse generator vok. Taktimpulsgenerator, m rus. генератор тактовых импульсов, m pranc. générateur d impulsions de rythme, m … Automatikos terminų žodynas
генератор тактовых импульсов — taktų impulsų generatorius statusas T sritis Standartizacija ir metrologija apibrėžtis Generatorius, kuriantis stabilaus periodo impulsus, kurie naudojami tam tikrų įtaisų ar grandinių veikai sinchronizuoti. atitikmenys: angl. cycle repeat timer; … Penkiakalbis aiškinamasis metrologijos terminų žodynas
генератор тактовых импульсов — taktų impulsų generatorius statusas T sritis fizika atitikmenys: angl. clock pulse generator; timing pulse generator vok. Impulszeitgeber, m; Taktimpulsgeber, m rus. генератор тактовых импульсов, m pranc. générateur d’impulsions de rythme, m;… … Fizikos terminų žodynas
задающий генератор (тактовых импульсов) — Ведущий опорный генератор, формирующий тактовые или синхронизирующие импульсы, используемые для управления другими генераторами, которые называются ведомыми. [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь… … Справочник технического переводчика
опорный генератор тактовых импульсов — — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999] Тематики электротехника, основные понятия EN reference clock … Справочник технического переводчика
Генератор сигналов — Генератор сигналов это устройство, позволяющее получать сигнал определённой природы (электрический, акустический или другой), имеющий заданные характеристики (форму, энергетические или статистические характеристики и т. д.).… … Википедия
генератор синхроимпульсов, управляемый напряжением — генератор тактовых импульсов, управляемый напряжением — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] Тематики электротехника, основные понятия Синонимы… … Справочник технического переводчика
Генератор колебаний электрический — Электронные генераторы большое множество устройств в радиотехнике и электронике (радиоэлектронике). Генератор представляет собой электронный усилитель охваченный цепью положительной обратной связи с фильтром. Содержание 1 Виды генераторов 2… … Википедия
Электронный генератор — Электронные генераторы большое множество устройств в радиотехнике и электронике (радиоэлектронике). Генератор представляет собой электронный усилитель охваченный цепью положительной обратной связи с фильтром. Содержание 1 Виды электронных… … Википедия
Тактовый генератор: устройство, принцип работы, применение
Тактовый генератор – электронная схема, производящая тактовый сигнал для синхронизации работы цифровых схем. Такой сигнал может иметь любую форму: и простую прямоугольную, и более сложную. Основными элементами генератора являются резонансная схема и усилитель.
Тактовые сигналы
В электронике, в особенности в синхронных цифровых сетях, тактовый сигнал – это сигнал, имеющий постоянную частоту, два устойчивых состояния (верхнее и нижнее), предназначенных для согласования работы цифровых схем.
Вам будет интересно: Как поставить макрос на мышку Bloody A4Tech
Тактовые сигналы создаются тактовыми генераторами. Наиболее распространенной формой тактового сигнала является меандр (сигнал с рабочим циклом 50%). Рабочий цикл – отношение длительности к периоду импульса. Другими словами, это часть периода, в течение которой сигнал активен.
Схемы, использующие тактовые сигналы, могут становиться активными во время переднего фронта, заднего фронта, или, в случае удвоенной скорости передачи данных, переднего и заднего фронтов импульса.
Принцип формирования тактового сигнала
Источником тактовых колебаний является кварцевый кристалл, расположенный в оловянном корпусе. При подаче на кварцевую пластинку напряжения, он начинает совершать механические колебания. Под действием пьезоэлектрического эффекта на электродах кристалла наводится ЭДС. Колебания электротока следуют на генератор, который, собственно, и преобразует их в импульсы.
Генератор тактовых импульсов для компьютера
Вам будет интересно: Как подключить «Икс Бокс 360» к интернету: пошаговая инструкция
В компьютере генератор отвечает за синхронную работу всех его устройств: процессора, оперативной памяти, шин данных. Работу процессора при этом можно сравнить с работой часов. Исполнение инструкции центральным процессором осуществляется за определенное число тактов. Точно также функционируют и часы. Такты в механических часах определяются колебаниями маятника.
Производительность процессора напрямую зависит от частоты тактов. Чем больше частота тактов, тем больше инструкций процессор способен выполнить за определенный промежуток времени. Одна команда или инструкция может выполняться процессором за часть такта или за несколько сотен тактов. Общая тенденция современного развития компьютерной техники заключается в снижении количества тактов, выделяемых для выполнения одной простейшей инструкции.
Оверклокинг
Особый интерес тактовый генератор процессора представляет для оверклокеров. К оверклокерам относят специалистов в области компьютерных технологий и просто любителей, стремящихся повысить производительность своей техники. В настоящее время оверклокинг доступен даже простым пользователям. Для изменения настроек компонентов компьютера иногда достаточно просто зайти в BIOS.
Прежде всего необходимо ответить на вопрос: за счет чего будет повышаться производительность? Здесь все очень просто. Производители компьютерных комплектующих для повышения надежности своих компонентов закладывают в них технологический запас. Именно этот запас и привлекает любителей выжать максимум из своего компьютера.
Одним из способов разгона компьютера будет замена кварцевого резонатора на кристалл, имеющий более высокую частоту. Или, например, можно убрать дополнительные элементы в виде делителей частоты из схемы генератора.
В современных компьютерах генераторы, как правило, реализуются на одной интегральной схеме. Значения тактовой частоты и множителя процессора, как уже было отмечено выше, можно изменить непосредственно из BIOS.
Начинающие оверклокеры нередко задаются вопросом, как определить модель тактового генератора. Программными средствами это сделать невозможно. Остается только открывать системный блок и искать генератор визуально.
С другой стороны, программным способом определяется модель материнской платы (AIDA64, Everest и другие). Затем для данной модели ищется подробная инструкция, а в ней вполне возможно будет найти информацию о названии генератора. А как узнать для тактового генератора значение тактовой частоты, установленное по умолчанию, и значение после разгона? Эти сведения также можно почерпнуть из инструкции для материнской платы.
Основные элементы
В качестве резонансной схемы генератора часто выступает кварцевый пьезо-электрический возбудитель. В то же время могут использоваться более простые схемы параллельного резонансного контура и RC-цепь (схема состоящая из конденсатора и резистора).
Генератор может иметь дополнительные схемы для изменения основного сигнала. Так процессор 8088 использует только две трети от рабочего цикла тактового сигнала. Это требует наличия в генераторе тактовых импульсов. И встроенной логической схемы для преобразования рабочего цикла.
По мере усложнения формы выходного синхросигнала в схеме генератора тактовых импульсов могут использоваться смеситель, делитель или умножитель частоты. Смеситель частоты генерирует сигнал, частота которого равна сумме или разности двух частот входных сигналов.
Схема фазовой автоподстройки частоты
Многие устройства используют схемы фазовой автоподстройки частоты (ФАПЧ) для сравнения фазы сигнала с выхода генератора с фазой частоты и регулировки частоты генератора таким образом, чтобы значения фаз совпали.
На рисунке приведена схема фазовой автоподстройки частоты (ФАПЧ). Устройство сравнения фаз (компаратор) имеет 2 входа и 1 выход. В качестве входных сигналов используется сигнал от задающего генератора (сигнал на входе схемы ФАПЧ) и сигнал с выхода генератора, управляемого напряжением (ГУН). Компаратор сравнивает фазы двух сигналов и формирует сигнал ошибки, который следует на фильтр нижних частот (ФНЧ), а с него – на ГУН, управляя его частотой.
Виды тактовых генераторов
1. Генераторы общего назначения
Генераторы общего назначения, как правило, используют схемы ФАПЧ для генерирования выходных сигналов из общей входной частоты. Они для получения опорной частоты используют простые недорогие кварцевые кристаллы. Из сигнала опорной частоты они генерируют выходные тактовые сигналы с низким уровнем дрожания фронта сигнала.
2. Программируемые генераторы
Позволяют изменять коэффициент, используемый делителем или умножителем. Благодаря этому можно выбрать любую из множества выходных частот без изменения аппаратной части.
Применение генераторов синхронизирующих сигналов в сетях SONET
Это тактовый генератор, используемый сетями поставщиков услуг часто в виде встроенного источника сигналов (BITS) для центрального офиса.
Цифровые коммутационные системы и некоторые системы передачи (например, системы синхронной цифровой иерархии SONET) зависят от надежной высококачественной синхронизации. Чтобы обеспечить такое состояние, большинство поставщиков услуг применяют схемы распределения сигналов синхронизации между офисами и реализуют концепцию BITS для обеспечения синхронизации внутри офиса.
На вход генератора тактовой частоты поступают входные сигналы синхронизации, а из выхода следуют выходные сигналы синхронизации. В качестве входных опорных сигналов могут выступать сигналы синхронизации DS-1 или CC (составные сигналы), выходными сигналами также могут быть сигналы DS-1 или CC.
Собираем 8-битный компьютер
У меня нет цели научить читателя компьютерной электронике, но есть цель немного о ней рассказать и заинтересовать для самостоятельного изучения. Поэтому в статье упущено много базовой информации, нет деталей реализации различных компонентов, упрощены схемы — я не хочу перегружать материал. Если вас заинтересует статья, в конце есть раздел со всеми ссылками на видео и книгу для детального ознакомления.
Видеоиллюстрация
На видео снизу я разбираю программу для вывода на экран чисел Фибоначчи, написанную на языке C. Из кода на языке С, я генерирую код на языке ассемблера, чтобы лучше понять принципы выполнение программы на компьютере. Так как компьютер из статьи не понимает язык ассемблера, я перевожу его на язык, который он понимает.
Вы можете посмотреть первые 10 секунд видео, в котором демонстрируется выполнение программы, вернуться на статью и дочитать ее, а потом с бóльшим контекстом досмотреть видео.
Архитектура
Компьютер построен на архитектуре SAP-1 simpleaspossible. SAP-1 — это архитектура для начинающих, главная цель — понять базовые идеи и концепции построения компьютера без углубления в детали. Дизайн специально разработан для академических целей.
Большинство деталей в проекте — это 7400 серия интегральных микросхем от Texas Instruments, американской компании-производителя полупроводниковых изделий.
Компоненты
Компьютер состоит из следующих компонентов:
Регистр адреса оперативной памяти.
Буферные регистры A и B.
Регистр ввода-вывода и дисплей.
Шина для адреса и данных.
Схема
Схема расположения компонентов выглядит следующим образом:
Компоненты
Тактовый генератор
Тактовый генератор координирует работу всех компонентов в компьютере. Он подключен почти к каждому компоненту отдельно и раз в определенное время выдает напряжение. Это нужно для того, чтобы синхронизировать выполнение программы разными частями компьютера.
В основе тактового генератора лежит чип LM555CN — это таймер, устройство для формирования повторяющихся импульсов тактовых сигналов. С помощью резисторов и конденсатора можно контролировать частоту импульсов. Так, например, у Intel Core i9-7980XE базовая тактовая частота — 2.60 GHz. Это значит, что за одну секунду выдается 2.6 миллиарда импульсов.
Частота импульса складывается из времени наличия напряжения и его отсутствия как проиллюстрировано на рисунке ниже. По формуле ниже, она из документации к таймеру, при резисторе А — 100 Ом, резисторе B — 100K Ом, конденсаторе С — 2 микрофарад, получается, что один такт занимает — 0.693 * 201000 * 0.000002 = 0.278 секунды. За одну секунду получится — 1 / 0.278 = 3.59 такта.
Пример использования тактового генератора — внизу на картинке на макетной плате находится чип SN74LS173, это 4-битный D flip-flop — он нужен для того, чтобы хранить 4 битовых значения. Таким образом можно хранить 16 комбинаций значений, от 0000 до 1111. У чипа 16 ножек с помощью которых он вставляется в плату. Каждая из которых отвечает за свою часть работы. Чтобы не вдаваться в подробности, если на M и N разрешение на запись, и 1D подать напряжение, мы ожидаем, что чип сохранит значение как напряжение и отобразит это в 1Q, выход которого ведет к диоду красная лампочка — но ничего не произойдет. Для сохранения значения нам нужно также подать напряжение на вход CLK clock signal — тактовый сигнал, который исходит из тактового генератора.
В проекте тактовый генератор чуть-чуть сложнее:
Вместо резистора на 100К Ом там находится потенциометр, это «резистор с крутилкой», его можно поворачивать за и против часовой стрелки и динамически изменять сопротивление от 0 ОМ до 1М Ом. Таким образом можно увеличить количество тактов в секунду и компьютер будет работать быстрее, и наоборот.
Вместо одного таймера, там три, переключатель и кнопка. Это позволяет переключаться между двумя режимами — ручной и автоматический. В ручном режиме такт совершается при нажатии кнопки — это позволяет дебагать работу компьютера, а автоматический вы уже видели.
Оперативная память
Оперативная память нужна компьютеру, чтобы хранить определенный набор данных по определенным адресам. Оперативная память используется для хранения команд компьютера (например, сложить два числа), адресов (сложить число по какому-то адресу) и данных (записать какое-то число по какому-то адресу).
Знакомый нам чип SN74LS173 может сохранить 4 бита информации, чтобы сохранить 8 бит информации — нужно взять два SN74LS173. Таким образом, мы можем хранить значения от 0000 0000 до 1111 1111, что равно 256 возможных комбинаций, 2 в степени 8.
На схеме ниже к двум SN74LS173 подключен DIP-переключатель на 8 переключателей, которыми можно задавать 8 бит информации. Так как переключатели подсоединены к питанию, если переключить один из них, он выдаст напряжение. При подаче сигнала от тактового генератора, это значение сохранится в чипе и соответствующий диод загорится.
На самом деле, мы хотим контролировать когда производить запись. Без этого в памяти может оказаться любое значение – например, мы начинаем переключать переключатели, не переключили до конца, а тактовый сигнал сработал и память обновилась.
Для этого мы соединяем входы M и N с кнопкой. Кнопка подключена к напряжению, если на нее нажать, она передаст напряжение по перемычке. Нажав на кнопку и дождавшись тактового сигнала, мы получим запись значения.
Таким образом, схематически, можно выразить масштабируемость оперативной памяти как наличие одной кнопки, которая контролирует запись 8 бит. Если мы хотим иметь 128 бит оперативной памяти, а именно столько памяти в проекте, нам нужно 16 кнопок, каждая из которых отвечает за свои 8 ячеек оперативной памяти 16 * 8 = 128.
Если бы мы горизонтально подключили все ячейки между собой все первые ячейки каждой колонки, все вторые, третьи и так далее, соединив с одним переключателем на 8 переключателей, мы могли бы контролировать в какую именно колонку записать переданное через переключатели значение нажатием кнопки. Нажали на 16-ю кнопку — значение записалось только в последнюю колонку ячеек.
Кнопки получились бы репрезентацией адресов оперативной памяти. Но это сложно масштабировать, легче масштабировать бинарное представление 16 кнопок. То есть 4 бита, от 0000 до 1111 — в сумме 16 комбинаций, что равно количеству кнопок и, соответственно, колонок ячеек. С этим поможет DIP-переключатель на 4 переключателя.
Если значение переключателей будет 0000 — выбираем первый ряд, если 0001 — второй ряд, 0011 — четвертый ряд, и так далее до 1111 — 16 ряд. Раз кнопки превратились в переключатели, а переключатели превратились в перенаправление на определенную колонку ячеек, мы потеряли кнопку на запись — которую тоже надо добавить.
Таким образом, мы изобретаем декодер адресов. На вход декодера подается 4 сигнала, отвечающих за адрес в памяти, и 1 сигнал, отвечающий за запись.
Мы не будем разбирать устройство декодера. Внутри декодера находится комбинационная логика — логические вентили И AND и инверторы NOT. Иллюстрация работы в коротком видео здесь.
Таким образом, мы имеем 4 переключателя для адресов, 8 переключателей для значений ячеек, 1 кнопка на запись значений.
Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ) — компонент, который выполняет арифметические и логические операции. Например, АЛУ в проекте умеет суммировать и вычитать два числа, каждое из которых представлено 8 битами. Вид операции зависит от положения тумблера: замкнутый тумблер даст сигнал АЛУ сложить числа, разомкнутый вычесть одно число из другого.
Результат операции сразу сохраняется в отдельный 8-битный регистр, чтобы позже выполнить другие функции над ним — например, положить в оперативную память по какому-то из адресов. Этот регистр называется регистр для суммы.
Но на самом деле, АЛУ не принимает произвольные значения из переключателей. Каждое значение хранится в отдельном регистре — A и B. Эти регистры являются буферными регистрами. Буферные регистры предназначены для временного хранения данных и напрямую подключены ко входам АЛУ.
Регистры A и B почти идентичны по строению 4 знакомых нам чипа SN74LS173, но у них разные задачи. Регистр A призван сохранять промежуточный результат вычислений — один операнд, а регистр B призван хранить другой операнд.
Ниже в коде чуть более наглядно о задачах регистров на примере счётчика с инкрементом. Изначально, мы инициализируем переменную a и регистр А значением 0, переменную b регистр B значением 2. Cуммируем a и b, сохраняя в переменную sum регистр суммы в АЛУ. Значение из sum перезаписывается в a. Повторяем в цикле пока a меньше 255.
Схема архитектуры, которую вы уже видели, и пример задачи показывает, что:
Регистр суммы в АЛУ нужен для сохранения результата операции между регистрами A и B — значение можно передать в другие компоненты через шину данных. Например, в регистр A и решить этим задачу с инкрементом.
Регистр B нужен для хранения вспомогательных значений — в него можно только записать через шину данных.
Регистр A нужен для временного хранения значений — его можно передать в другие компоненты через шину данных.
Также АЛУ не подключен к тактовому генератору, это видно на схеме выше, — это ассинхронный компонент. Это значит, что он отрабатывает сразу как только меняются значения в A и/или B. Это достигается за счет того, что в состав АЛУ включены только комбинационные схемы, как у декодера адресов.
Схема SN74LS181— 4-битного АЛУ
Регистр ввода-вывода и дисплей
Внизу на картинке изображен семисегментный индикатор — он может отображать цифры и буквы. Он состоит из семи сегментов, включающихся и выключающихся по отдельности — с помощью подачи питания на опредленные ножки.
Чтобы отобразить букву F, нужно подать питание на 1, 2, 4 и 6 ножки слева направо, сверху вниз. Чтобы отобразить цифру 1, нужно подать питание на 5 и 9 ножки. Вместо порядкового номера ножки, можно использовать буквы на схеме — для цифры 1 это B и C.
Если мы хотим отобразить число, состоящее из нескольких цифр, мы можем использовать несколько индикаторов.
В проекте таких индикаторов 3 — они используются для отображения чисел в диапазоне от 0 00000000 до 255 11111111, один индикатор на одно число 0 отображается как 000, 1 как 001. Также в индикаторе есть ножка десятичного знака DP на схеме на случай, если нужно отображать числа с дробной частью (например, 17.3) — но такой функциональности в проекте нет, поэтому эта ножка не используется. Как вы поняли, шестнадцатеричная система счисления в проекте не используется, вместо F (15), используется два дисплея с 1 и 5.
Снизу проиллюстрированы все возможные варианты отображения одного десятичного числа на дисплее.
Теперь нужно понять как «соединить» 4-битное значение в диапазоне от 0000 0 до 1111 9 с входами дисплея от A до G. Например, если значение 0011, то на B и C нужно подать напряжение, а на A, D, E, F, G не нужно. С этим поможет таблица истинности ниже.
Вы могли заметить, что эта таблица похожа на структуру данных ассоциативный массив. Такой массив может хранить пары вида ключ-значение и поддерживает операции добавления пары, поиска и удаления.
Что еще похоже на ассоциативный массив? Оперативная память — адрес на вход и значения на выход. Мы можем сохранять по адресам, которые соответствуют двоичным числам 1001, значения для входов дисплея, которые соответствуют десятичному отображению 9.
Но оперативная память нам не подойдет потому, что не может хранить свои данные «вечно», только при наличии питания. Это значит, что нам придется каждый раз заново записывать в оперативную память значения из таблицы истинности.
Кроме оперативной памяти есть еще другие, которые сохраняют ее свойства (адреса, значения, запись и так далее):
ROM (read-only memory) — на заводе изготовителя «заливают» значения по адресам, а после значения изменить нельзя. Если надо что-то изменить, необходимо менять чип целиком.
PROM (programmable read-only memory) — изготавливается с «чистыми» значениями, которые можно запрограммировать один раз.
EPROM (erasable programmable read-only memory) — память можно перезаписывать, но чтобы стереть значения нужно несколько часов держать специальное окошко на чипе под светом ультрафиолетовой лампы. Окошко заклеивается наклейкой или изолентой.
EEPROM (electrically erasable programmable read-only memory) — память можно перезаписывать сколько угодно раз с помощью электрических импульсов — напряжения.
В проекте используется EEPROM — AT28C16. У него 11 входов для адресов (от 00000000000 до 11111111111) — это 2^11 комбинаций, то есть 2048 адресов и 8 ячеек памяти на каждый адрес. В сумме это память на 16384 бит (2048 байт,
2 килобайта). С помощью входа OE (output enable), подавая напряжение, можно регулировать — выводить ли на выходы I/O то, что хранится в памяти или нет. С помощью входа WE (write enable), подавая напряжение, при «выключенном» OE, можно сделать из выходов I/O входы для записи в ячейки памяти.
Плата, некий пульт управления памятью, с помощью которой можно менять значения в ячейках и смотреть, что хранится по тому или иному адресу, выглядит вот так:
С помощью DIP-переключателей задается адрес, с помощью диодов выводится значение в ячейке. С помощью перемычек (проводков над диодами) задаются новые значения.
Как отобразить число от 0 до 9 на дисплее мы разобрались. Теперь нужно понять как отобразить трехзначное число (например, 123) на 3 дисплеях. Сложность здесь в том, что на регистр ввода-вывода передается одно 8-битное значение (для 255 это 1111011), а на выходе не 1 дисплей, а 3.
Есть много решений этой задачи, в проекте используется сложный, но менее затратный по ресурсам (нужно меньше чипов). О сложном решении рассказать текстом не просто, поэтому обсудим простое решение.
Для каждой цифры из трехзначного числа — свой отдельный дисплей, а для каждого дисплея — свой отдельный EEPROM. Все адреса EEPROM-ов соединены между собой — это значит, что если на вход в регистр ввода-вывода попадет адрес — он попадет на все EEPROM-ы.
Фишка здесь в том, что каждый из EEPROM-в отображает только часть числа. Первый — первую цифру, второй — вторую, третий — третью. Это достигается за счет того, что каждый из них имеет свою таблицу истинности — различную друг от друга.
На каждый из EEPROM-ов приходит адрес 1111011 (число 123). Первый должен отобразить 1 — значит, в ячейке памяти по адресу 1111011 лежит — 0110000 (значения для дисплея). У второго в памяти лежит — 2 (1101101), у третьего — 3 (1111101).
Счётчик команд
В проекте, как и в современных компьютерах, в оперативной памяти хранятся не только значения, но и инструкции. Инструкции — это команды для компьютера сделать то или иное действие.
Оператор компьютера человек заполняет оперативную память инструкциями — одна инструкция в одной ячейке оперативной памяти, а компьютер выполняет эти инструкции одну за одной — для этого ему нужен счётчик команд.
Какие есть инструкции и как они работают, мы разберем чуть позже — сейчас о порядке выполнения программы:
Как только компьютер подключается к питанию, его надо поставить на паузу через специальную кнопку на плане тактового процессора.
Оперативная память заполняется вручную через DIP-переключатели, связанные с чипами SN74LS173, о которых рассказывалось выше.
Пауза отжимается и компьютер выполняет инструкцию из ячейки памяти по адресу 0000, потом инструкцию 0001, 0002 и так далее.