Логический. Логические основы ЭВМ: как работает «мозг» компьютера

Что такое логические элементы ЭВМ. Как устроены базовые логические операции. Почему компьютер оперирует нулями и единицами. Какие бывают логические функции.

Содержание

Что такое логические элементы и для чего они нужны

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

Основные типы логических элементов:

  • И (AND) — выполняет логическое умножение
  • ИЛИ (OR) — выполняет логическое сложение
  • НЕ (NOT) — выполняет инверсию (отрицание)
  • Исключающее ИЛИ (XOR)
  • И-НЕ (NAND)
  • ИЛИ-НЕ (NOR)

Из этих базовых элементов строятся более сложные узлы — регистры, счетчики, сумматоры и т.д. Они в свою очередь образуют функциональные блоки процессора, памяти и других устройств компьютера.

Почему компьютеры работают в двоичной системе

Использование двоичной системы счисления (0 и 1) в компьютерах обусловлено несколькими факторами:


  • Простота реализации — электронные схемы легко переводятся в два состояния (есть сигнал/нет сигнала)
  • Помехоустойчивость — промежуточные состояния легко отфильтровываются
  • Экономичность — требуется меньше элементов для кодирования информации
  • Удобство выполнения логических операций

При этом двоичная система позволяет закодировать любую информацию — числа, текст, изображения, звук. Главное преимущество — простота обработки сигналов электронными схемами.

Базовые логические операции

Логическое умножение (И, AND)

Операция И возвращает 1 только если все входные сигналы равны 1. В остальных случаях результат 0.

Таблица истинности для двух входов:

ABA AND B
000
010
100
111

Логическое сложение (ИЛИ, OR)

Операция ИЛИ возвращает 1, если хотя бы один из входных сигналов равен 1. Результат 0 только если все входы 0.

Таблица истинности для двух входов:

ABA OR B
000
011
101
111

Отрицание (НЕ, NOT)

Операция НЕ инвертирует входной сигнал — превращает 0 в 1 и наоборот.

Таблица истинности:


ANOT A
01
10

Как строятся сложные логические схемы

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

  1. Два входа складываются через элемент XOR — получаем сумму без учета переноса
  2. Те же входы подаются на элемент AND — получаем бит переноса
  3. Если есть перенос с предыдущего разряда, он складывается с суммой через еще один XOR

Таким образом, используя простейшие логические элементы, можно построить полноценный одноразрядный сумматор. А объединяя такие сумматоры, получаем многоразрядные вычислительные схемы.

Зачем нужны таблицы истинности

Таблица истинности — это полное описание работы логического элемента или схемы. Она показывает результат для всех возможных комбинаций входных сигналов.

Таблицы истинности позволяют:

  • Проверить корректность работы схемы
  • Оптимизировать логические выражения
  • Сравнивать разные реализации одной функции
  • Находить эквивалентные схемы

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


Как логические элементы реализуются на физическом уровне

В современных компьютерах логические элементы реализуются на основе транзисторов. Основные технологии:

  • TTL (транзисторно-транзисторная логика) — используются биполярные транзисторы
  • КМОП (комплементарная металл-оксид-полупроводниковая структура) — применяются полевые транзисторы

Каждый логический элемент содержит несколько транзисторов, соединенных определенным образом. Например, элемент И-НЕ в TTL-логике состоит из двух транзисторов и нескольких резисторов.

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

Какую роль играет булева алгебра

Булева алгебра — это раздел математической логики, изучающий операции над логическими величинами. Она лежит в основе проектирования цифровых схем.

Основные области применения булевой алгебры в цифровой электронике:

  • Описание работы логических схем
  • Оптимизация логических выражений
  • Минимизация количества элементов в схемах
  • Анализ и синтез комбинационных схем

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



Урок 1. Логический анализ языка

Первый урок нашего курса мы посвятим сложной, но очень важной теме – логическому анализу языка. Сразу стоит оговориться, что эта тема многим может показаться абстрактной, нагруженной терминологией, неприменимой на практике. Не пугайтесь! Логический анализ языка – это основа любой логической системы и правильного рассуждения. Те термины, которые мы здесь узнаем, станут нашим логическим алфавитом, без знания которого просто нельзя пойти дальше, но постепенно мы научимся пользоваться им с лёгкостью.

Во введении к курсу было сказано, что логика концентрируется только на той части человеческого знания, которая выражена в языковой форме. Всем известно, что язык – это основной канал коммуникации между людьми, главный способ передачи информации и трансляции знаний. При этом язык – настолько тонкий инструмент, что он позволяет не только наилучшим образом выражать и передавать наши мысли, но и скрывать их, запутывать, обманывать. Поэтому логика ставит перед собой задачу прояснить работу языка. Не занимается ли тем же самым языкознание? И да, и нет. Безусловно, филологи проясняют, как работает язык на разных уровнях: фонетическом, лексическом, синтаксическом. Также они анализируют регулярности в языковом употреблении, и на основе этого анализа разрабатываются правила орфографии, грамматики, пунктуации, произношения. Эти правила призваны унифицировать использование языка и сделать его более лёгким и понятным.

Логики под прояснением работы языка понимают нечто совершенно иное. В отличие от языкознания, логика стремится как можно больше абстрагироваться от конкретной языковой оболочки и содержания высказываний и перейти к независимым от них универсальным логическим законам и правилам рассуждения. Философ и логик Людвиг Витгенштейн говорил, что язык переодевает мысли (Витгенштейн Л. Логико-философский трактат. М.: Канон+, 2008, с. 72). Так вот, задача логического анализа языка снять языковую одежду и выявить тот скелет или каркас, который под ней скрыт. Логики называют этот скелет логической формой. Если говорить просто, логическая форма – это то, что остаётся от высказывания после того, как мы убрали всё его конкретное содержание. Именно концентрация на логических формах высказываний и логических отношениях между ними делает логику универсальной, применимой к любому рассуждению, независимо от его предмета.

Выявление логических форм так важно, потому что оно способно дать нам полезную информацию о рассуждении, даже если мы не разбираемся в теме. Только по форме высказываний можно определить, корректно ли рассуждение, правильно ли дано определение, правильно ли используются понятия, не пытаются ли нас намеренно запутать и т.д. Поэтому главная задача этого урока – научиться отвлекаться от содержания высказываний и выявлять их логические формы.

Содержание

  1. Язык как система знаков
  2. Треугольник Фреге
  3. Виды языковых выражений
  4. Примеры логического анализа предложений
  5. Упражнения
  6. Проверочные вопросы на усвоение материала

Язык как система знаков

Чтобы научиться этому, сначала необходимо понять, что для логиков представляет собой язык. Начнём с того, что они видят в языке, прежде всего, знаковую систему. Буквы, слова, предложения – всё это знаки. Согласно знаменитому определению основоположника науки о знаках – семиотики – Чарльза Пирса, знак – «это нечто, что обозначает что-либо для кого-нибудь в определенном отношении или объеме» (Пирс Ч.С. Избранные философские произведения, М.: Логос, 2000, с. 177). Это довольно запутанное определение можно представить в виде квадрата:

В естественном языке знаками будут слова, словосочетания и предложения. «Авокадо», «тренер сборной Германии по футболу», «Александр Сергеевич Пушкин», «Кошки много спят» – всё это знаки. Я пишу их в кавычках специально, чтобы показать, что речь идёт именно о знаках – сочетаниях букв и звуков, которые нечто для нас обозначают. То, что знак обозначает, называется десигнатом. Десигнатами могут быть предметы, люди, абстрактные сущности, состояния, ситуации, положения дел в мире – в общем, всё что угодно. Слово «апельсин» обозначает для меня конкретный предмет. Слово «Иван» – конкретного человека. Предложение «Сегодня выпал снег» – положение дел. Интерпретатор – это человек, который воспринимает нечто (в случае языка – письменные символы и звуковые сочетания) как знак чего-то. Интерпретанта – это то, как человек реагирует на знак (например, если я вижу на перекрёстке знак «Стоп», то я останавливаю свою машину).

Отношение знаков к десигнатам описывается семантикой. Отношения знаков между собой – синтактикой. Отношение знаков к интерпретатору и интерпретанте – прагматикой. Логика не занимается прагматикой, так как последняя всегда связана с конкретной ситуацией, от которой логика стремится абстрагироваться. Зато изучение семантики и синтактики становятся её важными разделами.

Далее, язык состоит не просто из знаков, но знаков определённого рода – знаков-символов. Знаки-символы связаны со своими десигнатами произвольным образом. Например, буквы произвольным образом связаны со звуками (и это хорошо видно из наличия разных алфавитов), слова произвольно связаны с обозначаемыми предметами и явлениями (по-русски мы говорим «собака», по-английски – «dog», по-французски – «chien»; выбранное слово произвольно и ничего не говорит нам о животном, которое мы так называем), предложения произвольно связаны с выражаемыми мыслями (одну и ту же мысль можно передать с помощью совершенно разных предложений).

Кроме того, помимо знаков-символов есть и другие. Например, если знак копирует объект, это иконический знак 🐶. Иконические знаки также называют знаками-копиями и знаками-изображениями. А если знак указывает на объект, это индексальный знак или просто знак-признак (вспомните значок фирмы Nike или Adidas). Когда же знак символизирует объект, находясь в условной связи с ним, это уже знак-символ (как в примере со словами «собака», «dog» и т.д.)

Каждый тип знака обладает своими преимуществами, способными создать максимальный эффект. Те же иконические знаки и знаки-символы очень легко воспринимаются и создают в сознании наблюдателя конкертный образ и позволяют соотнести его с изначальным объектом без каких-либо усилий.

Треугольник Фреге

Один из основоположников современной логики Готлоб Фреге заметил, что знаки обладают определённой двойственностью. С одной стороны, они обозначают какие-то объекты, а с другой – передают интерпретатору некоторую дополнительную информацию о них. Например, возьмём словосочетание «автор “Войны и мира”». Это знак, обозначающий Льва Толстого. Помимо того, что этот знак указывает на конкретного человека, он также сообщает нам, что этот человек написал определённую книгу. Фреге назвал значением тот объект, который знак обозначает, и смыслом – ту дополнительную информацию, которую он несёт. Так появился треугольник Фреге:

Интересно отметить, далеко не все знаки обладают этими двумя характеристиками. Например, знак «нынешний король Франции» не имеет никакого значения, так как он обозначает несуществующий предмет, зато обладает смыслом. В то же время какой-нибудь знак «а» может обладать значением, которое я хочу ему придать, но не выражает никакого смысла. Помимо этого, различение значения и смысла понятно, когда речь идёт о словах и словосочетаниях. Но как быть с предложениями? Логики считают, что повествовательные предложения тоже обладают значением и смыслом. Поскольку они утверждают нечто о мире, то их значением будет «истина» либо «ложь», а смыслом – собственно описанная ими ситуация. Допустим, дано предложение: «Павлов открыл и описал действие условных рефлексов». Значение этого предложения – «истина». Смысл – тот факт, что Павлов открыл и описал действие условных рефлексов. При этом предложения, как и слова, могут не иметь значения. Например, возьмём предложение «Все дети Джона лысы». По идее, оно должно быть либо истинным, либо ложным. Однако что если у Джона нет детей? В таком случае мы не можем приписать ему никакого значения.

Поскольку знаки произвольны, то для удобства при анализе мы можем заменять их более простыми символами. Они будут иметь то же значение, но будут абстрагироваться от смысла. Соответственно, выражения языка будут рассматриваться в зависимости не от их содержания, а от той семантической функции, которую они выполняют. Выявление семантических функций и замена выражений простыми символами – очень важная процедура, так как по большому счёту она и представляет собой процесс отвлечения от содержания высказываний и переход на уровень логических форм.

Игра на эффект Cтрупа

Чтобы вы смогли понять, насколько иногда нам сложно отделять знак, его значение и смысл, предлагаем сыграть в игру по мотивам эффекта Струпа.

В психологии эффектом Струпа (англ. Stroop effect) называют задержку реакции при прочтении слов, когда цвет слов не совпадает с написанными словами (к примеру, слово «красный» написано синим). Эффект назван в честь Джона Ридли Струпа, впервые опубликовавшего этот тест на английском в 1935 году. До этого этот эффект был опубликован в Германии в 1929 году. Это исследование стало одним из наиболее цитируемых исследований в истории экспериментальной психологии.

Сейчас мы вам предлагаем пройти нашу модификацию данного теста.