В чем состоит суть принципа адресности памяти кратко

Обновлено: 06.07.2024

В основе построения большинства ЭВМ лежат три общих принципа, сформулированных Дж. фон Нейманом (1945): программное управление, однородность памяти, адресность.

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

Принцип однородности памяти заключается в том, что в памяти компьютера хранятся как программы, так и данные. Принцип позволяет создавать более гибкие программы, которые в процессе выполнения могут подвергаться переработке.

Принцип адресности состоит в том, что все ячейки основной памяти компьютера пронумерованы и процессору доступна любая ячейка памяти..

В основе принципа программного управления лежит представление алгоритма решения любой задачи в виде программы вычислений.

Алгоритм – точное предписание, определяющее процесс преобразования исходных данных в конечный результат.

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

Команда – это инструкция машине на выполнение элементарной операции. Набор операций, которые может выполнять компьютер, и правил их записи образуют машинный язык.

Исторически сложилась тенденция к увеличению количества команд в машинном языке. Разработчики считали, что чем больше в нем команд, тем шире возможности по обработке данных. В настоящее время совершается переход на RISC-процессоры, основной характеристикой которых является сокращение набора команд и упрощение их структуры.

Суть принципа программного управления заключается в следующем:

· все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов-команд;

· каждая команда содержит указания на конкретную выполняемую операцию, место нахождения (адрес) операндов и ряд служебных признаков. Операнды – это переменные, значения которых участвуют в операциях преобразования данных. Список всех переменных (входных и данных, промежуточных значений и результатов вычислений) является неотъемлемым элементом любой программы;

· для доступа к программам, командам и операндам используются их адреса, в качестве которых выступают номера ячеек памяти компьютера, предназначенных для хранения объектов;

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

Обычно программы хранятся во внешней памяти ПЭВМ и для выполнения передаются в оперативную память. Некоторые программы постоянно размещаются в памяти (ядро операционной системы, архиватор Zip Magic, монитор антивирусной программы Касперский АнтиВирус и др.) и называются резидентными, а другие – загружаются только на время выполнения, а затем удаляются из памяти, и называются транзитными.

Часть машинных программ, обеспечивающих автоматическое управление вычислениями и используемых наиболее часто, может размещаться в постоянном запоминающем устройстве – реализовываться аппаратно. Программы, записанные в ПЗУ, составляют базовую систему ввода/вывода (BIOS), которая является промежуточным звеном между программным обеспечением компьютера и его электронными компонентами. Ее компоненты обеспечивают выполнение всех операций ввода/вывода в соответствии со специфическими особенностями работы каждого из периферийных устройств данного компьютера (драйверы стандартных устройств), тестируют работу памяти и устройств компьютера при включении электропитания (тест), а также выполняют загрузку операционной системы.

2. Классификация программного обеспечения ПК

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

ПО современных компьютеров включает множество разнообразных программ, которое можно условно разделить на три группы (рис.31):

1. Системное программное обеспечение (системные программы);

2. Прикладное программное обеспечение (прикладные программы);

3. Инструментальное обеспечение (инструментальные системы).

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

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

Базовое программное обеспечение - набор программных средств, обеспечивающих работу компьютера.

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

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

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

Приведем примеры прикладного программного обеспечения.

Офисные программы предназначены для основной массы пользователей. Сюда относятся: текстовые и табличные процессоры, графические редакторы, средства презентаций, системы управления базами данных, а также их интегрированные пакеты. Эти программы готовят документы для пе- чати и чтения с экрана, выполняют расчеты массивов числовых данных (Microsoft Word, Microsoft Excel, Lotus Smart Suite, Open Office, Libre Office).

Финансовые и бухгалтерские программы (бухгалтерского и финансового учета) для крупных, средних и мелких предприятий: 1С: Предприятие, 1С: Бухгалтерия, 1С: Деньги, БЭСТ, Парус и др.

Программы автоматизации делопроизводства и документооборота и архива организаций помогают в управлении персоналом, подготовке отчетности, составлении договоров, контрактов, писем (1С: кадры, Евфрат).

Лингвистические программы контролируют правописание, готовят аннотации, определяют ключевые слова, проводят лингвистический анализ текстов.

Программы словари содержат толкования терминов, дают перевод слов и словосочетаний (Lingvo, Multilex, Bridge to English, Сократ и др.).

Программы машинного перевода переводят тексты доку- ментов, электронной почты и вебстраниц (Promt, Сократ, сайты переводов).

Графические программы готовят и обрабатывают изображения, редактируют, сканируют и печатают графические изображения, повышают их качество.

Системы управления базами данных обеспечивают организацию, хранение и обработку баз данных (Microsoft Access, Lotus 1 � 2 � 3).

Издательские системы - программы компьютерной верстки и графики для типографской печати (Quark XPress, Adobe Page Maker, Adobe InDesign).

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

образных математических задач (MathLab, Maple).

Системы автоматизированного проектирования (САПР), такие как AutoCad, MathCAD, предназначены для проектирования изделий разной сложности.

Базы знаний - экспертные системы, системы поддержки принятия решений в конкретной области: бизнес планировании, диагностике заболеваний и неисправности техники, расследовании преступлений, финансовом аудите.

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

К инструментальному программному обеспечению относят: системы программирования –для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов, обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ), транслятор, а также библиотеки подпрограмм; инструментальные среды для разработки приложений, например, C++, Delphi, Visual Basic, Java, которые включают средства визуального программирования; системы моделирования, например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.

Транслятор (англ. translator – переводчик) – это программа-переводчик, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов, которые существенно различаются по принципам работы.

Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. После компилирования получается исполняемая программа, при выполнении которой не нужна ни исходная программа, ни компилятор.

Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. Программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном ее запуске.

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

Дистрибутив (англ. distributive - распространяемый) - программный продукт, приспособленный для установки на компьютеры. Содержит сжатые (уменьшенные в объеме) файлы самой программы и программу установки. Распространяется на лицензионных компа дисках или через Интернет. Инсталляция (англ. installation - установка) -установка программного обеспечения в компьютер с помощью вспомогательной программы установки setup.exe с носителя – компак диска, флеш карты, жесткого диска.

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

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

Принцип адресности

Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.

Принцип программного управления

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

Принцип двоичного кодирования

Данные и команды кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов.

Каждая научная или техническая сфера имеет под собой определённые фундаментальные идеи и положения, которые предопределяют в течение многих лет её содержание или вектор развития. В компьютерных науках огромный вклад внесли принципы, которые были сформированы независимо друг от друга двумя известными учёными 20-го века: Джоном фон Нейманом и Сергеем Алексеевичем Лебедевым.

Принцип — это главное, исходное положение какой-нибудь теории, учения, науки и прочего.

Принципы Неймана-Лебедева — это стандартные принципы формирования ЭВМ, которые были сформированы в середине 20-го века, не потерявшие свою актуальность и в современности.

Джон фон Нейман — это американский учёный, который сделал огромный вклад в развитие множества математических и физических сфер. В 1946-м году в процессе анализа преимуществ и недостатков ЭНИАКа, он вместе со своими коллегами сформулировал идею нового типа организации ЭВМ.

Смысл положений

Опишем значение главных принципов Неймана-Лебедева:

  1. Состав стандартных элементов вычислительной машины;
  2. Принцип двоичного кодирования;
  3. Принцип однородности памяти;
  4. Принцип адресности памяти;
  5. Принцип иерархической структуры памяти;
  6. Принцип программного управления.

Состав базовых элементов вычислительной техники

Всякое устройство, которое может осуществлять автоматические расчёты, должно иметь конкретную совокупность элементов: блок обработки сведений, блок управления, блок памяти и блоки ввода-вывода сведений.

Функциональная схема такого компьютера, которая отображает программное управление работой и взаимодействие его главных узлов, описана на рисунке.

Функциональная схема компьютеров первых поколений

Его информационный центр — это процессор. Посредством него проходят все потоки сведений, изображённые с помощью тонких стрелок. Также он управляет всеми процедурами, которые изображаются жирными стрелками.

Подобные блоки имеют и современные компьютеры. Среди них:

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

Большая часть внутренней памяти расходуется на временное сохранение программ и сведений при процедуре обработки. Подобный вид памяти называют оперативным запоминающим устройством (ОЗУ). Другой тип внутренней памяти — это постоянное запоминающее устройство (ПЗУ), которое содержит в себе программу первоначальной загрузки компьютера.

Внешняя или долговременная память используется для продолжительного хранения программ и сведений в моменты между сеансами обработки:

  • Устройства ввода, которые преобразуют входные данные в формат, считываемый компьютером;
  • Устройства вывода, которые преобразуют результаты работы компьютера в формат, доступный для чтения человеком.

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

Принцип двоичного кодирования данных

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

Однако, применение стандартной двоичной системы счисления имеет определённые недостатки. Во-первых, в такой ситуации возникает проблема представления отрицательных чисел и нулевой избыточности. Решения этих проблем были найдены уже на стадии возникновения компьютерной техники.

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

Принцип однородности памяти

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

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

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

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

Принцип адресности памяти

Команды и сведения размещены в единой памяти, которая состоит из ячеек, имеющих собственные номера (адреса). В этом смысл принципа адресности памяти.

Стоит обратить внимания, что сведения считываются из ячеек и заносятся в них в произвольном порядке, таким образом процессор в любой момент времени имеет доступ ко всякой ячейке памяти. Память с такой организацией называется памятью с произвольным доступом.

Компьютеры разных поколений имели разную разрядность ячеек памяти, то есть, число битов в ячейке. Современные компьютеры основываются на восьмибитной ячейке. Подобная ячейка используется для работы с единственным символом. Для того чтобы хранить числа, используют несколько последовательных ячеек.

Современные компьютеры способны одновременно извлекать из памяти и обрабатывать до 64 разрядов, то есть, до восьми байтовых ячеек. Это происходит благодаря организации принципа параллельной обработки данных — одновременного или параллельного исполнения более одного действия.

Принцип иерархической организации памяти

Выделяют два требования, которые предъявляются к компьютерной памяти:

  1. Объём памяти должен быть максимально большим;
  2. Время доступа к памяти должно быть наименьшим.

Однако, практически невозможно спроектировать запоминающее устройство, которое будет удовлетворять всем перечисленным условиям. Сложно искать необходимые данные в памяти большого объёма, поэтому их чтение происходит медленнее. Для того чтобы ускорить этот процесс, необходимо использовать усложнённые решения, в результате чего повышается стоимость оборудования компьютера. Чтобы решить эту проблему, потребуется использовать несколько разных взаимосвязанных типов памяти. На этом основывается принцип иерархической организации памяти.

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

Большая часть алгоритмов работает за счёт обращения в каждый период времени к небольшой совокупности сведений, которая способна перемещаться в более быструю, но дорогую, а оттого небольшую память. Применение быстрой памяти улучшает производительность вычислительного комплекса.

Принцип программного управления

Характерная особенность компьютеров от всего прочего технического оборудования — это программное управление их функционированием.

Принцип программного управления формирует конкретную упорядоченность автоматического исполнения программы.

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

  • Какое действие следует выполнить;
  • С помощью каких ячеек высчитываются операнды — сведения, использующиеся для процедуры;
  • Куда заносится результат процедуры.

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

  1. Чтение команды из памяти и её дешифровка;
  2. Составления адреса конкретной команды;
  3. Исполнение команды.

Подобный алгоритм повторяется перед наступлением команды, которая означает конец исполнения программы, выполняющей поиск решения определённой задачи. Современные компьютеры после завершения работы программы отдают управление операционной системе.

Читайте также: