Как работает калькулятор? Создаём свою вычислительную машину! #1
В данной статье я расскажу об основах цифровой схемотехники. Мы рассмотрим базовые логические элементы, работающие на основе транзисторов и соберём свой собственный калькулятор!
Вторая часть статьи.
Важно понимать, что любое электронное устройство, типа калькулятора, компьютера или телефона, выполняет одни и те же функции (математические вычисления и работа с памятью). Получается, что и устройство всех электронных приборов очень похожее.
Мы рассмотрим один из самых простых примеров такого вычислительного устройства — калькулятор. Нашей задачей будет создать машину, которая сможет складывать два положительных числа.
А начнем мы с самого важного.
Булева логика
Булева логика — это очень простая штука, знакомая практически всем. Её хорошее понимание нужно для того, чтобы однозначно и ясно понимать алгоритм построения компьютера.
Начнём с главного определения:
Высказыванием называется любое утверждение, для которого можно сказать истинно оно или ложно.
Примеры:
Высказывание \(A\) гласит, что \(3 — 2 = 1\). Очевидно, что \(A\) верно.
Высказывание \(B\) гласит, что \(3 — 2 = 2\). Понятно, что \(B\) не верно.
Высказывания можно комбинировать.
Самые важные и часто используемые комбинации — это операция «ИЛИ», операция «И» и операция «НЕ».
Для них я приведу так называемые таблицы истинности.
Таблица истинности нужна для того, чтобы определить истинность операции при разных значениях параметров:
Булева логика очень удобна в схемотехнике: истина — напряжение высокое, ложь — низкое.
Высокому напряжению сопоставляют \(1\), низкому — \(0\).
Помимо высказываний, мы можем работать с двоичными числами, ведь последовательности из ноликов и единичек можно сопоставить последовательность высоких и низких напряжений:
Двоичный сумматор через логические операции
Почему для того, чтобы суммировать нужны логические операции (вентили)? Всё дело в том, что логические операции — это очень просто и удобно, ведь они позволяют делать проверки и в зависимости от результата выполнять разные действия. Это очень похоже на условные операторы в программировании.
Двоичные числа складываются по тем же правилам, что и десятичные.
При сложении нужно разместить одно число под другим и складывать цифры поразрядно:
Для сложения двух двоичных чисел нужно несколько раз сложить цифры из одинаковых разрядов. Разберёмся с тем, как это сделать с помощью логических элементов.
Сумма двух цифр равна единице, если одна из них равна единице. В случае, когда обе цифры равны нулю или единице сумма будет нулевая:
Легко проверить, что следующая схема из логических элементов как раз соответствует этой таблице истинности:
Действительно, сумма двух цифр равна единице, если одна из них равна единице, а другая нулю. В случае, когда обе цифры равны нулю или единице сумма будет нулевая (возможно 4 варианта):
Но это не полный сумматор, ведь в нашей схеме нужно учесть то, что если две цифры равны единице, то выполняется перенос единицы в следующий разряд:
Сейчас лучше, но в завершение нужно учесть перенос единицы из предыдущего разряда.
Схема получилась достаточно громоздкая, но пугаться её не стоит, ведь происходит следующее: мы результат сложения \(A\) и \(B\) складываем с тем, что было перенесено из предыдущего разряда. То есть мы просто дублируем схему сложения:
Единица для переноса в следующий разряд получается либо если \(A\) и \(B\) равны единице, либо если сумма \(A+B\) с единицей из предыдущего разряда равна единице.
Все возможные комбинации:
Теперь мы умеем складывать цифры поразрядно, учитывая переносы в следующий разряд:
Комбинируя несколько таких сумматоров мы получим калькулятор. Сумматоры нужно подключить так, чтобы перенос в следующий разряд предыдущего был соединён с переносом из предыдущего разряда следующего:
На рисунке показан 4-x битный сумматор, но наращивая схему можно легко увеличить количество бит.
Осталось решить последнюю проблему — собрать логические элементы.
Транзистор
Мы будем конструировать логические операции с помощью транзистора — радиоэлектронного компонента из полупроводникового материала, обычно с тремя выводами, способного от входного сигнала управлять током в выходной цепи.
В настоящее время транзистор является основой схемотехники подавляющего большинства электронных устройств и интегральных микросхем:
Почему для построения операций удобно использовать транзистор? Дело в том, что транзистор — единственный простой способ собрать логический элемент (А значит и любое вычислительное устройство).
Логические операции с помощью транзисторов
Начнём с операции отрицания (НЕ).
Если на входе единица, то транзистор открыт и ток идет от питания к земле по пути наименьшего сопротивления. Чтобы на выходе было большое сопротивление нужен резистор на входе следующего элемента. У нас они будут на \(10 kOm\). Резистор на \(1 kOm\) нужен для того, чтобы не происходило короткого замыкания. На выходе получаем ноль.
Если на входе ноль, но транзистор заперт и ток от питания идёт на выход. То есть на выходе единица.
Получилось как раз то, что нужно.
Для построения операции «И» нужно поставить два транзистора последовательно. Таким образом элемент сможет пропускать ток только при условии, что оба транзистора открыты:
Для построения операции «ИЛИ» нужно поставить два транзистора параллельно. Таким образом элемент сможет пропускать ток, если один из транзисторов (или оба) открыт:
Сейчас мы научились собирать все нужные для калькулятора логические элементы с помощью транзистора. В следующей части я использую всю теорию, данную здесь, и соберу полноценный калькулятор!
На эту тему на моём YouTube канале есть видеоролик, посвященный этой теме, советую подписаться и узнавать о таких масштабных проектах первым 🙂
Вторая часть статьи.
Друзья! Я очень благодарен вам за то, что вы интересуетесь моими работами, ведь каждый пост на сайте даётся очень непросто. Я буду рад любому отклику и поддержке с вашей стороны.
Если у вас остались вопросы или пожелания, то вы можете оставить комментарий (регистрироваться не нужно)
Крутяк, продолжай в том же духе!
Дата: 22-07-2019 в 00:58
Дата: 01-08-2019 в 16:38
Дата: 14-08-2019 в 00:20
А как соеденять суматоры я не понял
———————————-
Нужно подключить их так, чтобы перенос в следующий разряд предыдущего сумматора был соединён с переносом из предыдущего разряда следующего сумматора 🙂
Дата: 14-08-2019 в 00:48
Полезная вещь для молодых ребят.
Дата: 22-08-2019 в 19:48
Подписался на канал только от этого видеоролика, не смотря другие понял, что канал надо поддержать.
А ещё хотелось бы получить возможность посмотреть на схему из этого видео. К примеру я не знаю, как сделать исключающее или. А по схеме я тоже самого собрать сумматор.
——————————————————
Спасибо за поддержку Дата: 03-11-2019 в 05:15
Дата: 26-01-2020 в 18:08
О боже, я научился строить модули алгебры логики, а затем и калькулятор в майнкрафт
Дата: 05-05-2020 в 15:35
В какой программе ты чертил эти схемы?
Дата: 31-05-2020 в 17:40
какая маркировка тронзистора
Дата: 08-07-2020 в 20:41
Дата: 13-07-2020 в 20:57
Откуда берётся сигнал в элементе «не», если на входе его нет?
Дата: 29-07-2020 в 00:46
привет. я уже много раз прочитал. помоему БУМ-БУМ!
Дата: 30-10-2020 в 01:47
Дата: 06-11-2020 в 10:56
красава. так держать. попробуй добавить разрядности, добавь функцию вычитания, и по возможности умножения
Дата: 03-12-2020 в 16:29
Дата: 24-12-2020 в 22:55
Я скачал, меня ебали!
Дата: 01-02-2021 в 12:09
Дата: 01-03-2021 в 18:24
Дата: 20-03-2021 в 21:43
Мои курсовые | 30.11.2019: Выложил мои курсовые в открытый доступ. Теперь они отображаются в колонке слева под новостями.
Для будущих авторов | 12.10.18: Если вы хотите стать автором статей на сайте и получить подтвержденный аккаунт, то обращайтесь на почту! support@ilinblog.ru
Обновления | 21.08.18: Добавлена возможность комментировать статьи. Сайт адаптирован под мобильные устройства.
Обновления | 19.01.18: Добавлена возможность добавления математических формул в статьи посредством языка latex. Пример использования тут. Также добавлена возможность редактирования статей.
Информация о пользователях | 28.10.17: Расширена функциональность страницы пользователей, теперь можно добавить статус и личную информацию.
Знакомство с вычислительными «машинами»
Учитель сообщает, что существует математическая игра «Вычислительные машины», с которой учащиеся познакомятся на занятии.
Учитель демонстрирует несколько схем вычислительных «машин», учащиеся должны определить, какие вычисления «умеет» делать каждая из них.
Учащимся предлагается сравнить схемы и установить, из каких элементов состоят эти вычислительные «машины». Затем учитель сообщает названия элементов.
Далее демонстрируется «работа» первой вычислительной «машины». Например, на вход «машины» «подаётся» число 5 (учитель «вводит» число 5 на схеме: записывает или ставит карточку с числом 5). «Машина» выполняет действие «+2». На выходе получается число 7 (результат отмечается на схеме).
Игра «Вычислительные машины»
Учитель «подаёт» на вход вычислительных «машин» разные числа (ставит соответствующие карточки), ученики исполняют роль «вычислительных машин» и с помощью сигнального блокнота или веера цифр показывают результаты на выходе.
Можно использовать карточки с числами и задавать число не только на входе, но и на выходе «машины» (обратной стороной карточки). После ответов карточка переворачивается, и учащиеся могут проверить правильность выполнения действий.
Переменка 1
Проводится в виде игры на внимание.
Учитель бросает мяч ученикам и называет различные числа. Если число больше 10, ученик произносит «да» и возвращает мяч учителю, если число меньше 10 — произносит «нет». Игра проходит в быстром темпе на выбывание.
Знакомство с вычислительными «машинами» (продолжение)
Учитель сообщает, что вычислительные «машины» могут выполнять одно или несколько действий по заданному «условию», и демонстрирует схему такой вычислительной «машины».
Учащимся предлагается обсудить: какие новые элементы изображены на схеме вычислительной «машины», в какой
фигуре задано условие, сколько стрелок выходят от ромба, как «работает» «машина с условием» по стрелке «Нет», по стрелке «Да».
Следует продемонстрировать три варианта работы «машины с условием» — на вход «подаётся» число: 1) большее 6; 2) меньшее 6; 3) число 6 (в этом случае «машина» «не работает», т.к. число не может быть больше или меньше самого себя).
Далее учитель предлагает учащимся подумать, как «простую» вычислительную «машину» перестроить в «машину с условием», как может выглядеть схема такой «машины» (можно предложить учащимся самостоятельно смоделировать её). Учитель может продемонстрировать схему такой вычислительной «машины».
Необходимо установить, как работает такая «машина». На вход по очереди «подаются» три числа: число большее 8, число 8 и число меньшее 8 (целесообразно ввести числа 9, 8, 3 или 2 и определить, какие результаты будут на выходе в каждом случае).
Переменка 2
Упражнение в парах «Ремонт «вычислительной машины»»
Каждая пара учащихся получает карточку «Мастерская Винтика и Шпунтика». Требуется установить, правильно ли работает каждая вычислительная «машина», и «устранить» неисправности («починить машины»):
При подведении итогов обсуждается, что неисправности можно было устранять не только на выходе или на входе, но и в действиях или в условиях.
Упражнение «Проверь работу «вычислительной машины»»
Каждый ученик получает карточку, на которых изображены схемы вычислительных «машин».
Требуется «проверить работу каждой из вычислительных «машин», заполнив, числами её схему.
Кроме того, по желанию ученики могут спроектировать вычислительную «машину», составить её схему и «проверить работу».
В конце занятия можно предложить обменяться карточками с «соседом» и проверить, «работает» ли «машина», при необходимости — «починить» её.
Занятие 20. Простые задачи на нахождение суммы
Цель: планируется, что к окончанию занятия учащиеся будут знать:о прикладной значимости сложения при решении задач на нахождение суммы, о способах моделирования условий текстовых задач на нахождение суммы; уметь: моделировать условия простых задач с использованием схематических изображений.
Оборудование: комплект карточек «Весёлая гимнастика», комплект карточек «Герои сказок» (по числу групп учащихся); карточки «3 + 2» (по числу пар учащихся); карточки «Фрекен Бок, Малыш и Карлсон», сигнальные карточки «Светофор» (по числу учащихся).
Ход занятия
Разминка
Дидактическая игра «Светофор». Учитель читает условия задач. Если задача определённая, т.е. в её условии достаточно данных для решения и нет избыточных данных, учащиеся показывают зелёный сигнал, если задача «недоопределённая» или «переопределённая», — показывают красный сигнал. При этом следует предложить учащимся либо дополнить условие, устранив недостаток информации, либо исключить лишние данные или переформулировать вопрос.
При этом решать задачи (выполнять действия, называть ответ) не нужно.
Примерные условия задач:
· Яна вплела в венок 6 ромашек и 10 васильков. Сколько всего цветков вплела в венок Яна? (Задача определённая.)
· Марк коллекционирует марки. Вчера он приобрёл 8 новых марок. Сколько марок стало в коллекции Марка? (Задача «недоопределённая».)
· На уроке труда ученики изготовили 2 скворечника и 6 кормушек для птиц. Сколько было изготовлено скворечников? (Задача «переопределённая».)
· Старший брат отдал одному младшему брату 4 игрушки, а другому — 2 игрушки. Сколько всего игрушек было у старшего брата? (Задача «недоопределённая».)
· Максим и Наташа собрали по 5 белых грибов. Сколько белых грибов собрали Максим и Наташа вместе? (Задача определённая.)
· Кира купила 3 булочки и столько же пирожных. Сколько пирожных купила Кира? (Задача «переопределённая».)
· Денис подтянулся на турнике 8 раз. Отдохнув, он смог подтянуться ещё столько же раз. Сколько всего подтягиваний выполнил Денис? (Задача определённая.)
· Таня прослушала 4 песни на одной стороне диска и несколько песен на другой. Сколько всего песен прослушала Таня? (Задача «недоопределённая».)
Работа в парах «3 + 2»
Каждая пара получает одну тематическую карточку, используя которую надо составить задачу на сложение и решить её устно.
Выполнив задание, каждая пара заполняет соответствующую схему, изображённую на доске. После выполнения задания всем учащимися можно провести блиц-конкурс составленных задач.
Учитель предлагает учащимся указать одинаковые схемы и установить их отличие в зависимости от условия задачи. Затем учитель обобщает схемы для моделирования условий задач на нахождение суммы.
Важно обратить внимание учащихся, что условия всех простых задач на нахождение суммы можно моделировать, используя одну из этих схем.
Переменка 1
Учащиеся делятся на три группы: первая — «ЗА», вторая — «ДА», третья — «ЧА». Сначала учитель называет один из слогов слова «ЗАДАЧА» и учащиеся соответствующей группы встают. Затем учитель может предложить запомнить следующие действия по команде: «ЗА» — повернуться, «ДА» — пожать руку соседу, «ЧА» — присесть. Команды подаются в произвольном порядке и в быстром темпе.
Последнее изменение этой страницы: 2017-05-05; Просмотров: 2707; Нарушение авторского права страницы