ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ» ( Н И У « Б е л Г У » ) ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ Архитектура ЭВМ и вычислительных систем Отчет по лабораторной работе № 8 Тема: Инфологические основы ЭВМ. Машинные коды. Логические основы ЭВМ. Комбинационные схемы, минимизация логических функций Студента 2 курса группы 12002101 Еременко Данил Николаевич Вариант 7 Проверила: Свиридова Ирина Вячеславовна 2022 г. Лабораторная работа №8 Цель: освоить теоретические сведения, научиться строить комбинационные схемы, применяя процесс минимизации логических функций Задание (Вариант 6): X1 0 0 0 0 1 1 1 1 X2 0 0 1 1 0 0 1 1 X3 0 1 0 1 0 1 0 1 Y 0 0 0 1 1 1 1 0 1. Построить логическую функцию в дизъюнктивной нормальной форме. 2. Минимизировать полученную функцию вручную, применяя операции склеивания и поглощения. 3. Построить устройство, реализующее минимизированную логическую функцию. 4. Создать программу, моделирующую работу устройства. Ход работы 1. Чтобы построить логическую функцию в дизъюнктивной нормальной форме необходимо наборы переменных, на которых функция принимает истину, записать в виде конъюнкции и связать конструкциями дизъюнкции. По итогу получилось следующее: ̅̅̅ 𝑥1 ∧ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ ̅̅̅ 𝑥2 ∧ ̅̅̅ 𝑥3 ∨ 𝑥1 ∧ ̅̅̅ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥2 ∧ ̅̅̅ 𝑥3 2. Минимизирую полученную функцию с помощью операций склеивания и поглощения: ̅̅̅ 𝑥1 ∧ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ ̅̅̅ 𝑥2 ∧ ̅̅̅ 𝑥3 ∨ 𝑥1 ∧ ̅̅̅ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥2 ∧ ̅̅̅ 𝑥3 ̅̅̅ ∧ 𝑥2 ∧ 𝑥3 ∨ x1 ∧ (𝑥2 ̅̅̅ ∧ 𝑥3 ̅̅̅ ∨ 𝑥2 ̅̅̅ ∧ 𝑥3 ∨ 𝑥2 ∧ 𝑥3 ̅̅̅) = 𝑥1 ̅̅̅̅̅ ∨ 𝑥3) ∨ 𝑥2 ∧ ̅̅̅ ̅̅̅ ∧ (𝑥3 = ̅̅̅ 𝑥1 ∧ 𝑥2 ∧ 𝑥3 ∨ x1 ∧ (𝑥2 𝑥3) ̅̅̅ ∨ 𝑥2 ∧ ̅̅̅ = ̅̅̅ 𝑥1 ∧ 𝑥2 ∧ 𝑥3 ∨ x1 ∧ (𝑥2 𝑥3) ̅̅̅ ∧ 𝑥2 ∧ 𝑥3 ∨ x1 ∧ 𝑥2 ̅̅̅ ∨ x1 ∧ 𝑥2 ∧ 𝑥3 ̅̅̅ = 𝑥1 3. Построим схему устройства, реализующее минимизированную логическую функцию. 4. Создадим программу, реализующую эту схему. #include <iostream> void main() { for (int x1= 0; x1<= 1; x1++) { for (int x2 = 0; x2 <= 1; x2++) { for (int x3 = 0; x3 <= 1; x3++) { std::cout << !x1 * x2 * x3 + x1 * !x2 + x1 * x2 * !x3; } } } } Тестирование: Программа отработала успешно, так же как было заявлено в таблице истинности. Контрольные вопросы 1. Что понимается под логическими функциями? Логические функции и соответствующие им комбинационные схемы подразделяют на регулярные и нерегулярные структуры. Регулярные структуры предполагают построение схемы таким образом, что каждый из ее выходов строится по аналогии с предыдущими. В нерегулярных структурах такая аналогия отсутствует. 2. Что понимается под термином «минимизация логических выражений»? Проблема минимизации логических функций решается на основе применения законов склеивания и поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они отличаются друг от друга спецификой применения операций склеивания и поглощения, а также различными способами сокращения переборов. Среди аналитических методов наиболее известным является метод Квайна-МакКласки, среди табличных — метод с применением диаграмм Вейча , Графические методы минимизации отличаются большей наглядностью и меньшей трудоемкостью, однако их применение эффективно при малом числе переменных n изменяется до 5. 3. Что такое логически полный базис? Набор простейших функций, с помощью которого можно выразить любые другие, сколь угодно сложные логические функции, называется функционально полным набором, или логическим базисом. Полная система функций называется базисом, если она перестаёт быть полной при исключении из неё любого элемента 4. Какова связь логических выражений со схемами ЭВМ? Для логических схем «ИЛИ», «И» и «НЕ» существуют типовые технические схемы, реализующие их на реле, электронных лампах, дискретных полупроводниковых элементах. Для построения современных компьютеров обычно применяются системы интегральных элементов, у которых с целью большей унификации в качестве базовой логической схемы используется всего одна из схем: «И — НЕ» (штрих Шеффера), «ИЛИ — НЕ» (стрелка Пирса) или «И — ИЛИ - НЕ».