Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700269.doc
Скачиваний:
15
Добавлен:
01.05.2022
Размер:
1.78 Mб
Скачать

1. Проектирование прикладных программ на языке высокого уровня

1.1. Особенности разработки программного обеспечения на языке высокого уровня

1.1.1. Функциональные принципы работы компьютера

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

Поясним значения некоторых терминов.

Оператором в языке программирования называют предписание, предназначенное для задания некоторого завершенного действия в процессе переработки информации на ЭВМ.

Операнд – это величина, представляющая собой объект операции, реализуемой ЭВМ в ходе выполнения программы вычислений. Например, операндами арифметических операций обычно являются числа: при сложении – слагаемые, при умножении – сомножители.

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

Классической архитектуре фон Неймана с точки зрения программирования присущи следующие особенности:

  1. единственная линейная последовательно адресуемая память, программа и данные соответственно хранятся в одной памяти, а адреса областей памяти составляют последовательность типа 0, 1, 2,…, т.е. память является одномерной и имеет вид вектора слов;

  2. отсутствует явное различие между командами и данными, причем назначение данных не является их неотъемлемой составной частью, например, нет никаких средств, позволяющих явно отличить набор битов для числа с плавающей точкой от набора битов, являющихся строкой символов.

В настоящее время различают два типа построения персональных ЭВМ с архитектурами CISC и RISC.

Архитектура CISC (Complete Instruction Set Computer) является практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров характерно сравнительно небольшое число регистров общего назначения; большое количество машинных команд, некоторые из которых семантически нагружены аналогично операторам высокоуровневых языков программирования и выполняются за много тактов; большое количество методов адресации и форматов команд различной разрядности; преобладание двухадресного формата команд; наличие команд обработки типа регистр-память.

Для современных рабочих станций и серверов основой является архитектура компьютера с сокращенным набором команд (RISCReduced Instruction Set Computer). Главная идея разработчиков этих машин – отделение медленной памяти от высокоскоростных регистров. Система команд разрабатывалась таким образом, чтобы выполнение любой команды занимало небольшое количество машинных тактов (предпочтительно один машинный такт). Логика выполнения команд с целью повышения производительности ориентируется на аппаратную, а не на микропрограммную реализацию. Для упрощения логики декодирования команд используются команды фиксированной длины и фиксированного формата.