Способы представления данных памяти

Представление данных в памяти компьютера

Вы будете перенаправлены на Автор24

Логическое и физическое представление данных

Работая с СУБД пользователь имеет дело с логическим представлением данных и может вообще не знать о том, как физически организовано представление данных в памяти ЭВМ. Однако, от способа физического размещения данных во многом зависит эффективность работы приложений, использующих базы данных.

Физическая организация данных зависит от типа используемой ЭВМ и конкретной СУБД. Разные СУБД используют разные методы размещения данных в памяти и средства доступа к ним. Поэтому при выборе СУБД на этапе проектирования важно знать и понимать особенности физического способа хранения данных. Главным критерием выбора является эффективность доступа к данным.

Если основными понятиями логической модели данных являются логическое поле, логическая запись и логический файл, то для физической модели есть аналогичные основные понятия — физическое поле, физическая запись, физический файл.

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

Схема работы процессора с памятью

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

Основные свойства оперативной памяти:

  • Минимальная адресуемая единица информации – 1 байт.
  • Каждый байт имеет свой уникальный адрес, то есть память прямоадресуема.
  • Для выбора данных процессор обращается непосредственно к последовательности байтов, содержащей нужные данные.

Готовые работы на аналогичную тему

Основные свойства внешней памяти:

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

Взаимодействие видов памяти

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

Читайте также:  Арифметический способ решения задачи это как

Проблема может возникнуть в ситуации, когда нужно хранить большой фрагмент текста, длина которого у разных записей может варьировать. В этом случае текст размещается во внешней памяти, а поле хранит ссылку на эту область памяти. Именно так организовано поле типа МЕМО в некоторых СУБД.

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

Другим способом минимизации числа обращений является использование физических записей фиксированной длины, которые не зависят от длины логических записей. Такие физические записи называются страницами. Если оказывается, что в страницу укладывается нецелое количество логических записей, то последняя неполная запись отбрасывается, и страница остается заполнена не до конца. Именно такой метод используется в MS SQL SERVER.

Источник

Способы представления данных памяти

Электронные облака

Лекции

Рабочие материалы

Тесты по темам

Template tips

Задачи

Логика вычислительной техники и программирования

Лекция «Представление информации в компьютере. Структура внутренней памяти.»

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

Биты и байты

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

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

Минимальной единицей информации в компьютере является бит.

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

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

Байт — восемь расположенных подряд битов памяти.

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

Читайте также:  Способы расслабления мышц спины

Двоичные числа

Так как компьютер может различить только нулевое и единичное состояние бита, то он работает системе исчисления с базой 2 или в двоичной системе. Фактически бит унаследовал свое название от английского «BInary digiT» (двоичная цифра).

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

Позиционные веса 128 64 32 16 8 4 2 1
Включенные биты 1 1 1 1 1 1 1 1

Двоичное число не ограничено только восемью битами. Если процессор использует 16-битовую архитектуру, он автоматически оперирует с 16-битовыми числами (2 в степени 16 минус 1 дает значение 65535), а для 32 бит — 4294967295 (2 в степени 32 минус 1) и так далее.

Двоичное сложение

Микрокомпьютер выполняет арифметические действия только в двоичном формате.

0 + 0 = 0
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11

Обратите внимание на перенос единичного бита в последних двух операциях. Теперь, давайте сложим 01000001 и 00101010.(число 65 и число 42):

Двоичные Десятичные
01000001 65
00101010 42
01101011 107

Проверьте, что двоичная сумма 01101011 действительно равна 107. Рассмотрим другой пример:

Двоичные Десятичные
00111100 60
00110101 53
01110001 113

Представление целых чисел

Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера ячеек памяти, используемых для их хранения. В k-разрядной ячейке может храниться 2 k различных значений целых чисел.

Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:

1) перевести число N в двоичную систему счисления;
2) полученный результат дополнить слева незначащими нулями до k разрядов

Отрицательные числа

Для записи внутреннего представления целого отрицательного числа (-N) необходимо:

1) получить внутреннее представление положительного числа N;
2) получить обратный код этого числа заменой 0 на 1 и 1на 0;
3) к полученному числу прибавить 1.

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

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

Для представления отрицательного двоичного числа необходимо инвертировать все биты и прибавить 1. Рассмотрим пример:

Число 65 01000001
Инверсия 10111110
Плюс 1 10111111 (равно -65)

Сумма +65 и -65 должна составить ноль:

01000001 (+65)
10111111 (-65)
(1)00000000 0

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

Читайте также:  Способы для привлечения пожертвований

Двоичное вычитание выполняется просто: инвертируется знак вычитаемого и складываются два числа. Вычтем, например, 42 из 65. Двоичное представление для 42 есть 00101010, и его двоичное дополнение: — 11010110:

65 01000001
+(-42) 11010110
23 (i)00010111

Результат 23 является корректным. В рассмотренном примере произошел перенос в знаковый разряд и из разрядной сетки.

Если справедливость двоичного дополнения не сразу понятна, рассмотрим следующие задачи: Какое значение необходимо прибавить к двоичному числу 00000001, чтобы получить число 00000000? В терминах десятичного исчисления ответом будет -1. Для двоичного рассмотрим 11111111:

00000001
11111111
Результат (1)00000000

Игнорируя перенос (1), можно видеть, что двоичное число 11111111 эквивалентно десятичному -1 и соответственно:

0 00000000
-(+1) -00000001
-1 11111111

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

+3 00000011
+2 00000010
+1 00000001
0 00000000
-1 11111111
-2 11111110
-3 11111101

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

Шестнадцатеричное представление

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

Двоичное 0101 1001 001 0101 1011 1001 110 1110
Десятичное 5 9 3 5 11 9 12 14

Так как здесь для некоторых чисел требуется две цифры, расширим систему счисления так, чтобы 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. Таким образом, получим более сокращенную форму, которая представляет содержимое вышеуказанных байт:

59 35 B9 CE

Такая система счисления включает «цифры» от 0 до F, и так как таких цифр 16, она называется шестнадцатеричным представлением.

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

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

Следует помнить, что после шестнадцатеричного числа F следует шестнадцатеричное 10, что равно десятичному числу 16.

Заметьте также, что шестнадцатеричное 20 эквивалентно десятичному 32, шест. 100 -десятичному 256.

Машинное слово

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

Источник

Оцените статью
Разные способы