Текст занимает 40 бит в памяти, определяя его информационный размер в байтах

Обновлено: 03.07.2024

Проблема 2

  1. Сколько страниц находится в виртуальном адресном пространстве?
  2. Каков максимальный размер адресуемой физической памяти в этой системе?
  3. Если средний размер процесса составляет 8 ГБ, вы бы использовали одноуровневую, двухуровневую или трехуровневую таблицу страниц? Почему?
  4. Вычислите средний размер таблицы страниц в ответе на вопрос 3 выше.

    36-битный адрес может адресовать 2 ^ 36 байтов в машине с байтовой адресацией. Поскольку размер страницы составляет 8 КБ (2^13), количество адресуемых страниц равно 2^36 / >2^13 = 2^23

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

Пейджинг 1 уровня
Поскольку у нас есть 2^23 страницы в каждом виртуальном адресном пространстве, и мы используем 4 байта на запись в таблице страниц, размер таблицы страниц будет 2^23 * 2^2 = 2 ^ 25. Это 1/256 собственного пространства памяти процесса, так что это довольно дорого. (32 МБ)

Пейджинг 2 уровня
Адрес будет разделен на 12 | 11 | 13, так как мы хотим, чтобы страницы таблицы страниц умещались на одной странице, и мы также хотим разделить биты примерно поровну.

Поскольку размер процесса составляет 8 ГБ = 2^33 Б, я предполагаю, что это означает, что общий размер всех отдельных страниц, к которым обращается процесс, составляет 2^33 Б. Следовательно, этот процесс обращается к 2^33 / 2^13 = 2^20 страниц. Нижний уровень таблицы страниц содержит 2^20 ссылок. Мы знаем, что размер каждого фрагмента нижнего уровня таблицы страниц составляет 2 ^ 11 записей. Таким образом, нам нужно 2^20 / 2^11 = 2^9 фрагментов нижнего уровня.

Тогда общий размер таблицы страниц равен:

//размер внешней таблицы страниц //общий размер внутренних страниц< /td>
1 * 2^12 * 4 + 2^9 * 2^11 * 4 = 2^20 * ( 2^-6 + 4) ~4 МБ

3 уровня пейджинга
Для 3 уровня пейджинга мы можем разделить адрес следующим образом:
8 | 8 | 7 | 13

Опять же, используя те же рассуждения, что и выше, нам нужно 2 ^ 20/2 ^ 7 = 2 ^ 13 фрагментов таблицы страниц уровня 3. Каждый фрагмент таблицы страниц уровня 2 ссылается на 2^8 фрагментов таблицы страниц уровня 3. Итак, нам нужно 2^13/2^8 = 2^5 таблиц уровня 2. И, конечно же, одна таблица уровня 1.

Общий размер таблицы страниц равен:

//размер внешней таблицы страниц //общий размер таблиц уровня 2 //общий размер самых внутренних таблиц
1 * 2^8 * 4 2^5 * 2^8 *4 2^13 * 2^7 * 4 ~4MB
Как легко заметить, двухуровневая и трехуровневая подкачка требуют гораздо меньше места, чем подкачка уровня 1. схема. И поскольку наше адресное пространство недостаточно велико, 3-уровневая подкачка работает не лучше, чем 2-уровневая подкачка. Из-за стоимости доступа к памяти гораздо логичнее выбрать двухуровневую схему подкачки для этого процесса.

Проблема 3

  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) байт.

Проблема 4

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

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

Проблема 5

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

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

Проблема 6

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

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

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

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

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

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


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

Один мегабайт может содержать около 500 страниц текста, что сопоставимо с одним толстым книга.

Один мегабайт может содержать около 500 страниц текста, что сопоставимо с одной толстой книгой.

Двоичные файлы и биты

Большинство современных компьютеров представляют собой двоичные системы и работают с битами данных. Бит — это самая основная единица информации, которая может иметь два состояния: обычно указывается как 0 или 1. Длинные строки этих битов могут представлять большинство типов информации, включая текст, изображения и музыку. Однако чистая двоичная информация бесполезна для людей, которые не научились читать и писать в двоичном формате. Двоичное число 11000101110, например, эквивалентно 1582.

Планшетный компьютер может иметь гигабайты памяти, способные хранить тысячи книги». /><br /></p>
<p>Планшетный компьютер может иметь гигабайты памяти, способные хранить тысячи книг.</p>
<h4>Группировка битов в байты</h4>
<p>Чтобы сделать данные более доступными и упрощенными, группы битов объединяются в байты. один байт состоит из 8 бит. Набор из 8 битов был выбран потому, что он обеспечивает 256 возможных вариантов, что достаточно для указания букв, цифр, пробелов, знаков препинания и других расширенных символов.Само это предложение, например, состоит из 125 байтов, потому что в нем 125 букв, цифр, пробелов и знаков препинания. Имейте в виду, что это представляет собой только чистый текст; некоторые текстовые редакторы включают в себя другие типы данных форматирования, поэтому размер файла становится больше, чем просто количество символов в файле.</p>
<p><img class=

Большинство компакт-дисков содержат около 750 мегабайт данных.

Количество текста

Килобайт — это 1 024 байта, часто для простоты округляемых до 1 000; в то время как мегабайт составляет 1 048 576 байтов, или около 1 миллиона. Подсчитано, что килобайт может вместить около половины машинописной страницы. Поэтому для одной полной страницы требуется около 2 КБ. На следующей диаграмме показано количество байтов в общепринятых терминах, таких как килобайты и мегабайты, а также объем текста, который может храниться в каждом из них.

< td>Мегабайт (МБ)
Имя Количество байтов Количество текста
Килобайт (КБ) 2 10 или 1024 1/2 страницы
2 20 или 1 048 576 500 страниц или 1 толстая книга
Гигабайт (ГБ) 2 30 или 1 073 741 824 500 000 страниц или 1000 толстых книг
Терабайт (ТБ) 2 40 или 1 099 511 627 776 1 миллион толстых книг
Петабайт 2 50 или 1 125 899 906 842 624 180 библиотек Конгресса< /td>
Exabyte 2 60 или 1 152 921 504 606 846 976 180 тысяч библиотек Конгресса
Zettabyte 2 70 или 1 180 591 620 717 411 303 424 180 миллионов библиотек Конгресса
Yottabyte 2 80 или 1 208 925 819 614 629 174 706 176 180 миллиардов библиотек Конгресса

Библиотека Конгресса

Библиотека Конгресса в Вашингтоне, округ Колумбия, считается крупнейшей в мире библиотекой с более чем 28 миллионами томов. Цифры, указанные в приведенной выше таблице, основаны на предположении, что средняя книга состоит из 200 страниц. Это означает, что для хранения цифровой резервной копии всей Библиотеки Конгресса потребуется около 28 ТБ дискового пространства.

Портативное хранилище мультимедиа

Большинство компакт-дисков (CD) содержат около 750 МБ, что примерно эквивалентно 375 000 страниц текста. Цифровые универсальные диски (DVD) могут хранить 4,7 ГБ или 2,3 миллиона страниц. Диски Blu-Ray могут содержать 27 ГБ или 13,5 миллионов страниц, что примерно эквивалентно тексту, содержащемуся в 67 500 книгах. Такие устройства, как электронные книги и планшетные компьютеры, часто имеют многогигабайтную память, что делает их идеальными для хранения тысяч книг.

Гигабайт может содержать информацию, эквивалентную примерно 1000 толстым книгам.

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

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

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

Программные пакеты, которые потребляют слишком много памяти и места на диске для выполнения своих функций, иногда называют "раздутыми программами", и аналогичную эстетику можно применить к медиафайлам. Например, размещение расшифровок на веб-сайте может помочь людям быстрее находить нужную им информацию, чем только аудио- или видеоинтервью. Точно так же вы можете подумать, будет ли людям, в том числе с нарушениями зрения, проще прочитать дату и время события из текстового сообщения электронной почты или открыть большой PDF-файл или файл изображения плаката. (Кстати, термин Microsoft «документ» для файлов так и не прижился. В данном контексте эти два слова являются синонимами.)

Итак, насколько большим является слишком большой? Очевидно, это зависит от контекста. Если вы подписываете отчет, который предназначен для печати, то вполне разумно отправить по электронной почте вложение в формате PDF размером 10 МБ нескольким людям с просьбой дать окончательные комментарии.Что было бы неразумно, так это отправить готовый 10-мегабайтный файл по электронной почте вашему списку из 2000 сторонников. Вместо этого вы можете создать версию PDF с более низким разрешением или даже текстовую версию, разместить ее на своем веб-сайте и отправить по электронной почте ссылку на файл, возможно, с небольшим указанием размера файла (например, «[1,2 МБ PDF] ") рядом со ссылкой для скачивания.

Зачем беспокоиться о размере файла, если человеку с высокоскоростным широкополосным доступом в Интернет требуется всего 15 секунд, чтобы загрузить файл размером 10 МБ?

Несмотря на то, что у некоторых людей загрузка может занять 15 секунд (например, широкополосный доступ GreenNet ADSL2+ со скоростью "до" 12 Мбит/с), 10 % домашних интернет-соединений в Великобритании по состоянию на 2009 год по-прежнему осуществляются с коммутируемым доступом, во многих других странах этот показатель выше. . Загрузка 10 МБ по телефонной линии может занять около часа. При более старых широкополосных соединениях или в сельской местности скорость загрузки может составлять 512 кбит/с, а передача по-прежнему занимает несколько минут. Даже при самом быстром широкополосном доступе скорость загрузки часто ограничена 256 кбит/с, поэтому, если вы ожидаете повторной передачи файла размером 10 МБ, это, скорее всего, будет медленнее, чем ожидалось.

Большой файл сам по себе не представляет проблемы, но если его умножить на размер аудитории, это может привести к проблемам с пропускной способностью, которые повлияют на интернет-провайдеров и других пользователей. Передача также потребляет большее количество энергии, что может привести к необходимости модернизации аппаратной части (до 80% энергии за время жизни компьютерной техники «воплощается», то есть при ее изготовлении). GreenNet не ограничивает пропускную способность, но подчиняется политике «добросовестного использования».

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

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

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

Что на самом деле означает каждая единица памяти компьютера?

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

  • 1 Б = 1 байт;
  • 1 КБ = 1000 байт;
  • 1 МБ = 1000 КБ;
  • 1 ГБ = 1000 МБ или 1 000 000 000 байт.

(Чтобы запутать ситуацию, «1 КБ» или «1 КБ» используются многими компьютерщиками для обозначения 1024 байтов, что является удобным числом в двоичном формате, а память или диск часто выделяются операционными системами в единицах 1024. Чтобы избежать этой путаницы со стандартным научным использованием «мега-» и т. д., термины «кибибайт» (КиБ), «мебибайт» (МиБ), «гибибайт» (ГиБ) и «тебибайт» теперь рекомендуются для этих не- десятичных технических единиц. Если вы купили флэш-накопитель на 4 ГБ, а его объем составляет всего 3,725 ГиБ, вы все равно можете почувствовать себя обделенным. Для простоты в этой статье мы будем использовать круглые тысячи и килобайты [кБ].)

Как посмотреть размеры файлов?

Размер файла или вложения обычно легко доступен, если он еще не заметен. В Windows щелчок правой кнопкой мыши на любом файле, папке или диске и выбор «Свойства» покажет размер. В окне Проводника вы можете выбрать «Подробности» в меню «Вид»; или в диалоговом окне открытия или сохранения файла есть кнопка «Просмотр», из которой вы также можете выбрать «Подробности». Если вы затем нажмете слово «Размер» в верхней части столбца, вы можете сгруппировать самые большие файлы в папке. В Mac OS X можно нажать Command+i, чтобы отобразить сведения об отдельном файле, или Command+Option+i, чтобы отобразить сведения обо всех выбранных элементах в окне Инспектора. Эквивалент представления «Подробности» для Mac — это представление «Список», а сочетание клавиш Command+J дает возможность «рассчитать все размеры» как папок, так и файлов.

Большинство почтовых программ, таких как Windows Mail или Thunderbird, всегда отображают размер вложений рядом с именем файла. В Thunderbird (и многих других программах) вы можете нажать кнопку столбцов в правом верхнем углу списка, чтобы добавить столбец, показывающий размер каждого элемента. FTP-программы, используемые для передачи файлов на веб-сайты, почти все показывают размер файлов по умолчанию, хотя обычно в байтах, поэтому вам нужно разбить эти большие числа на глаз на группы из трех цифр, чтобы увидеть, какие из них измеряются в B или kB, а который в МБ.

Таблица приблизительных размеров файлов

Трехминутный звук в формате MP3 с очень высоким битрейтом (256 кбит/с);
1 минута видео в низком разрешении или потокового видео с сайта обмена видео;
все опубликованные файлы кабельного шлюза Wikileaks к середине декабря 2010 г.;
20-страничный PDF-файл, который может включать неудачно выбранную обложку;
полное собрание сочинений Шекспира (без сжатия)

Изображения

Как вы уже поняли, одним из основных факторов, определяющих громоздкость файла, является качество или разрешение изображений. Изображение с разрешением 300 dpi (точек или пикселей на дюйм), добавленное в текстовый процессор или файл PDF, занимает примерно в четыре раза больше места, чем изображение с разрешением 150 dpi (поскольку разрешение применяется как по горизонтали, так и по вертикали). Теперь, если вам нужно поделиться изображением с кем-то в Интернете, либо на веб-сайте, либо по электронной почте, и вы не ожидаете, что он распечатает его, а также не ожидаете идеальной копии или увеличения для изучения мельчайших деталей, тогда это будет только быть показаны на экране. Так что стоит немного узнать о разрешениях экрана. Типичный плоский экран имеет ширину 1280 пикселей. Тем не менее, некоторые из них могут иметь меньшее или более низкое разрешение, и с учетом навигационных панелей и полей по бокам экрана, а также того, что веб-браузер посетителя может не занимать весь экран, вероятно, нет особого смысла в загрузке изображения, которое шире 800 пикселей. Все, что больше, и зритель может видеть только верхний левый угол изображения и должен прокручивать, чтобы увидеть остальное.

Отсканированные или цифровые фотографии могут быть в 20 раз больше, но при этом не казаться более четкими для получателя. Поэтому, если у вас есть такое изображение, вам нужно будет изменить его размер или уменьшить перед загрузкой или публикацией. Распространенной ошибкой при создании веб-страницы является попытка изменить размер изображения на странице путем изменения свойств элемента изображения. Некоторые системы управления контентом, такие как Drupal, могут включать в себя модуль изображения, который автоматически создает масштабированную копию изображения указанного вами размера, но если вы редактируете страницы в веб-программах, таких как Dreamweaver или KompoZer, шансы вы вынуждаете каждого посетителя веб-сайта загружать слишком много информации, а затем заставляете их компьютер работать очень усердно, выполняя уменьшение масштаба. Поэтому лучше стараться, чтобы фотоизображения, даже баннеры, не превышали 800 пикселей в поперечнике и, возможно, не превышали 50 КБ. Любое программное обеспечение для редактирования изображений, такое как GIMP с открытым исходным кодом, позволяет легко создавать файлы меньшего размера. Просто откройте большой файл, выберите функцию "размер изображения" или "масштабирование изображения", выберите нужную ширину, помня, что 800 пикселей часто соответствует полной ширине, и сохраните файл в подходящем формате.

Еще одна вещь, которую следует учитывать при работе с изображениями, – это различные преимущества различных видов сжатия и форматов файлов. Как упоминалось выше, файлы JPEG (также называемые файлами .jpg, потому что Windows когда-то была ограничена 3-символьными расширениями) чаще всего используются для фотографии, а формат JPEG используется почти во всех цифровых камерах. Они сохраняют полный диапазон цветов, но теряют определенное количество мелких деталей; существует баланс между размером файла и допустимым количеством искажений. Высокосжатый JPEG может иметь эффект интерференции Фурье, но большинство людей этого не заметят. В основном вам понадобится качество JPEG среднего уровня около 50 (из 100). Другими основными форматами, используемыми в Интернете, являются PNG или более старый GIF, и это форматы «без потерь», которые не подходят для фотографий или полноцветных сканирований произведений искусства. Однако для таких изображений, как штриховые рисунки или логотипы, которые были созданы на компьютере, выбор PNG позволяет очень эффективно сжимать области плоского цвета и сохранять четкие края дизайна, которые потеряет JPEG. PNG также имеет тенденцию использоваться для небольших изображений, поскольку для больших изображений гораздо важнее уменьшение размера за счет использования JPEG. Следующие изображения иллюстрируют, почему JPG не используется для небольших файлов с небольшим количеством цветов:

Воспоминания содержат один или несколько битов информации:

Содержимое памяти остается неизменным до тех пор, пока не будет перезаписано новым битовым шаблоном. Для некоторых воспоминаний содержимое «теряется» при отключении питания памяти.

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

Зарегистрировать память

Регистры — это память, расположенная в центральном процессоре (ЦП). Их мало (редко бывает больше 64 регистров), а также небольшой размер, обычно регистр имеет размер менее 64 бит.

Однако содержимое регистра можно «прочитать» или «записать» очень быстро, часто на порядок быстрее, чем в основной памяти, и на несколько порядков быстрее, чем в дисковой памяти.

Различные типы регистров встречаются в ЦП. Регистры общего назначения доступны для общего использования программистом.Если из контекста не следует иное, мы будем использовать термин «Регистр» для обозначения регистра общего назначения внутри ЦП. Большинство современных процессоров имеют от 16 до 64 регистров общего назначения. Регистры специального назначения имеют особое назначение и либо не программируются, либо являются внутренними для ЦП, либо доступ к ним осуществляется программистом с помощью специальных инструкций.

Примеры таких регистров включают:

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

В отличие от основной памяти и дисковой памяти, регистры «адресуются» напрямую с помощью специальных инструкций или путем кодирования номера регистра в компьютерной инструкции. На уровне языка программирования (ассемблера) ЦП регистры обычно обозначаются специальными идентификаторами (например, R0, R1, R7, SP, PC)

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

Основная память (ОЗУ)

Если бы мы суммировали все биты всех регистров ЦП, общий объем памяти, вероятно, не превышал бы 5000 бит. Большинство вычислительных задач, выполняемых компьютером, требуют гораздо больше памяти. Основная память — это следующая по скорости память в компьютере, и она намного больше по размеру.

< tr>

Архитектуры компьютеров также накладывают архитектурные ограничения на максимально допустимый объем оперативной памяти. Это ограничение обычно равно двум ячейкам памяти WordSize

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

Хотя это и медленнее, чем регистровая память, содержимое любого места в ОЗУ все же можно «прочитать» или «записать» очень быстро. Время чтения или записи называется временем доступа и одинаково для всех ячеек ОЗУ.

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

Места в ОЗУ идентифицируются схемой адресации, например. нумерация байтов в оперативной памяти от 0 и далее. Содержимое ОЗУ теряется при отключении питания.

Дисковая память 9 ). Диски работают намного медленнее, чем регистровая и основная память, время доступа к данным на диске обычно составляет от 5 до 15 миллисекунд (5 × 10 -3 с), хотя диски обычно могут передавать сотни или тысячи байтов за один раз.

Диски могут быть размещены внутри «коробки» компьютера или снаружи. Существует также много видов дисковых устройств, например: магнитные жесткие диски, дискеты (V. Slow), магнитооптические компакт-диски/диски, DVD.

Места на диске определяются специальными схемами адресации диска (например, номерами дорожек и секторов).

Сводка характеристик

Организация основной памяти

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

Для 96-битной памяти мы можем организовать память как 12 × 8 бит, или 8 × 12 бит, или 6 × 16 бит, или даже как 96 × 1 бит или 1 × 96 бит. Каждая строка также имеет адрес натурального числа, который используется для выбора строки:

Байтовая адресация

Основная память обычно хранит и вызывает строки, которые имеют длину в несколько байтов (например, 16-битное слово = 2 байта, 32-битное слово = 4 байта). Однако большинство архитектур делают основную память адресуемой по байтам, а не по словам. В таких архитектурах ЦП и/или оборудование основной памяти способны читать/записывать любой отдельный байт. Вот пример основной памяти с 16-битными ячейками памяти. Обратите внимание, что ячейки памяти (строки) имеют четные адреса.

Порядок байтов

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

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

В системах с прямым порядком байтов младший значащий байт многобайтового элемента данных имеет наименьший адрес, а старший значащий байт имеет старший адрес. Примечание: N-символьное строковое значение рассматривается не как одно большое многобайтовое значение, а как N односимвольных значений, т. е. первый символ строки всегда имеет наименьший адрес, последний символ имеет наивысший адрес. Это справедливо как для прямого, так и для прямого порядка байтов.

Пример: Показать содержимое памяти по адресу слова 24, если это слово содержит число, заданное 122E 5F01H как в схемах с обратным порядком байтов, так и в схемах с прямым порядком байтов?

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

Пример: Показать содержимое основной памяти из слова с адресом 24, если эти слова содержат текст JIM SMITH.

Байты, помеченные ? неизвестны. Они могут содержать важные данные или могут быть безразличными байтами — интерпретация остается на усмотрение программиста.

К сожалению, компьютерные системы, используемые сегодня, разделены на системы с обратным порядком байтов и прямым порядком байтов. Это приводит к проблемам, когда компьютер с прямым порядком байтов хочет передать данные на компьютер с прямым порядком байтов. Некоторые современные архитектуры (например, PowerPC) позволяют программно переключать порядок следования байтов в архитектуре.

Выравнивание слов

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

Для чтения невыровненного слова из ОЗУ требуется

Написание невыровненного слова еще сложнее и МЕДЛЕННЕЕ. По этой причине некоторые архитектуры запрещают доступ к невыровненным словам. например В архитектуре 68000 нельзя обращаться к словам, начиная с нечетного адреса (например, 1, 3, 5, 7 и т. д.). Некоторые архитектуры расширяют этот принцип до доступа к нескольким словам. например в архитектуре SPARC 64-битные элементы данных должны иметь байтовый адрес, кратный 8.

Интегральные схемы (чипы) оперативной памяти

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

В первом случае основная память состоит из одной микросхемы ОЗУ. Во втором мы используем две микросхемы ОЗУ, одна дает нам старшие 4 бита, другая — младшие 4 бита. В третьем мы используем 8 чипов RAM, каждый чип дает нам 1 бит — чтобы прочитать 8-битное слово памяти, нам пришлось бы одновременно обращаться ко всем 8 чипам RAM и конкатенировать биты.

Банки памяти

Основная память обычно больше, чем размер одной микросхемы ОЗУ. Поэтому для доступа к слову памяти аппаратное обеспечение памяти должно одновременно прочитать строку из нескольких микросхем ОЗУ, а затем объединить возвращенные результаты из каждой микросхемы ОЗУ.

Микросхемы ОЗУ, из которых состоит система с основной памятью, обычно группируются в банки размером в одно слово памяти:

Пример: заданная основная память = 1M × 16 бит (с адресацией по словам),

Чипы ОЗУ = 256 КБ × 4 бита

Размер банка = число микросхем ОЗУ на слово памяти = ширина слова памяти / ширина микросхемы ОЗУ = 16/4 = 4

Для адресации микросхемы ОЗУ требуется 18 бит (поскольку 256 КБ = 2·18 = длина микросхемы ОЗУ)

Для адресной памяти размером 1M × 16 бит требуется 20 бит адреса (поскольку 1M = 2 20 ).

Поэтому для выбора банка необходимо 2 бита (20−18).

Общее количество чипов RAM = (1M × 16) / (256K × 4) = 16

Общее количество БАНКОВ = общее количество микросхем ОЗУ / размер БАНКА = 16/4 = 4

Перемежающаяся память

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

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

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

Память с чередованием может дать преимущества в производительности, если одновременно можно читать/записывать более одного банка:-

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

Это преимущество, если ЦП может обращаться к строкам в одном банке, в то время как устройство ввода/вывода (жесткий диск и т. д.) может получить доступ к другим строкам в другом банке.

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

Персональный компьютер256 МБ
Файловый сервер4 ГБ
Мейнфрейм базы данных32 ГБ