Cтраница 1
Распределение памяти машины осуществляется еще до того, как написана программа. Так как обычно заранее неизвестно число команд и промежуточных результатов, которые должны одновременно храниться в ОЗУ, то, особенно в случае программ, содержащих большое количество команд, распределение памяти представляет собой не простую задачу. Ее решение еще более усложняется, если вся нужная информация не может быть одновременно размещена в оперативной памяти. [1]
При распределении памяти машины для размещения информационных и программных слов, результатов вычислений отводится определенная группа ( зона) ячеек ОЗУ. Обычно при использовании условных обозначений групп ( зон) ячеек им присваиваются различные буквенные индексы: например, ячейкам для хранения исходных данных - а ( греческая буква альфа), промежуточных результатов - р ( бета), постоянных величин ( констант) - С, окончательных результатов - Y ( гамма) и команд - К. [2]
Эта ячейка принадлежит к группе В распределения памяти машины. Информация ячеек этой группы, выведенная в двоичной ( или восьмеричной) форме, может оказаться полезной также для выяснения номера оператора автокодовой программы, выполнение которого вызывает аварийный останов ( авост) машины. [3]
Объединение отдельных элементарных операторов в программу производят в процессе распределения памяти машины и присвоения истинных адресов. [4]
При помощи описаний транслятор получает информацию Для установления свойств описанных величин и распределения памяти машины. [5]
Составление программы сводится к расписыванию математического алгоритма задачи в соответствующих машинных кодах и распределению памяти машины. Кодирование программы производится в соответствии с системой команд ЭВМ. [6]
В иных случаях на основе блок-схем и символических программ составляются вручную машинные программы, но предварительно необходимо произвести распределение памяти машины. [7]
Для решения первой задачи разрабатывается транслятор, а функции которого входит не только преобразование символических адресов в истинные, но и распределение памяти машины. [8]
Ввод формулы в машину при загрузке автокодовой программы, уже содержащей 30 формул с разными левыми частями, сопровождается ссылкой на примечание 4, так как происходит переполнение массива 3 распределения памяти машины. В этом случае транслятор не напечатает ссылку на примечание 4, а предоставит возможность включить в операторную программу неограниченное ( хотя и в пределах памяти машины) количество формул. Но из всего этого количества формул, введенных в машину, лишь первые тридцать транслированных формул ( с разными именами) могут быть использованы в качестве подпрограмм в других операторах вычислим, так как информация только об этих тридцати формулах помещается в массиве 3 распределения памяти. [9]
Некоторые ячейки первого участка адресной части могут оказаться пустыми и после составления словаря. Это необходимо учитывать при распределении памяти машины: - Количество пустых ячеек может быть сокращено до минимума уменьшением разрядности кода свертки. Ниже приводится алгоритм составления словаря словоформ, в котором используется цепной способ поиска в сочетании со свертыванием кодов. [10]
Так жек как и в ЛИСП, распределение памяти машины при использовании ИПЛ-V происходит автоматически в ходе обработки данных, что позволяет решать задачи, в которых требования к распределению памяти не могут быть определены заранее, и достаточно сложные структуры данных создаются в процессе обработки. [11]
При этом одновременно уточняется алгоритм решения. На этом этапе программирования решается также вопрос распределения памяти машины. Для выполнения этого этапа лицо, составляющее программу, должно знать в совершенстве язык данной машины. [12]
При составлении больших программ часто желательно расчленение ее на отдельные части, с тем чтобы каждая из них составлялась параллельно во времени разными программистами. При программировании в кодах машины такая организация построения программы затруднена, а само расчленение программы возможно только после распределения памяти машины. [13]
В соответствии с намеченными схемами алгоритмов или граф-схемами на втором этапе программирования составляются последовательности машинных команд для отдельных участков сначала в буквенных ( условных) адресах. Затем отдельные участки программы ( подпрограммы) объединяются и устанавливаются действительные адреса ячеек памяти машины. Распределение памяти машины является трудоемким процессом, который выполняется после составления общей схемы программы. Наибольшие трудности вызывает распределение памяти в тех случаях, когда обрабатывается большой объем данных, которые приходится размещать на магнитных барабанах, лентах или дисках, применяя при этом специальные команды. [14]
Этап нахождения алгоритмов называется алгоритмизацией, а все другие этапы подготовки задач к машинному решению первого вида называются программированием. В некоторых работах в программирование включают только 2 - 4 - й этапы, а отладка рассматривается как особая операция. В строгом смысле слова программирование - это распределение памяти машины для размещения информации, запись команд и составление машинных программ, а кодирование команд и отладка относятся к элементам программирования в качестве самостоятельных операций. [15]