![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
Дано:
L1=4 бит -длина поля команды, определяющая регистр базы L2=12 бит-длина поля команды, определяющая смещение L3=32 бит-длина регистра базы 1.Какое максимальное количество адресов можно задать с помощью такой адресации? 2.Сколько может быть базовых регистров? 3.Какой объем памяти можно адресовать без изменения содержимого базового регистра? Значит поскольку есть база регистров, то речь идет об относительной адресации. Ответ: 1. 2^(L1+L2)? 2. L3\L1=8? 3. 2^L3? Читал: Каган М.Б. "Электронные машины и системы", Чередов А.Д. "Организация ЭВМ и систем". В обоих источниках тема раскрыта, но в других терминах. Не понимаю условия, т.е. L3 - длина всей базы регистров или длина одного регистра базы, во втором случае как же определить макс базы регистров? L1 - адрес со значением L3 или L1 подмножество L3? В этом вся путаница решения и состоит. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
эй народ, есть кто в институте учился? или все самоучителями балуемся? (в чем я сомневаюсь)
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
1. Не совсем корректно вопрос поставлен, но Ваш ответ 2^(L1+L2) имеет право на жизнь.
2. Формально - столько, сколько различных значений можно записать в поле регистра базы. 2^L1. Знания IBM-ЕСовских договорённостей (не использовать регистры 1, 13, 14, 15 в качестве базовых; а если указан 0, то это - адрес, равный нулю, а не содержимое нулевого регистра) от Вас, думаю, никто требовать не будет. 3. Без изменения содержимого базового регистра - такой, сколько различных значений можно записать в поле смещения. 2^L2. ... "База регистров" - не помню такого термина. L3 - длина регистра базы. L1 - сколько двоичных разрядов выделяется под номер регистра базы. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
о, это гут. Спасибо за подсказку
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
В итоге ответы не правильные. Формулировка препода "задача решена неверно". Может кто поможет разобраться в этой ситуации.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Ну, давайте попробуем... Но тогда сперва вопрос, на который хотелось бы иметь совершенно конкретный ответ:
Как в вашей (реальной / виртуально-учебной) ЭВМ формируется исполнительный (абсолютный) адрес? |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
Ну насколько я понимаю метод базирования адресов, то исполнительным (физическим наверное) будет адрес, определенный смещением относительно значения базового регистра, т.е. смещением относительно одного из адресов, которых в базе 2^32.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Ну хорошо. Тогда давайте разбираться вопрос за вопросом. Вам там преподаватель какие-то более конкретные замечания, кроме "задача решена неверно", написал? Давайте с вопроса 2 начнём - он самый простой. В поле длиной L1 = 4 бит можно записать 2^4 различных значений. То есть - присвоить уникальные номера шестнадцати различным регистрам (другое дело, что аппаратно их может быть меньше). Что в этом ответе вызвало неприятие преподавателя?
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 03.08.2009
Сообщений: 77
|
![]()
Дело в том что единственная формулировка преподавателя - "задача решена неверно". Уточню что для другой задачи он указал в какой части она была решена неверно, следовательно, в этой неверно всё. Вот что я ответил и отправил сегодня:
amЄA, A={am}, m(нижний индекс)=0..2^32 -1 значение am есть базовый адрес или просто база. Следовательно, если в базу можно поместить 2^32 адреса, то и задать можно 2^32 адреса, либо (2^32)+(2^12), если архитектура процессора позволяется «выходить за пределы» базы. В виду избыточности программы становится очевидным тот факт, что эффективнее было бы значение базы хранить в отдельном (базовом) регистре, а в коде операции указывать только короткое смещение относительно базы. Базовый регистр может быть один, в него помещается адрес am. Без изменения базового регистра можно адресовать ровно столько адресов, сколько позволяет смещение L2, а именно 2^12, учитывая нулевое смещение. Вы спросите меня почему базовый регистр м.б. один? а я вообще уже кроме как методом тыка не понимаю как действовать. "Область, в которой находятся вычисляемые относительно базы ячейки основной памяти, обычно называется сегментом – это сплошной участок памяти, начало которого задаётся в некотором регистре, называемом базовым, или сегментным." Баула В. Г. Введение в архитектуру ЭВМ. Так же сложность еще в том, что из рекоменднованных учебников удалось найти только один. Цитата из приведенного выше источника уже по собственной инициативе, или в виду отсутствия вообще таковых. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Заочник? Сочувствую...
А вы можете этот список рекомендованной литературы сюда выложить? Можно просто сфотографировать или отсканить (даже если рукописный текст - не страшно). |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Архитектура ПК | Veselyn | Помощь студентам | 2 | 24.07.2012 14:39 |
Архитектура компьютера | agressenok | Помощь студентам | 15 | 01.12.2010 13:50 |
Архитектура компьютера | raspberry | Помощь студентам | 2 | 06.11.2010 02:34 |
Архитектура процессора | Troi666 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 11.06.2009 09:44 |