Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Размещение данных и программ в памяти ПЭВМ




Данные и программы во время работы ПЭВМ размещаются в оперативной памяти, которая представляет собой последовательность пронумерованных ячеек. По указанному номеру процессор находит нужную ячейку, поэтому номер ячейки называется ее адресом. Минимальная адресованная ячейка состоит из 8 двоичных позиций, т.е. в каждую позицию может быть записан либо 0, либо 1. Объем информации, который поме-щается в одну двоичную позицию, называется битом. Объем информации, равный 8 битам, называется байтом.

В одной ячейке из 8 двоичных разрядов помещается объем информации в 1 байт, поэтому объем памяти принято оценивать количеством байт (210 байт = 1024 байт = 1 Кб, 210 Кб = 1048576 байт = 1 Мб).

При размещении данных производится их запись с помощью нулей и единиц - кодирование, при котором каждый символ заменяется последовательностью из 8 двоичных разрядов в соответствии со стандартной кодовой таблицей (ASCII). Например, D (код - 68) → 01000100; F (код - 70) →00100110; 4 (код - 52) → 00110100.

При кодировании числа (коды) преобразуются в двоичное представление, например,

2 = 1⋅21 + 0⋅20 = 102; 5 = 1⋅22 + 0⋅21 + 1⋅20 = 1012; 256 = 1⋅28 = 1000000002.

С увеличением числа количество разрядов для его представления в двоичной системе резко возрастает, поэтому для размещения большого числа выделяется несколько подряд расположенных байт. В этом случае адресом ячейки является адрес первого байта, один бит которого выделяется под знак числа.

Программа – это последовательность команд (инструкций), которые помещаются в памяти и выполняются процессором в указанном порядке.

Команда размещается в комбинированной ячейке следующим образом: в первом байте - код операции (КОП), которую необходимо выполнить над содержимым ячеек; в одной, двух или трех ячейках (операндах команды) по 2 (4) байта - адреса ячеек (А1, А2, А3), над которыми нужно выполнить указанную операцию. Номер первого байта называется адресом команды. Последовательность из этих команд называется программой в машинных кодах (рис. 2).

2 В состав базового программного обеспечения входят:

· операционные системы;

· сервисные программы;

· трансляторы языков программирования;

· программы технического обслуживания.

Среда программирования служит для разработки (написания) программ и обычно ориентируется на конкретный язык или несколько языков программирования (в этом случае языки, обычно, принадлежат одной языковой группе, например, Си-подобные). Интегрированная среда программирования содержит в себе все необходимое для разработки программ:

· редактор с подсветкой синтаксиса конкретного языка программирования. В нем программист пишет текст программы, так называемый программный код;

· компилятор - транслирует программу, написанную на высокоуровневом языке программирования в машинный язык (машинный код), непосредственно понятный компьютеру.

· отладчик - служит для отладки программ.

Программные модули

Программа записывается на языке высокого уровня, наиболее удобном для реализации алгоритма решения определенного класса задач. Исходный текст программы, введенный с помощью клавиатуры в память компьютера, - исходный модуль (в Си - расширение *.cpp).

Результат обработки исходного модуля компилятором – объектный модуль (расширение *.obj), это незавершенный вариант машинной программы, т.к., например, к нему должны быть присоединены модули стандартных библиотек. Здесь компилятор (Сompiler) - вид транслятора, представляющий программу-переводчика исходного модуля в язык машинныхкоманд.

Исполняемый (абсолютный, загрузочный) модуль создает вторая специальная программа - «компоновщик». Ее еще называют редактором связей (Linker). Она и создает модуль, пригодный для выполнения на основе одного или нескольких объектных модулей. Загрузочный модуль (расширение *.exe) – это программный модуль представленный в форме, пригодной для выполнения.

4 Транслятор - программа, осуществляющая перевод текстов с одного языка на другой, т.е. с входного языка системы программирования на машинный язык ЭВМ. Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинозависимый язык.

Интерпретатор выполняет созданную программу путем одновременного анализа и реализации предписанных действий, при использовании отсутствует разделение на две стадии - перевод и выполнение. Большинство трансляторов языка Си - компиляторы.

Отла́дчик является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе. Отладчик позволяет выполнять пошаговую трассировку, отслеживать значения переменных в процессе выполнения программы, устанавливать точки или условия останова и т. д. Компоновщик (также реда́ктор свя́зей, англ. linker, link editor) — программа, которая производит компоновку — принимает на вход один или несколько объектных модулей и собирает по ним исполняемый модуль. Компиляция – преобразование программы, представленной на одном из языков программирования, в коды на машинно-ориентированном языке, которые принимаются и исполняются непосредственно процессором. Процесс компиляции состоит из следующих фаз: Лексический анализ, Синтаксический, Семантический, Оптимизация, Генерация кода

Компоновка – это один из этапов создания исполняемого файла. Компилировать – проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык (создание объектного кода) для ее исполнения. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика. Программа уже переведена в машинные инструкции, однако еще не полностью готова к выполнению. В объектном файле имеются ссылки на различные системные функции. Даже если в программе явно не упомянута ни одна функция, необходим, по крайней мере, один вызов системной функции – завершение программы и освобождение всех принадлежащих ей ресурсов.

5 Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «затычки», которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится: узнавать текущие значения переменных; выяснять, по какому пути выполнялась программа. Существуют две взаимодополняющие технологии отладки:

Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.

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

6 Компоновка – это один из этапов создания исполняемого файла. Компилировать – проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык (создание объектного кода) для ее исполнения. Результатом компиляции является объектный файл с необходимыми внешними ссылками для компоновщика. Программа уже переведена в машинные инструкции, однако еще не полностью готова к выполнению. В объектном файле имеются ссылки на различные системные функции. Даже если в программе явно не упомянута ни одна функция, необходим, по крайней мере, один вызов системной функции – завершение программы и освобождение всех принадлежащих ей ресурсов.

При загрузке программы в некоторую область памяти (например, в DOS или в режиме эмуляции DOS в Windows) она может размещаться не с самого начала этой области. В этом случае осуществляется привязка адресов переменных, заданных в относительных адресах от начала программного модуля к адресам памяти с учетом перемещения программного модуля (так называемый перемещающий загрузчик, которая имеет место для exe-файлов в DOS).

7 Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия; цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

Модульное программирование - это искусство разбиения задачи на некоторое число различных модулей, умение широко использовать стандартные модули путем их параметрической настройки, автоматизация сборки готовых модулей из библиотек, банков модулей.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных