Вычисли количество адресуемых ячеек памяти если разрядность шины адреса равна 64 n

Проблема 3

  1. Каков размер страницы в такой системе? Объясните свой ответ (число без обоснования не будет засчитано).
  1. 4К. Последние 12 бит виртуального адреса представляют собой смещение на странице, которое варьируется от 0 до 4095. Таким образом, размер страницы равен 4096, то есть 4 КБ.

Поскольку физические адреса имеют длину 44 бита, а размер страницы — 4 КБ, номер кадра страницы занимает 32 бита

Принимая во внимание 4 защитных бита, каждая запись таблицы страниц уровня 3 занимает (32+4) = 36 бит. Округление для выравнивания записей по байтам (словам) приведет к тому, что каждая запись будет потреблять 40 (64) бит или 5 (8) байтов

Для таблицы из 256 записей нам потребуется 1280 (2048) байт.

Таблица страниц верхнего уровня не должна предполагать, что таблицы страниц 2-го уровня выровнены по страницам. Итак, мы храним там полные физические адреса. К счастью, нам не нужны управляющие биты. Таким образом, каждая запись занимает не менее 44 бит (6 байтов для выравнивания по байтам, 8 байтов для выравнивания по словам). Таким образом, каждая таблица страниц верхнего уровня имеет размер 256*6 = 1536 байт (256 * 8 = 2048 байт).

Попытка воспользоваться выравниванием по 256 элементам для уменьшения размера элемента, вероятно, не стоит усилий. Сделать это было бы сложно; вам нужно будет написать новый распределитель памяти, который гарантирует такое выравнивание. Кроме того, мы не можем полностью уместить таблицу в выровненную область размером 1024 байта (44-10 = 34 бита на адрес, что потребовало бы более 4 байтов на запись), и округление размера до следующей степени двойки не спасло бы использовать любой размер, а не просто хранить указатели и использовать обычный распределитель.

Аналогично каждая запись в таблице страниц 2-го уровня представляет собой 44-битный физический указатель, 6 байтов (8 байтов) при выравнивании по байтам (словам). Таким образом, таблица с 16 элементами занимает 96 (128) байт. Таким образом, требуемое пространство составляет 1536 (2048) байт для таблицы страниц верхнего уровня + 96 (128) байт для одной таблицы страниц второго уровня + 1280 (2048) байт для одной таблицы страниц третьего уровня = 2912 (4224) байт. Поскольку процесс может уместиться ровно на 16 страницах, внутренняя фрагментация не тратит память впустую.

Таким образом, требуемое пространство составляет 1536 (2048) байт для таблицы страниц верхнего уровня + 3 * 96 (3 * 128) байт для 3 таблиц страниц второго уровня + 3 * 1280 (3 * 2048) для 3 таблиц страниц третьего уровня. таблица страниц = 5664 (8576) байт.

Проблема 6

Рассмотрите следующий фрагмент кода, который умножает две матрицы. Предположим, что двоичный файл для выполнения этой функции умещается на одной странице, и стек также умещается на одной странице. Предположим далее, что для хранения целого числа требуется 4 байта. Вычислите количество промахов TLB, если размер страницы равен 4096, а TLB имеет 8 записей с замещающей политикой, состоящей из LRU.

Решение: 1024*(2+1024*1024) = 1073743872 Двоичный файл и стек умещаются на одной странице, поэтому каждый занимает одну запись в TLB. Пока функция работает, она постоянно обращается к двоичной странице и странице стека. Таким образом, две записи TLB для этих двух страниц будут все время находиться в TLB, а данные могут занимать только оставшиеся 6 записей TLB.

Мы предполагаем, что две записи уже находятся в TLB, когда функция начинает выполняться. Затем нам нужно рассмотреть только эти страницы данных.

Поскольку для хранения целого числа требуется 4 байта, а размер страницы составляет 4096 байт, для каждого массива требуется 1024 страницы. Предположим, что каждая строка массива хранится на одной странице. Тогда эти страницы можно представить в виде a, b, c: Страница a содержит элементы a, страница a содержит элементы a и т. д.

Для фиксированного значения i, скажем, 0, функция выполняет цикл по j и k, у нас есть следующая ссылочная строка:

Для ссылочной строки (всего 1024 строки) a, c приведут к двум промахам TLB. Поскольку доступ к a и b будет осуществляться через каждые четыре обращения к памяти, эти две страницы не будут заменены алгоритмом LRU. Для каждой страницы в b каждый раз при доступе к ней будет происходить один промах TLB. Таким образом, количество промахов TLB для второго внутреннего цикла равно 2+1024*1024 = 1048578.

Сколько битов адреса требуется (например, для счетчика программ) в компьютере с байтовой адресацией и 512 Мбайт ОЗУ?

Как выглядит формула?

Как это связано с тем, что 32 бита могут адресовать не более 4 ГБ оперативной памяти?

@Caleb — вот почему я написал это как комментарий, а не как ответ. И на такие вопросы, как «почему я вижу только 2 ГБ на моей 32-битной машине в Windows, но 64 ГБ в Linux»

Constants¶

math.pi

The mathematical constant π = 3.141592…, to available precision.

math.e

The mathematical constant e = 2.718281…, to available precision.

math.tau

The mathematical constant τ = 6.283185…, to available precision.
Tau is a circle constant equal to 2π, the ratio of a circle’s circumference to
its radius. To learn more about Tau, check out Vi Hart’s video Pi is (still)
Wrong, and start celebrating
Tau day by eating twice as much pie!

New in version 3.6.

math.inf

A floating-point positive infinity. (For negative infinity, use
.) Equivalent to the output of .

New in version 3.5.

math.nan

A floating-point “not a number” (NaN) value. Equivalent to the output of
. Due to the requirements of the IEEE-754 standard, and are
not considered to equal to any other numeric value, including themselves. To check
whether a number is a NaN, use the function to test
for NaNs instead of or .
Example:

>>> import math
>>> math.nan == math.nan
False
>>> float('nan') == float('nan')
False
>>> math.isnan(math.nan)
True
>>> math.isnan(float('nan'))
True

Changed in version 3.11: It is now always available.

New in version 3.5.

CPython implementation detail: The module consists mostly of thin wrappers around the platform C
math library functions. Behavior in exceptional cases follows Annex F of
the C99 standard where appropriate. The current implementation will raise
for invalid operations like or
(where C99 Annex F recommends signaling invalid operation or divide-by-zero),
and for results that overflow (for example,
). A NaN will not be returned from any of the functions
above unless one or more of the input arguments was a NaN; in that case,
most functions will return a NaN, but (again following C99 Annex F) there
are some exceptions to this rule, for example or
.

Note that Python makes no effort to distinguish signaling NaNs from
quiet NaNs, and behavior for signaling NaNs remains unspecified.
Typical behavior is to treat all NaNs as though they were quiet.

See also

Module

Complex number versions of many of these functions.

Основная память компьютера

Основная память — это устройство
для хранения информации. Она состоит из
оперативного запоминающего устройства (ОЗУ) и
постоянного запоминающего устройства (ПЗУ).Оперативное запоминающее устройство
(ОЗУ)ОЗУ-быстрая, полупроводниковая,
энергозависимая память. В ОЗУ хранятся
исполняемая в данный момент программа и данные, с
которыми она непосредственно работает. Это
значит, что когда вы запускаете какую-либо
компьютерную программу, находящуюся на диске,
она копируется в оперативную память, после чего
процессор начинает выполнять команды,
изложенные в этой программе. Часть ОЗУ,
называемая «видеопамять», содержит данные,
соответствующие текущему изображению на экране.
При отключении питания содержимое ОЗУ стирается.

Быстродействие (скорость работы) компьютера
напрямую зависит от величины его ОЗУ, которое в
современных компьютерах может доходить до 128
Мбайт. В первых моделях компьютеров оперативная
память составляла не более 1 Мбайт. Современные
прикладные программы часто требуют для своего
выполнения не менее 4 Мбайт ОЗУ; в противном
случае они просто не запускаются.
ОЗУ — это память, используемая как для чтения, так
и для записи информации. При отключении
электропитания информация в ОЗУ исчезает
(энергозависимость).Постоянное запоминающее устройство (ПЗУ)ПЗУ — быстрая, энергонезависимая память.
ПЗУ — это память, предназначенная только для
чтения. Информация заносится в нее один раз
(обычно в заводских условиях) и сохраняется
постоянно (при включенном и выключенном
компьютере). В ПЗУ хранится информация,
присутствие которой постоянно необходимо в
компьютере.
В ПЗУ находятся:

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

Основная память состоит из регистров. Регистр —
это устройство для временного запоминания
информации в оцифрованной (двоичной) форме.
Запоминающим элементом в регистре является
триггер — устройство, которое может находиться в
одном из двух состояний, одно из которых
соответствует запоминанию двоичного нуля,
другое — запоминанию двоичной единицы. Триггер
представляет собой крошечный
конденсатор-батарейку, которую можно заряжать
множество раз. Если такой конденсатор заряжен —
он как бы запомнил значение «1», если заряд
отсутствует — значение «0». Регистр содержит
несколько связанных друг с другом триггеров.
Число триггеров в регистре называется
разрядностью компьютера. Производительность
компьютера напрямую связана с разрядностью,
которая бывает равной 8, 16, 32, 64, 128.

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

Trigonometric functions¶

math.acos(x)

Return the arc cosine of x, in radians. The result is between and
.

math.asin(x)

Return the arc sine of x, in radians. The result is between and
.

math.atan(x)

Return the arc tangent of x, in radians. The result is between and
.

math.atan2(y, x)

Return , in radians. The result is between and .
The vector in the plane from the origin to point makes this angle
with the positive X axis. The point of is that the signs of both
inputs are known to it, so it can compute the correct quadrant for the angle.
For example, and are both , but is .

math.cos(x)

Return the cosine of x radians.

math.dist(p, q)

Return the Euclidean distance between two points p and q, each
given as a sequence (or iterable) of coordinates. The two points
must have the same dimension.

Roughly equivalent to:

sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))

New in version 3.8.

math.hypot(*coordinates)

Return the Euclidean norm, .
This is the length of the vector from the origin to the point
given by the coordinates.

For a two dimensional point , this is equivalent to computing
the hypotenuse of a right triangle using the Pythagorean theorem,
.

Changed in version 3.8: Added support for n-dimensional points. Formerly, only the two
dimensional case was supported.

Changed in version 3.10: Improved the algorithm’s accuracy so that the maximum error is
under 1 ulp (unit in the last place). More typically, the result
is almost always correctly rounded to within 1/2 ulp.

math.sin(x)

Return the sine of x radians.

Процессор Intel 80386 , разрядность шины адреса.

2. Вычисли количество адресуемых ячеек памяти, если разрядность шины адреса равна 24: N=

Реферат по информатике на тему Защита информации

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

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

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

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

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

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

Однако информация­ охраняется так же не только от несанкционированного доступа, но и от непредвиденной поломки системы. На этот случай к жесткому диску подключают специальные RAID-контролеры, с помощью которых информация сохраняется на нескольких дисках одновременно.

4.­­ ­Информация в Интернете. Защита информации в интернете, так же немаловажная сторона защиты информации в целом. Главным образом, это косвенно касается данных ПК, к которым можно получить несанкционированный доступ, в случае, если компьютер подключен к интернету. На сегодняшний день для этого разработано не один а несколько способов. Чтобы этого не допустить устанавливается специальная программа, которая служит неким барьером между интернетом и локальной сетью. Данный брандмауэр ведет контроль за всеми операциями и передачей данных, выявляя среди них наиболее подозрительные.

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

Шины и разряды

Как ты уже знаешь, вся информация в цифровой технике стараниями инженеров и математиков представляется в виде двоичных чисел, которые записываются с помощью всего двух цифр: «0» и «1». Обычное десятичное число «3» в двоичной записи будет выглядеть как «11», т.е. 310 = 112. Нижние индексы указывают в какой системе счисления записано число, т.е. 10 – десятичная, а 2 – двоичная. Одна цифра в двоичном числе называется разрядом. У разрядов есть старшинство. Самый правый разряд называется младшим, а самый левый – старшим. Старшинство разряда растет справа налево:

Двоичное число, состоящее из 8 разрядов называется 8-ми разрядным, из 16 – шестнадцатиразрядным и т.д. Разрядность двоичного числа имеет самое прямое отношение к взаимодействию между процессором, памятью и устройствами ввода-вывода.

Дело в том, что в твоем МК бегают такие же двоичные числа. Они ходят от памяти к процессору, от процессора назад к памяти или УВВ, а от последних к процессору. Бегают они естественно по проводам (в МК эти шины спрятаны внутри микросхемы). Каждый провод в определённый момент времени может передавать только один разряд со значением «0» или «1». Поэтому, чтобы передать, к примеру, 8-ми разрядное число от процессора к памяти или назад понадобится минимум 8 таких поводов.

Несколько таких проводов, объединенных вместе называются шиной. Шины бывают нескольких видов: шина адреса, шина данных и шина управления. По шине адреса бегают числа, которые обозначают адрес ячейки памяти или устройства ввода-вывода, откуда ты хочешь получить или куда хочешь записать данные. А сами данные будут передаваться уже по шине данных. Это похоже на почтовую посылку. У посылки есть адрес и есть содержание. Так вот в микропроцессорной системе, каковой МК также является, адрес и данные передаются по разным путям, именуемым шинами.

Сколько проводов должно быть в шине?

Это напрямую зависит от конструкции процессора. Процессор может иметь 32-разрядную шину данных и 16-ти разрядное АЛУ. Такие случаи в истории процессоров и МК встречаются многократно. Поэтому разрядность процессора не определяет 100% разрядность шин данных и шин адреса. Всё зависит от конкретной конструкции.

На что влияет разрядность шины адреса

Самым главным, на что она влияет, является количество адресов, которые можно по ней передавать. Например, в 4-разрядной системе это будет всего 24 = 16 адресов, в 64-разрядной числов сдресов будет уже 264=18 446 744 073 709 551 616. Таким образом, чем выше разрядность шины адреса, тем к больше объем памяти и больше устройств ввода-вывода, с которыми может работать процессор

Это важно

На что влияет разрядность шины данных

Её разрядность определяет сколько данных процессор может считать за один раз. Чем выше разрядность, тем больше данных можно считывать за один раз. Её разрядность, как и разрядность шины адреса целиком определяется конструкцией конкретного процессора или МК. Но при этом всегда кратна восьми. Связано это с тем, что практически во всех устройствах памяти минимальной единицей информации является байт, т.е. двоичное число из 8-ми разрядов.

Зачем было нужно вводить ещё одно название: байт? Оно служит для обозначения количества информации. Если количество разрядов говорит просто о длине двоичного числа, то битность говорит о количестве информации, которую это число несет. Считается, что один разряд двоичного числа может передавать 1 бит информации. При этом биты группируются в байты, килобайты, мегабайты, гигабайты, терабайты и т.д.

Кстати, 1 байт = 8 бит, 1 килобайт = 1024 байтам, 1 мегабайт = 1024 килобайтам и т.д. Почему именно 1024? Все это связано с тем, что размер памяти всегда кратен степени двойки: 23 = 8, 210=1024. В свою очередь кратность двойке была выбрана благодаря тому, что она упрощает техническую реализацию устройств памяти. Устройство памяти представляет.

Пропускная способность

Быстродействие устройства зависит от тактовой частоты тактового генератора (измеряется в МГц) и разрядности, т.е. количества битов данных, которое устройство может обработать или передать одновременно (измеряется в битах).
Дополнительно в устройствах используется внутреннее умножение частоты с разными коэффициентами.

Пропускная способность шины данных (измеряется в бит/с) равна произведению разрядности шины (измеряется в битах) и частоты шины (измеряется в Гц = 1/с).

Пропускная способность шины = Разрядность шины × Частота шины

Системная шина

Между северным мостом и процессором данные передаются по системной шине с частотой, в четыре раза больше частоты шины FSB, т.е. процессор может получать и передавать данные с частотой
266 МГц × 4 = 1064 МГц.
Так как разрядность системной шины равна разрядности процессора (64 бит), то пропускная способность системной шины равна:
64 Бит × 1064 МГц = 68 096 Мбит/с ≈ 66 Гбит/с ≈ 8 Гбайт/с

Шина памяти

Обмен данными между процессором и оперативной памятью производится по шине памяти, частота которой может быть меньше, чем частота шины процессора.
Если частота шины памяти равна 533 МГц, а разрядность шины памяти, равная разрядности процессора, составляет 64 бита, то  пропускная способность шины памяти равна:
64 Бит × 533 МГц = 34 112 Мбит/с ≈33 Гбит/с ≈ 4 Гбайт/с

Шины AGP И PCI Express

Для подключения видеоплаты к северному мосту используется 32-битная шина AGP (Accelerated Graphic Port) с частотой 66 МГц или шина AGP×8, частота которой равна

66 МГц × 8 = 528 МГц.
Пропускная способность шины видеоданных AGP×8 составляет:
32 Бит × 528 МГц = 16 896 Мбит/с ≈ 16,5 Гбит/с ≈ 2 Гбайт/с.
Более высокую пропускную способность имеет шина PCI Express — ускоренная шина взаимодействия периферийных устройств.
К видеоплате с помощью аналогового разъема VGA или цифрового разъема DVI подключается монитор или проектор.

Шина PCI

Шина PCI (шина взаимодействия периферийных устройств) обеспечивает обмен информацией с контроллерами периферийных устройств (сетевая карта, встроенный модем, сетевой адаптер Wi-Fi), которые устанавливаются в слоты расширения системной платы.
    Разрядность шины PCI может составлять 32 бита или 64 бита, а частота 33 МГц или 66 МГц.
    Максимальная пропускная способность шины PCI составляет:
64 Бит × 66 МГц = 4224 Мбит/с = 528 Мбайт/с.

Шина ATA

По шине АТА к южному мосту подключаются устройства внешней памяти (жесткие диски, CD- и DVD-дисководы).
Скорость передачи данных по параллельной шине РАТA (Parallel ATA) достигает 133 Мбайт/с, а по последовательной шине SATA (Serial ATA) – 300 Мбайт/с.

Шина USB

Шина USB (Universal Serial Bus – универсальная последовательная шина) обеспечивает подключение к компьютеру одновременно нескольких периферийных устройств (принтер, сканер, цифровая камера, Web-камера, модем и др.).

Эта шина обладает пропускной способностью до  60 Мбайт/с.

Аппаратная реализация компьютера

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

 

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

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

Параллельный порт (LPT)получает и посылает данные побайтно.
К последовательному порту обычно подсоединяют медленно действующие или достаточно удалённые устройства, такие, как мышь и модем. К параллельному порту подсоединяют более «быстрые» устройства — принтер и сканер.
Клавиатура и монитор подключаются к своим специализированным портам, которые представляют собой просто разъёмы.
Сейчас широко используется универсальный USB-порт, обеспечивающий высокоскоростное   подключение различных внешних устройств

Вычисли количество адресуемых ячеек памяти, если разрядность шины адреса равна 32:N. заранее спасибо и да Срочно!

Известно, что если функция f(x) непрерывна на отрезке и на его концах принимает значения разных знаков, на этом отрезке найдется такая точка , в которой значение функции равно нулю (теорема Коши).

Следовательно, наша задача — всего лишь проверить знаки значений заданной функции в точках a и b.

Увы, но Delphi у меня нет (как и всех почти, наверно), поэтому вот.

Внимание! Если программа не работает, обновите версию!

var (p, a, b) := ReadReal3(‘Введите p, a, b:’);

var fx: real-> real := x -> ArcTan(2 ** x — Abs(p)) — Sqrt(2);

Написать программу, которая выводит на экран сумму ряда

пусть a – числитель; b – знаменатель; da и db – шаг для числителя и знаменателя; n — для смены знака; Программа:const da= -18; db= 24; var a,b,n: integer; s: real; begin s:=0; n:=1; a:=945;b:=9; while a>=27 do begin s:=s+a/b*n; a:=a+da; b:=b+db; n:= -1*n; end; writeln(‘s=’,s:4:2); end.

Power and logarithmic functions¶

math.cbrt(x)

Return the cube root of x.

New in version 3.11.

math.exp(x)

Return e raised to the power x, where e = 2.718281… is the base
of natural logarithms. This is usually more accurate than
or .

math.exp2(x)

Return 2 raised to the power x.

New in version 3.11.

math.expm1(x)

Return e raised to the power x, minus 1. Here e is the base of natural
logarithms. For small floats x, the subtraction in
can result in a significant loss of precision; the
function provides a way to compute this quantity to full precision:

>>> from math import exp, expm1
>>> exp(1e-5) - 1  # gives result accurate to 11 places
1.0000050000069649e-05
>>> expm1(1e-5)    # result accurate to full precision
1.0000050000166668e-05

New in version 3.2.

math.log(x, base)

With one argument, return the natural logarithm of x (to base e).

With two arguments, return the logarithm of x to the given base,
calculated as .

math.log1p(x)

Return the natural logarithm of 1+x (base e). The
result is calculated in a way which is accurate for x near zero.

math.log2(x)

Return the base-2 logarithm of x. This is usually more accurate than
.

New in version 3.3.

See also

returns the number of bits necessary to represent
an integer in binary, excluding the sign and leading zeros.

math.log10(x)

Return the base-10 logarithm of x. This is usually more accurate
than .

math.pow(x, y)

Return raised to the power . Exceptional cases follow
the IEEE 754 standard as far as possible. In particular,
and always return , even
when is a zero or a NaN. If both and are finite,
is negative, and is not an integer then
is undefined, and raises .

Unlike the built-in operator, converts both
its arguments to type . Use or the built-in
function for computing exact integer powers.

Changed in version 3.11: The special cases and were
changed to return instead of raising ,
for consistency with IEEE 754.

Проблема 4

В соответствии с философией проектирования процессоров RISC, заключающейся в перемещении аппаратной функциональности в программное обеспечение, вы видите предложение о том, чтобы разработчики процессоров удаляли MMU (блок управления памятью) из аппаратного обеспечения. Чтобы заменить MMU, компиляторы генерируют так называемый позиционно-независимый код (PIC).PIC может быть загружен и запущен по любому адресу без выполнения какого-либо перемещения. Если предположить, что код PIC работает так же быстро, как код без PIC, в чем будет недостаток этой схемы по сравнению со страничным MMU, используемым в современных микропроцессорах?

Решение: Нужно решение.

5 ответов 5

Для адресации n байтов требуется log2(n) бит. Например, вы можете хранить 256 различных значений в 8-битном числе, поэтому 8 битов могут адресовать 256 байтов. 2 · 10 = 1024, поэтому вам нужно 10 бит для адресации каждого байта в килобайте. Точно так же вам нужно 20 бит для адресации каждого байта в мегабайте и 30 бит для адресации каждого байта в гигабайте. 2 32 = 4294967296 — количество байтов в 4 гигабайтах, поэтому вам нужен 32-битный адрес для 4 ГБ памяти.

Логарифм обратен возведению в степень. log2(2^X) == X . Следовательно, log2(512) == log2(2^9) == 9. Кроме того, большинство калькуляторов предоставляют log10, но вы можете преобразовать log10 в log2, разделив на log10(2). Например, Google Calculator: log(512*1024*1024) / log(2)

Существующие ответы объясняют, что формула для адресации оперативной памяти: 2^BITS = адресуемая оперативная память, но не объясняют, почему.

Рассмотрите систему с 2 битами. Он может адресовать 4 байта оперативной памяти следующим образом:

Байт 0: 00 Байт 1: 01 Байт 2: 10 Байт 3: 11

Для каждого дополнительного бита мы можем адресовать в два раза больше памяти. Например, добавьте 0 бит к каждому для байтов 0-3, затем добавьте 1 бит для байтов 4-7. Мы обращаемся к байту X, используя расположение битов, соответствующее X в двоичном формате.

Вам нужен журнал (по основанию 2) из ​​N байтов, чтобы напрямую обращаться к N байтам ОЗУ.

Таким образом, 32-битный адрес позволяет напрямую ссылаться на 2^32 байта (4 ГБ). 64-битный адрес позволяет напрямую ссылаться на 2^64 байта (16 эксабайт).

Ответа нет.

Для современных систем программное обеспечение использует виртуальную память, а виртуальная память не имеет ничего общего с физической памятью. Например, у вас может быть 512 МиБ ОЗУ, 1,5 ГиБ пространства подкачки и 2 ГиБ файлов с отображением памяти.

Для большинства систем с объемом оперативной памяти около 512 МБ; обычно вам нужны/ожидаются 32-битные адреса и 32-битный указатель инструкций (и иметь 4 ГБ виртуального адресного пространства на процесс, включая пространство, зарезервированное ядром).

Обратите внимание, что «объем оперативной памяти» также не имеет ничего общего с фактическим размером физического адреса или минимальным размером физического адреса. Компьютеру с 512 МБ ОЗУ, 4 МБ ПЗУ и 512 МБ подключенных к памяти устройств (видеокарты и т

д.) может потребоваться как минимум 2 ГБ физического адресного пространства (и на самом деле может быть 4 ГБ физического адресного пространства).

  • Как сделать телевизор из компьютера без интернета

      

  • Skype не работает на iPhone

      

  • Следует ли выключать компьютер во время грозы

      

  • Удобно ли печатать на планшете

      

  • Что входит в стоимость покупки ноутбука
Понравилась статья? Поделиться с друзьями:
Автоэксперт
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: