36229

Адресация памяти ЭВМ

Доклад

Информатика, кибернетика и программирование

Адресация памяти ЭВМ. 3 Непосредственная адресация. Непосредственная адресация удобна для хранения различного рода констант. Прямая адресация.

Русский

2013-09-21

37 KB

29 чел.

15. Адресация памяти ЭВМ.

 

СПОСОБЫ АДРЕСАЦИИ

Адресный код - это информация об адресе операнда, содержащаяся в команде.

Исполнительный адрес - это номер ячейки  памяти,  к  которой производится фактическое обращение.

В современных ЭВМ адресный код,  как правило, не совпадает с исполнительным адресом.

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

1) Подразумеваемый операнд.

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

2) Подразумеваемый адрес.

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

3) Непосредственная адресация.

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

4) Прямая адресация.

В адресной части команды может быть непосредственно указан исполнительный адрес.

5) Относительная (базовая) адресация.

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

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

6) Укороченная адресация.

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

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

7) Косвенная адресация.

Адресный код команды в этом случае указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Косвенная адресация широко используется в малых и микроЭВМ,  имеющих короткое машинное  слово,  для преодоления ограничений короткого формата команды (совместно используются регистровая и косвенная адресация).

8) Адресация слов переменной длины.

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

9) Стековая адресация.

Стековая память,  реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и миниЭВМ.

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

10) Автоинкрементная и автодекрементная адресации.

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

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

11) Индексация.

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

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

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

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

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

Для управления индексацией  используются  команды,  задающие операции над  содержимым  индексных регистров - команды индексной арифметики. Можно отметить основные виды индексных операций:

- засылка в  соответствующий  индексный  регистр  начального значения индекса;

- изменение индекса;

- проверка окончания циклических вычислений.


 

А также другие работы, которые могут Вас заинтересовать

74187. Платформы (понятие, строение: фундамент, осадочный чехол) 11.14 KB
  Платформы понятие строение: фундамент осадочный чехол Платформа это обширная тектоническая структура обладающая сравнительно малой подвижностью. Платформы образуется на месте складчатой области в результате разрушения и снижения гор...
74188. Object-oriented programming languages and tools 37 KB
  They were working on simultions tht del with exploding ships nd relized they could group the ships into different ctegories. The Smlltlk tem ws inspired by the Simul 67 project but they designed Smlltlk so tht it would be dynmic. The objects could be chnged creted or deleted nd this ws different from the sttic systems tht were commonly used. It is this feture tht llowed Smlltlk to surpss both Simul 67 nd the nlog progrmming systems.
74189. Object-oriented programming languages and tools. Evolution of Smalltalk 41 KB
  The lnguge ws first generlly relesed s Smlltlk80. Smlltlklike lnguges re in continuing ctive development nd hve gthered loyl communities of users round them. NSI Smlltlk ws rtified in 1998 nd represents the stndrd version of Smlltlk.
74190. Logic programming languages and tools 38 KB
  User specifies the specifictions of solution nd the computer derives the execution sequence for tht solution: Let us hve irline flight informtion of the form: flightflight_number from_city to_city deprture_time rrivl_time Then ll the flights from Wshington DC to Snt Clr cn be specified s either direct flights or s flights with n intermedite stop: flightflight_number DC Snt Clr deprture_time rrivl_time or flightflight_number DC X deprt1 rrive1 flightflight_number X Los ngles deprt2 rrive2 deprt2 =rrive130 Unlike...
74191. Logic programming languages and tools. Programming languages versus logic programming 33.5 KB
  Properties: we cn ssign properties to individul entities for exmple fred would hve the property of being crnivore properties look like C function cll the nme of the property then the entity tht hs tht property is given in brckets e. Reltionships fcts: we cn ssign reltionships between entities for exmple fred ets met or wilm ets vegetbles reltionships in Prolog gin look like C function cll we give the reltionship nme first then in brckets the two entities tht re relted e. etswilmmet etswilmvegetbles. For exmple rule...
74192. Visual development languages and tools 32 KB
  But somehow it didnt hve the sme impct s did integrted development environments IDEs on those newfngled ldquo;microcomputers. Until we hd Windows to provide the bsic ides of displying things in windows PCs hd foot nd hlf bck in the minfrme worldrdquo; he sid. While TurboPscl lunched the ide of n integrted development environment Duntemnn credits Microsofts Visul Bsic VB lunched in 1991 with being the first rel IDE. The timing of IDEs ws lso perfect for new form of development: the Web.
74193. Visual development languages and tools 43 KB
  Visul development lnguges nd tools. In the summer of 1991 Microsoft introduced development tool clled Visul Bsic. Visul Bsic revolutionized ll this tedious code. Insted of hving to write lengthy code to mke window respond to mouse Visul Bsic hndled ll of those ctions nd hid them from the progrmmer.
74194. Multiparadigm programming language – Python 50 KB
  Multiprdigm progrmming lnguge Python.1 Python is generlpurpose progrmming lnguge tht blends procedurl functionl nd objectoriented prdigms. Python is powerful multiprdigm computer progrmming lnguge optimized for progrmmer productivity code redbility nd softwre qulity. Python is populr open source progrmming lnguge used for both stndlone progrms nd scripting pplictions in wide vriety of domins.
74195. Version control software and tools 39 KB
  Version control softwre nd tools1 Version control lso clled subversion control or revision control helps lrge projects from spinning out of control by letting individul progrmmers writers or project mngers tckle project from different ngles without getting in ech others wy nd without doing dmge tht cnt be undone. Version Control lets you trck your files over time. Youve probbly cooked up your own version control system got ny files like this: Lb1_1. dd version number or dte: Document_V1.