Реферат Реализация Логических Арифметических и Математических преобразований информации компьютером

1 Реализация Логических Арифметических и Математических преобразований информации компьютером. Вычисление количества через исчисление качества. Синтез операции полного суммирования.

Арифметические основы компьютерной техники
Все современные компьютеры имеют достаточно развитую систему команд, включающую сотни машинных операций. Однако выполнение любой операции основано на использовании простейших микроопераций типа сложения и сдвиг. Это позволяет иметь единое арифметико-логическое устройство для выполнения любых операций, связанных с обработкой информации. Правила сложения двоичных цифр двух чисел А и В представлены в табл. 1
Здесь показаны правила сложения двоичных цифр ai, bi одноименных разрядов с учетом возможных переносов из предыдущего разряда pi-1.
Подобные таблицы можно было бы построить для любой другой арифметической и логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак “+” кодируется двоичным нулем, а знак “-” — единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают большие трудности, связанные с необходимостью учета значений знаковых разрядов:
Таблица 1
Правила сложения двоичных цифр
Значения двоичных
чисел А и В Разряд
Суммы
Si Перенос в следующий разряд
Рi
аi bi Pi-1
0
0
0
0
1
1
1
1 0
0
1
1
0
0
1
1 0
1
0
1
0
1
0
1 0
1
1
0
1
0
0
1 0
0
0
1
0
1
1
1

• во-первых, следует отдельно обрабатывать значащие разряды чисел и разряды знака;
• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может заменяться вычитанием и наоборот).
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения,
Различают прямой код (П), обратный код (ОК) и дополнительный код (ДК) двоичных чисел.

Методы умножения двоичных чисел

Применительно к двоичной системе счисления наиболее известны следую¬щие основные способы выполнения операции умножения:

1) умножение начиная с младших разрядов множителя:
1101 множимое
x 1101 множитель
1101
+ 0000
1101 частные произведения
1101
10101001 произведение

2) умножение начиная со старших разрядов множителя:
1101 множимое
x 1101 множитель
1101
+ 1101
0000
1101
10101001 произведение

В обоих случаях операция умножения состоит из ряда последовательных операций сложения частных произведений. Операциями сложения управляют разряды множителя: если в каком-то разряде множителя находится единица, то к сумме частных произведений добавляется множимое с соответствующим сдвигом (влево или вправо), если в разряде множителя — ноль, то множимое не прибавляется, но учитывается, что в последующей операции анализа разряда множителя надо сделать дополнительный сдвиг. Если, например, в следующем после нулевого разряда множителя встречается 1, то множимое сдвигается на 2 разряда и добавляется к сумме частных произведений. Сколько подряд будет встречаться 0 столько дополнительных сдвигов множимого надо будет сделать когда в очередном разряде встретится 1, а затем добавлять множимое к сумме частных произведений.
Таким образом, кроме операции сложения чисел для получения произведе¬ния необходима операция сдвига числа.

Деление двоичных чисел

Деление двоичных чисел во многом аналогично делению десятичных чисел.
В универсальных вычислительных машинах, как правило, реализуется «школьный» алгоритм деления чисел. «Школьный» алгоритм деления заключается в том, что делитель на каждом шаге вычитается из делимого столько раз (начиная со старших разрядов), сколько это возможно для получения наименьшего положительного остатка. Тогда в очередной разряд частного записывается цифра, равная числу делителей, содержащихся в делимом на данном шаге. Иначе говоря, при делении операцию вычитания повторяют до тех пор, пока уменьшаемое не станет меньше вычитаемого. Число этих повторений показывает, сколько раз вычитаемое укладывается в уменьшаемом.

Двоичное, как и десятичное деление, начинается с анализа делимого (11001100) и делителя (1100). Сразу же обнаруживается, что делитель укладывается в 1100, а поэтому записывается 1 в старший разряд поля частного. Умножается делитель на 1 и вычитается из 1100, разность равна 0. Объединяется 0 остатка со значением следующего разряда делимого, равным 1. Поскольку делитель (1100) 0 раз укладывается в 1, записываем 0 в следующий по старшинству разряд поля частного, а число 1 объединяется со следующим разрядом делимого и т.д. до тех пор, пока делимое не оказывается исчерпанным.
Деление чисел, представленных в форме с фиксированной запятой можно также осуществить на двоичных сумматорах обратного и дополнительного кода.
Перед выполнением самой процедуры деления чисел в формате с фиксированной запятой определяется и запоминается знак частного. Далее оба операнда представляются в прямом коде, а делитель еще и в дополнительном для того, чтобы вычитание делителя заменить сложением, и выполняется сама процедура деления по описанному выше методу с обязательным контролем переполнения разрядной сетки. Если знак частного отрицательный, то ответ, при необходимости, представляется в дополнитель¬ном коде.

Выполнение логических операций

Наряду с переменными, характеризуемыми числовыми значениями, используются логические (булевы) переменные, принимающие значения « истина» и «ложь», которые кодируются двоичными значениями 1 и 0. Двоичные переменные объединяются в наборы, количество элементов в которых равно длине слова ЦВМ. Наборы логических значений обрабатываются совместно, т. е. логические операции распространяются одновременно на все логические значения, объединенные в один набор. В ЦВМ третьего поколения основной формой представления наборов логических значений являются 32 – разрядные слова.
Над наборами логических значений выполняются операции конъюнкции, дизъюнкции и сравнения (отрицания равнозначности). Поскольку в ЦВМ информация различается по типам не способом кодирования, а способом ее использования, то указанные логические операции распространяются и на слова, представляющие двоичные числа и числа с плавающей запятой.
В дополнение к операциям булевой алгебры в список логических операций вводится операции специальной арифметики: сдвиг и нормализация слова Операция сдвига состоит в изменении положения разрядов слова по отношению к исходному слову путем сдвига двоичных переменных в заданном направлении на заданное число разрядов. В ЦВМ принято реализовать операции сдвига двух типов: арифметический и логический сдвиг. При арифметическом сдвиге в операцию сдвига вступают все разряды, кроме знакового, при логическом сдвиге — все разряды, включая знаковый. Операция нормализации сводится к сдвигу нулевого слова влево до появления единицы в старшем цифровом разряде. При этом операция формирует два значения: нормализованное слово и слово, определяющее количество выполненных сдвигов.

Синтез операционных автоматов с общими микрооперациями

Для ОА с общими микрооперациями типична следующая форма преобразований:
Z:=g(f (h (X),Y)), (1)
где g- оператор сдвига; f- оператор, реализующий бинарные логические операции и сложение; h- оператор формирования обратных ( дополнительных) кодов; X, Y и Z- слова из множества слов В= {B1, B2,…, BN}, хранимых в памяти ОА, причем в качестве аргумента X или Y может использоваться константа. Преобразование (1) удобно задавать микрокомандами вида
nX, h, nY, f, g, nZ, (2)
где nX, nY, nZ- микрооперации, задающие слова X, Y,Z из множества слов В и константы X или Y; h, f и g. В данном классе ОА логические условия обычно представляются в виде (Z), где — булева функция, аргументами которой являются двоичные переменные слова Z. Структура ОА зависит в первую очередь от набора микроопераций и ЛУ, необходимого для эффективной реализации заданного списка операций. Указанный набор обычно определяется в процессе составления СФ- микропрограмм, микрокоманды которых представляются в виде (2). При этом набор микроопераций и ЛУ формируется по мере составления микропрограммы путем введения в него дополнительных микроопераций и ЛУ, необходимость в которых порождается либо стремлением эффективно запрограммировать очередное действие путем введения новой микрооперации или ЛУ, уменьшающих время выполнения алгоритма.
Набор микроопераций и ЛУ можно определять на основе Ф- микропрограмм, описывающих алгоритмы операций, выполнение которых возлагается на синтезируемый автомат. При этом микрооперации и микрокоманды Ф- микропрограммы должны быть преобразованы к виду, соответствующему (2), с учетом ограничений налагаемых структурой ОА на совместимость микроопераций.

2 Инструментарий СУБД: языки для концептуальных, внешних и внутренних схем данных, пользовательские интерфейсы и интерфейсы прикладного программирования. Администрирование баз данных, функции администрирования

Система управления базами данных (СУБД) — это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка — язык определения схемы БД (SDL — Schema Definition Language) и язык манипулирования данными (DML — Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. Мы рассмотрим более подробно языки ранних СУБД в следующей лекции.
В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). В нескольких лекциях этого курса язык SQL будет рассматриваться достаточно подробно, а пока мы перечислим основные функции реляционной СУБД, поддерживаемые на «языковом» уровне (т.е. функции, поддерживаемые при реализации интерфейса SQL).
Прежде всего, язык SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (для реляционной БД — именование таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.
Язык SQL содержит специальные средства определения ограничений целостности БД. Опять же, ограничения целостности хранятся в специальных таблицах-каталогах, и обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код.

Набор приемов взаимодействия пользователя с СУБД называют пользовательским интерфейсом.
Пользовательский интерфейс включает три понятия: общение приложения с пользователем, общение пользователя с приложением и язык общения, который определяется разработчиком программного приложения.
Свойствами интерфейса являются конкретность и наглядность. Одной из важных функций интерфейса является формирование у пользователя одинаковой реакции на одинаковые действия приложений, их согласованность. Согласование должно быть выполнено по трем аспектам:

  • физическом, который относится к техническим средствам;
  • синтаксическом, который относится к последовательности и порядку появления элементов на экране (язык общения) и последовательности запросов (язык действий);
  • семантическом, который относится к значениям элементов, составляющих интерфейс.
    Согласованность интерфейса экономит время пользователя и разработчика. Для пользователя уменьшается время изучения, а затем использования системы, сокращается число ошибок, появляется чувство комфортности и уверенности. Разработчику согласованный интерфейс позволяет выделить общие блоки, стандартизировать отдельные элементы и правила взаимодействия с ними, сократить время проектирования новой системы.
    Пользовательский интерфейс зависит от интерфейса, обеспечиваемого операционной системой.
    Интерфейс прикладного программирования предназначен для использования прикладными программами системных ресурсов ОС и реализуемых ею функций.
    Интерфейс прикладного программирования представляет собой набор функций, предоставляемых системой программирования разработчику прикладной программы и ориентированных на организацию взаимодействия результирующей прикладной программы с целевой вычислительной системой. Целевая вычислительная система представляет собой совокупность программных и аппаратных средств, в окружении которых выполняется результирующая программа. Сама результирующая программа порождается системой программирования на основании кода исходной программы, созданного разработчиком, а также объектных модулей и библиотек, входящих в состав системы программирования.

Функционирование базы данных (БД) невозможно без участия специалистов, обеспечивающих создание, функционирование и развитие базы данных. Такая группа специалистов называется администратором базы данных (АБД). Эта группа специалистов считается составной частью базы данных.
В зависимости от сложности и объема банка данных, от особенностей используемой системы управления базы данных (СУБД), общую схему которой можно увидеть на рисунке (см. Приложение 1) служба администрации базы данных может различаться как по составу и квалификации специалистов, так и по количеству работающих в этой службе.
Администратор базы данных выполняют работы по созданию и обеспечению функционирования БД на протяжении всех этапов жизненного цикла системы. В составе группы администраторов банка данных можно выделить различные подгруппы в зависимости от выполняемых ими функций. Численность группы администрации, выполняемые ими функции, будут в значительной степени зависеть от масштаба банка данных, специфики хранимой в нем информации, типа банка данных, особенностей используемых программных средств и некоторых других факторов.
В составе администрации базы данных должны быть системные аналитики, проектировщики структур данных и внешнего по отношению к банку данных информационного обеспечения, проектировщики технологических процессов обработки данных, системные и прикладные программисты, операторы, специалисты по техническому обслуживанию. Если речь идет о коммерческом банке данных, то важную роль здесь будут играть специалисты по маркетингу.
Администраторы базы данных выполняют большой круг разнообразных функций:

  1. Анализ предметной области: описание предметной области, выявление ограничений целостности, определение статуса информации, определение потребностей пользователей, определение статуса пользователей, определение соответствия «данные — пользователь», определение объемно-временных характеристик обработки данных.
  2. Проектирование структуры базы данных: определение состава и структуры информационных единиц, составляющих базу данных, задание связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание структуры БД на языке обработки данных (ЯОД).
  3. Задание ограничений целостности при описании структуры базы данных и процедур обработки БД: задание ограничений целостности, присущих предметной области, определение ограничений целостности, вызванных структурой базы данных, разработка процедур обеспечения целостности БД при вводе и корректировке данных, обеспечение ограничений целостности при параллельной работе пользователей в многопользовательском режиме.
  4. Первоначальная загрузка и ведение базы данных: разработка технологии первоначальной загрузки и ведения (изменения, добавления, удаления записей) БД, проектирование форм ввода, создание программных модулей, подготовка исходных данных, ввод и контроль ввода.
  5. Защита данных от несанкционированного доступа:
  • обеспечение парольного входа в систему: регистрация пользователей, назначение и изменение паролей;
  • обеспечение защиты конкретных данных: определение прав доступа групп пользователей и отдельных пользователей, определение допустимых операций над данными для отдельных пользователей, выбор/создание программно-технологических средств защиты данных; шифрование информации с целью защиты данных от несанкционированного использования;
  • тестирование средств защиты данных;
  • фиксация попыток несанкционированного доступа к информации;
  • исследование возникающих случаев нарушения защиты данных и проведение мероприятий по их предотвращению.
  1. Защита данных от разрушений. Одним из способов защиты от потери данных является резервирование. Используется как при физической порче файла, так и в случае, если в БД внесены нежелательные необратимые изменения.
  2. Обеспечение восстановления БД: разработка программно-технологических средств восстановления БД, организация ведения системных журналов.
  3. Анализ обращений пользователей к БД: сбор статистики обращений пользователей к БД, ее хранение и анализ (кто из пользователей, к какой информации, как часто обращался, какие выполнял операции, время выполнения запросов, анализ причин безуспешных (в т.ч. и аварийных) обращений к БД.
  4. Анализ эффективности функционирования базы данных и развитие системы: анализ показателей функционирования системы (время обработки, объем памяти, стоимостные показатели), реорганизация и реструктуризация баз данных, изменение состава баз данных, развитие программных и технических средств.
  5. Работа с пользователями: сбор информации об изменениях в предметной области, об оценке пользователями работы базы данных, определение регламента работы пользователей с базой данных, обучение и консультирование пользователей.
  6. Подготовка и поддержание системных программных средств: сбор и анализ информации о СУБД и других прикладных программ, приобретение программных средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств.
  7. Организационно-методическая работа: выбор или создание методики проектирования БД, определение целей и направлений развития системы, планирование этапов развития базы данных, разработка и выпуск организационно-методических материалов.

Список использованных источников

  1. Кузнецов, С.Д. Основы современных баз данных — http://citforum.ru/
  2. Петров В.Н. Информационные системы. С.-П., Питер, 2002.
    3.Фаронов В.В., Шумаков П.В. Руководство разработчика баз данных. — М.: Нолидж, 2007.
Оцените статью
Поделиться с друзьями
BazaDiplomov