Логический синтез вычислительных схем

 

Рассмотрим логический синтез (создание) вычислительных схем на примере одноразрядного двоичного сумматора, имеющего два входа ("а" и "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>

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

Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.