
- •1. Классификация программного обеспечения эвм. Прикладное программное обеспечение.
- •2.Инструментальные программные средства для решения прикладных математических задач.
- •3.Понятие операционной системы
- •4. Компьютерные вирусы. Разновидность компьютерных вирусов. Антивирусные средства.
- •5. История эвм. Поколения эвм. Классификация эвм. Принципы фон Неймана. Классическая архитектура компьютера.
- •4. Принцип двоичного кодирования
- •6. Микропроцессор. Система команд и форматы данных мп.
- •7. Алгоритмы и способы записи алгоритмов, свойства и виды алгоритмов.
- •8. Структура и синтаксис языка Turbo Pascal 7
- •9. Представление числовых данных в памяти эвм
- •Структурированные типы данных.
- •10.Динамические структуры
- •11. Программная обработка данных
- •13. Объектно-ориентированное программирование.
- •19. Понятие информации. Представление информации. Количество информации. Свойства информации.
- •22.Информационные технологии
- •23 Основные понятия и определения предметной области-информатизации образования
- •24Повышение эффективности управления региональной системой образования
- •25. Современные направления исследований в области ии.
- •Математика и автоматическое доказательство теорем.
- •26.Данные и знания. Логическая модель представления знаний. Продукционная модель представления данных.
- •27.Общая характеристика экспертных систем. Структура экспертных систем.
- •28.Современные нейронные сети. Основные понятия и задачи.
- •30. Компьютерная сеть. Классификация компьютерных сетей.
- •Одноранговые и иерархические сети
- •31, 32. Протоколы общения компьютеров в сети (ip, tcp, udp, ftp, smtp, http).
- •34. Модель и моделирование. Цели и задачи моделирования.
- •35. Математическая модель. Классификация математических моделей.
- •36. Понятие и виды компьютерного моделирования.
- •Этапы построения компьютерной математической модели
- •Анализ результатов моделирования.
- •37. Понятие информационных систем, базы данных, Автоматизированные информационные системы. Модели данных.
- •Сетевая модель бд.
- •38. Проектирование в терминах «Сущность - связь» или e-r проектирование. Основные понятия и определения. Сущности и связи.
- •Классификация связей
- •39. Состав и функции субд. Язык sql.
6. Микропроцессор. Система команд и форматы данных мп.
Микропроцессор является «мозгом» компьютера. Он осуществляет выполнение программ, работающих на компьютере, и управляет работой остальных устройств компьютера. Скорость его работы во многом определяет быстродействие компьютера. В IBM PC используются МП, разработанные фирмой Intel.
МП отличаются друг от друга двумя характеристиками: типом (моделью) и тактовой частотой. Чем выше тактовая частота, тем выше производительность и цена. Тактовая частота указывает, сколько элементарных операций (тактов) МП выполняет в одну секунду. Тактовая частота измеряется в МГц.
Перечислим некоторые форматы данных, типичные для 16-разрядной ЭВМ.
8-битовые целые числа без знака. Каждое такое число занимает 1 байт и воспринимается процессором как целое положительное число.
8-битовые целые числа со знаком. В этом случае величина числа задается семью битами, а значение старшего бита определяет знак числа (0-положтельное, 1-отрицательное).
16-битовые целые числа со знаком и без знака. Они в точности аналогичны 8-битовым, но код имеет вдвое большую длину.
8-битовые символы. В этом формате двоичный код интерпретируется обрабатывающей его командой как код символа.
Битовые поля. В этом формате значащим является не весь 8- или 16-разрядный код в целом, а каждый из составляющих его битов. Один из примеров битового поля – форма хранения множеств в языке «Паскаль».
Существуют и другие форматы данных – двоично-десятичные числа, строки и т.д.
На примере процессоров семейства PDP (производства США) рассмотрим систему команд МП. Этот процессор имеет достаточно удобный и широкий набор команд. Основная их часть является двухадресными и одноадресными, т. е. они обрабатывают два или один операнд. Для выполнения некоторых управляющих команд данные не требуются – такие команды не содержат ссылок и операнды.
Наиболее важные команды:
1) остановка (выполнение программы прекращается);
2) очистить А (А:=0 (в операнд А засылается 0));
3) увеличить А на 1;
4) уменьшить А на 1;
5) переписать А в В (В:=А);
6) сложить А в В (В:=В+А);
7) вычесть А из В;
8) сравнить А с В;
9) Безусловный переход на К слов;
10) вызов подпрограммы по адресу А;
11) возврат из подпрограммы
Системы прерываний
Прерывания в микроконтроллерах представляет собой механизм, который позволяет микроконтроллеру реагировать на внешние события. Этот механизм работает таким образом, что при наступлении некоторого события в процессоре возникает сигнал, заставляющий процессор прервать выполнение текущей программы, т.е. говорят, что возникло прерывание. После того как выполнение текущей программы прервано, процессор должен перейти к выполнению программной процедуры, связанной с этим событием (прерыванием) – процедуры обработки прерывания. Однако, прежде чем перейти непосредственно к процедуре обработки прерывания, процессор должен выполнить ряд предварительных действий. Прежде всего, для того чтобы в будущем он смог корректно продолжить прерванную программу, необходимо сохранить состояние процессора (счетик команд, слово состояния процессора, внутренние регистры и т.д.) на момент, предшествующий прерыванию. Т.е. другими словами, требуется сохранить состояния всех тех ресурсов, которые так или иначе могут быть изменены в процессе обработки прерывания. Далее, если в системе имеется несколько возможных источников прерываний (а обычно так и бывает), процессор должен определить источник запроса прерываний. И, наконец, затем перейти к самой процедуре прерываний, конкретной для данного прерывания. По завершению обработки прерывания процессор должен восстановить состояние ресурсов, соответствующее прерванной программе, после чего она может быть продолжена. Следует отметить, что для сохранения всех требуемых ресурсов, поиска источника прерывания и перехода к процедуре обработки прерывания процессор должен затратить вполне определенное время. Это время называется скрытым временем прерывания. Чем меньше скрытое время прерывания, тем выше скорость реакции системы на внешние события и тем выше производительность системы. Во многом это определяется системой прерывания процессора и она является одной из основных особенностей архитектуры контроллера.
Под системой прерываний мы будем понимать совокупность аппаратных и программных средств, реализующих механизм прерываний в микроконтроллере. Хотя существуют большое множество различных вариантов построения систем прерываний, тем не менее, можно выделить несколько основных способов организации систем прерываний. Они отличаются между собой объемом аппаратных средств, необходимых для реализации такой системы и соответственно имеют различное быстродействие
Одноуровневые прерывания
Данная система прерываний реализована таким образом, что при возникновении прерывания процессор аппаратно переходит к подпрограмме обработки прерываний, расположенной по некоторому фиксированному адресу. Чтобы упростить аппаратную часть системы прерываний, этот адрес обычно располагается либо в начале, либо в конце адресного пространства программной памяти. Поскольку для обработки ВСЕХ прерываний используется только ОДНА точка входа, то такая система прерываний получила название одноуровневой. В такой системе выявление источника прерываний путем опроса состояния флажков признаков прерываний в начале программы обработки прерываний. При обнаружении установленного флажка происходит переход к соответствующему участку процедуры. Чем больше возможных источников прерываний, тем больше времени необходимо для обнаружения источника прерывания. Такой метод обнаружения источника прерывания называется программным опросом или поллингом (polling). Его недостатком является довольно большое время, затрачиваемое на поиск источника прерывания и, как следствие, замедленная реакция системы на внешние события. Его достоинство – простота реализации системы прерываний.
Векторные прерывания
Чтобы значительно уменьшить время реакции на внешние события, используются многоуровневые или, что то же самое, векторные прерывания. В векторных прерываниях КАЖДОМУ источнику прерывания соответствует СВОЙ, вполне определенный, адрес процедуры обработки прерывания, который принято называть вектором прерывания.
Вообще, в качестве вектора прерывания могут быть использованы любые данные (адрес подпрограммы, адрес перехода, значение смещения относительно начала таблицы прерываний, специальные инструкции и т.д.), которые позволяют непосредственно перейти к процедуре обработки прерывания, не затрачивая времени на поиск источника прерывания. Какие данные используются в качестве вектора прерывания и каким именно образом они используются зависит от способа реализации системы прерываний в соответствующем процессоре.
Приоритетные прерывания
Обычно, значимость тех или иных событий в системе неодинакова. Одни события более важны и требуют немедленной реакции, другие менее важны, и с ответом на них можно подождать. Естественно, что и соответствующие этим событиям прерывания должны иметь разный приоритет. При одновременном возникновении нескольких прерываний, процессор должен перейти к обработке прерывания, имеющего более высокий приоритет. Этот процесс происходит на аппаратном уровне ядра процессора и называется последовательностью опроса прерываний (interrupt polling sequence).
Вложенные прерывания
При вложенных прерываниях, процедура обработки текущего прерывания может быть прервана (отложена) при поступлении запроса на прерывание, имеющего более высокий уровень приоритета. После обработки прерывания с более высоким уровнем приоритета процессор возвращается к прерванной процедуре и продолжает обработку данного прерывания до ее окончания или до нового прерывания. Очевидно, что процедура обработки прерывания с более высоким уровнем может быть в свою очередь прервана прерыванием с еще более высоким уровнем приоритета и т.д. При этом прерывания, имеющие более низкий уровень приоритета по сравнению с текущим, обычно запрещаются (маскируются).
Assembler - язык програмирования, с помощью которого можно написать такие программы, которые невозможно, или очень сложно написать на других языках програмирования. Например: генераторы ключей(keygen), системные мониторы, драйвера для оборудования или даже операционные системы. Конечно есть и такие языки програмирования как "C","Pascal","Delphi" и т.д., но они не обеспечивают надёжного контроля за потоками данных, адресами памяти или регистрами процессора, а также: все языки высокого уровня ("C","Pascal","Delphi" и т.д.) были разработаны под определённый вид операционной системы (на Turbo Pascal для DOS невозможно написать даже самую элементарную программу, которая работала бы под MacOS или Linux, также Pascal не предусматривает работу с загрузочными секторами диска или перекомпиляцию самого себя под определённую платформу.), assembler же (не все особи) может стать этим-же ассемблером, но работающим на неизвестной науке платформе, и делающий программы под эту-же платформу. И это ещё не всё!
Программы на Ассемблере получаются в десятки раз меньше, а работают в десятки раз быстрее. Примером может послужить операционная система MenuetOS, которая написана на Flat Assembler и умещается на одной дискете (1.44 M), причём в комплект входят прикладные программы, такие как: редактор ассемблерного кода с подсветкой, работа с файловой системой, 3d заставки, некоторое колличество игр, просмоторщик картинок, компилятор Flat Assembler, терминал, CD плейер и многое другое. Преимущество состоит в том, что его можно быстро скачать с интернета (даже при маленькой скорости соединения). Так, что я думаю создатель MenuetOS не промахнулся, когда выбирал язык, для своего детища. Также маленькие программы проще распространять, т.к. диски с ними не надо высылать по почте, а достаточно, поместить на скачивание, и сделать платную регистрацию этой программы. Таким образом, это правильный шаг в смысле Internet маркетинга, и его нельзя упустить.
Microsoft Macro Assembler (MASM, макроассемблер Microsoft) — ассемблер для процессоров семейства x86. Первоначально был произведён компанией Microsoft для написания программ в операционной системы MS-DOS и был в течение некоторого времени самым популярным ассемблером, доступным для неё. Это поддерживало широкое разнообразие макросредств и структурированность программных идиом, включая конструкции высокого уровня для повторов, вызовов процедур и чередований (поэтому MASM — ассемблера высокого уровня). Позднее[когда?] была добавлена возможность написания программ для Windows. MASM — один из немногих инструментов разработки Microsoft, для которых не было отдельных 16- и 32-битных версий.