Логический синтез вычислительных схем
Рассмотрим логический синтез (создание) вычислительных схем на примере одноразрядного двоичного сумматора, имеющего два входа ("а" и "b") и два выхода ("S" и "Р") и выполняющего операцию сложения в соответствии с заданной таблицей:
A | B | f1(a,b)=S | f2(a,b)=P |
где f1(a,b)=S - значение цифры суммы в данном разряде;
f2(a,b)=P - цифра переноса в следующий (старший) разряд.
Согласно соотношению (2), можно записать:
S=f1(a,b)=0*a*b+ 1* ā *b+ 1*a*b +0* ā *b= ā *b+ ą*b;
Р =f2(a,b) = 1 *a*b + 0* ā *b + 0*a*b + 0* ā* b = a*b.
Логическая схема сумматора, реализующего полученную функцию
Здесь изображены логические блоки в соответствии с международным стандартом:
схема ИЛИ, реализующая операцию логического сложения
схема И, реализующая операцию логического умножения
схема НЕ, реализующая операцию инверсии
Примечания:1. В ряде случаев перед построением логической схемы устройства по логической функции последнюю, пользуясь соотношениями алгебры логики следует преобразовать к более простому виду (минимизировать).
2. Для логических схем ИЛИ, И и НЕ существуют типовые технические схемы, реализующие их на реле, электронных лампах, дискретных полупроводниковых элементах. Для построения современных ЭВМ обычно применяются системы интегральных элементов, у которых с целью большей унификации в качестве базовой логической схемы используется всего одна из схем: И НЕ (штрих Шеффера), ИЛИ НЕ (стрелка Пирса) или И ИЛИ НЕ.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРОВ
Понятие программного обеспечения
<TBODY>Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой. </TBODY>
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
· технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);
· методы тестирования программ;
· методы доказательства правильности программ;
· анализ качества работы программ;
· документирование программ;
· разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него ПО.
<TBODY>Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах. </TBODY>
Программное обеспечение современных компьютеров включает миллионы программ — от игровых до научных.
Классификация программного обеспечения
В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории:
1. прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
2. системные программы, выполняющие различные вспомогательные функции, например:
· управление ресурсами компьютера;
· создание копий используемой информации;
· проверка работоспособности устройств компьютера;
· выдача справочной информации о компьютере и др.;
3. инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Категории программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения.
Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.
Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).
Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.
Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа — электронный собеседник.
На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
· операционные системы и оболочки;
· системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
· инструментальные системы;
· интегрированные пакеты программ;
· динамические электронные таблицы;
· системы машинной графики;
· системы управления базами данных (СУБД);
· прикладное программное обеспечение.
Структура программного обеспечения показана рис. Разумеется, эту классификацию нельзя считать исчерпывающей, но она более или менее наглядно отражает направления совершенствования и развития программного обеспечения.
Прикладные программы
<TBODY>Прикладная программа — это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области. </TBODY>
Например, там, где на компьютер возложена задача контроля за финансовой деятельностью какой-либо фирмы, прикладной будет программа подготовки платежных ведомостей.
Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.