Укажите диапазон целочисленных значений, если для их хранения используется 8-битная ячейка памяти

Обновлено: 04.07.2024

Сколько данных хранится в одной ячейке памяти компьютера?

Какова основная единица хранения памяти в компьютере?

Например, чтобы сохранить целое число, какие потребуются адреса памяти? Если основной единицей является БАЙТ, для целого числа требуется 4 байта. Итак, если мне нужно сохранить байт, то, если я начну вводить 1-й байт в ячейку памяти 0001, тогда мое целое число закончится в ячейке памяти 0003?

Пожалуйста, поправьте меня, если я ошибаюсь?

3 ответа 3

Как правило, современные системы являются так называемыми "байтовыми". Это означает:

  1. В одной ячейке памяти хранится 1 байт (8 бит).
  2. Базовая единица хранения памяти — 1 байт.
  3. Если вам нужно сохранить 4 байта и поместить первый байт на 0001, последний байт будет на 0004. Это по одному байту на каждый из 0001, 0002, 0003 и 0004.

Имейте в виду, что несмотря на то, что системы имеют разные размеры слова ЦП (32-разрядная система имеет 32-разрядное или 4-байтовое слово), память обычно адресуется побайтно. Регистры ЦП, используемые в арифметике, имеют размер 4 байта, но «память», которую программисты используют для хранения данных, адресуется в байтах.

В системах x86 многие инструкции доступа к памяти требуют, чтобы значения в памяти были "выровнены" по адресам, кратным размеру слова. например 0x. 0, 0х. 4, 0х. 8, 0х. C. Таким образом, сохранение int в 0001 не произойдет в большинстве систем. Нечисловые типы данных обычно можно найти по любому адресу.

Сколько данных хранится в одной ячейке памяти компьютера?

Это зависит от компьютера. Ячейка памяти – это часть памяти, к которой ЦП может обращаться напрямую.

Какова основная единица памяти компьютера?

Это бит, а затем байт, но разные ЦП удобнее адресовать память в словах определенных размеров.

Например, для хранения целого числа, какие потребуются адреса памяти? Если основной единицей измерения является BYTE, для целого числа требуется 4 байта.

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

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

Речь идет не о количестве данных или размере целых чисел, а о количестве адресов памяти, которые может использовать компьютер.

Есть адреса 4 ГиБ (для байтов) в 32 битах. Для управления кластером компьютеров с более чем 4 ГБ ОЗУ каждая система должна управлять большими адресами.

Опять же, все дело в адресуемом пространстве памяти, а не в размере целых чисел. Были 64-битные целые числа, даже когда процессоры предпочитали 8-битную адресацию слов.

Сколько данных хранится в одной ячейке памяти компьютера?

Какова основная единица хранения памяти в компьютере?

Например, чтобы сохранить целое число, какие потребуются адреса памяти? Если основной единицей является БАЙТ, для целого числа требуется 4 байта. Итак, если мне нужно сохранить байт, то, если я начну вводить 1-й байт в ячейку памяти 0001, тогда мое целое число закончится в ячейке памяти 0003?

Пожалуйста, поправьте меня, если я ошибаюсь?

3 ответа 3

Как правило, современные системы являются так называемыми "байтовыми". Это означает:

  1. В одной ячейке памяти хранится 1 байт (8 бит).
  2. Базовая единица хранения памяти — 1 байт.
  3. Если вам нужно сохранить 4 байта и поместить первый байт на 0001, последний байт будет на 0004. Это по одному байту на каждый из 0001, 0002, 0003 и 0004.

Имейте в виду, что несмотря на то, что системы имеют разные размеры слова ЦП (32-разрядная система имеет 32-разрядное или 4-байтовое слово), память обычно адресуется побайтно. Регистры ЦП, используемые в арифметике, имеют размер 4 байта, но «память», которую программисты используют для хранения данных, адресуется в байтах.

В системах x86 многие инструкции доступа к памяти требуют, чтобы значения в памяти были "выровнены" по адресам, кратным размеру слова. например 0x. 0, 0х. 4, 0х. 8, 0х. C. Таким образом, сохранение int в 0001 не произойдет в большинстве систем. Нечисловые типы данных обычно можно найти по любому адресу.

Сколько данных хранится в одной ячейке памяти компьютера?

Это зависит от компьютера. Ячейка памяти – это часть памяти, к которой ЦП может обращаться напрямую.

Какова основная единица памяти компьютера?

Это бит, а затем байт, но разные ЦП удобнее адресовать память в словах определенных размеров.

Например, для хранения целого числа, какие потребуются адреса памяти? Если основной единицей измерения является BYTE, для целого числа требуется 4 байта.

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

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

Речь идет не о количестве данных или размере целых чисел, а о количестве адресов памяти, которые может использовать компьютер.

Есть адреса 4 ГиБ (для байтов) в 32 битах. Для управления кластером компьютеров с более чем 4 ГБ ОЗУ каждая система должна управлять большими адресами.

Опять же, все дело в адресуемом пространстве памяти, а не в размере целых чисел. Были 64-битные целые числа, даже когда процессоры предпочитали 8-битную адресацию слов.

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

Типы данных бывают двух видов: основные и определяемые пользователем. Фундаментальные (или примитивные) типы данных являются встроенными функциями языка программирования. C++ имеет четыре основных типа данных, которые, что неудивительно, соответствуют наиболее часто используемым аспектам решения задач человеком: числам и буквам.

Фундаментальные типы данных C++ < TR align=left> < TR align=left>
тип описание пример
char Символ, обычно соответствующий нажатию клавиши. a, e, I, $, 6, =
int Целое число — это число, выраженное без десятичной точки. 3, -56, +23
float Вещественное число — это число, выраженное десятичной дробью. 3,14, 2,187, -5,39
double Вещественное число похоже на число с плавающей запятой, но с большей точностью. 1.23456789101112
< /p>

Чтобы сделать ситуацию более интересной, в C++ объемы памяти, выделенные для числовых переменных, и то, как эта память используется, можно изменить с помощью так называемых модификаторов типов . Мы рассмотрим три таких модификатора типа: unsigned, long и const. Есть и другие модификаторы, но они более совершенны, чем нам нужно сейчас.

Модификатор без знака

Часть информации, хранящейся о числовых данных, представляет собой их знак, то есть + или -. Эта информация хранится в так называемом бите знака — для хранения знака требуется только один бит. В некоторых случаях программист может знать, что число никогда не бывает отрицательным. Если это произойдет, бит знака станет излишним, и этот бит можно будет использовать для того, чтобы втиснуть больше данных в ячейку памяти. Например, целому числу обычно выделяется 2 байта памяти. Диапазон возможных значений для целого числа составляет от -32768 до 32767. Если мы не используем бит знака, диапазон возможных значений составляет: от 0 до 65535. Когда мы используем модификатор unsigned, мы изменяем способ использования памяти. .

Длинный модификатор

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

В C++ каждой переменной должен быть присвоен тип; для этого используется термин "объявление типа". Мы объявляем компилятору, что он должен выделить и использовать память в соответствии с типом переменной.

Возможные комбинации основных числовых типов и их модификаторов вместе с диапазонами возможных значений для этих измененных типов перечислены в таблице ниже. Помните, что эти значения могут варьироваться от компьютера к компьютеру, но вы можете получить представление об их размерах, изучив таблицу. Типы float и double выражаются в экспоненциальной записи. В следующей таблице Е (или е) представляет степень числа 10; например, 3,4E+38 означает (3,4 умножить на 10, возведенное в 38-ю степень).

Таблица 1. Беззнаковые и длинные модификаторы Модификатор + тип Наименьшее число Наибольшее число int -32768 32767 целое без знака 0 65535 long int -2147483648 2147483547 unsigned long int 0 4294967295 float 3.4E-38 3.4E+38 двойной 1.7E- 308 1.7E+308 long double 3.4E-4932 3.4 E+4932

УПРАЖНЕНИЯ

<р>1. Хотя для программирования на C++ можно использовать разные типы и модификаторы, может оказаться сюрпризом узнать, что фактическое количество байтов, выделенных для этих разных типов, варьируется от компьютера к компьютеру. Чтобы узнать, сколько памяти использует каждый из типов на вашем компьютере, можно использовать оператор C++ "sizeof". Введите приведенную ниже программу на своем компьютере и запустите ее, чтобы выяснить характеристики вашей машины. Заполните таблицу ниже.

Таблица 1: Распределение байтов Тип данных Количество байтов Тип данных Количество байтов< /TH> unsigned char unsigned long int char long int unsigned short int float unsigned int double int long double < /p>

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

В каждом упражнении выбирайте ДЕЙСТВИТЕЛЬНЫЕ идентификаторы для каждого из значений, перечисленных на диаграмме, и решайте, какой тип данных (char, int, float, double) лучше всего подходит для отдельных данных. Вы также должны использовать модификаторы unsigned и long, когда это применимо. Обратитесь к таблице выше, чтобы увидеть, имеет ли это значение на вашей собственной машине. Обратите внимание, что модификаторы для числовых данных не применяются к символьным данным. Для данных в таблице с символьной информацией используется тип char. Не используйте модификатор const в этих упражнениях.

Пример ответа приведен (выделен жирным шрифтом) после таблицы в упражнении 2.

<р>2. Биологи, изучающие степень нагрузки на туловище животных, пришли к выводу, что типичными для животных являются следующие цифры:

Таблица 2: Размеры четвероногих (см) Четвероногие Длина Высота Горностай 12 4 Такса 35 12 Лама 122 73

// Объявления данных (пример ответа для таблицы 2)

<р>3. Скорость потребления кислорода пропорциональна площади поверхности легких для любого данного вида. В таблице 3 приведены данные о площади поверхности и скорости потребления трех распространенных видов.

Таблица 3: Уровень потребления кислорода Животное Площадь поверхности Норма потребления Крыса 0,4 2 Человек 62,0 210 Кит 1700.0 12000

<р>4. Данные в таблице ниже показывают расстояние планет от Солнца в миллионах километров и время в днях (звездный период), необходимое для одного обращения вокруг Солнца.

Таблица 4: Планетарные данные Планета Расстояние Звездный период < TD>Меркурий 57,9 88 Юпитер 778,3 < TD>4329 Плутон 5907.0 90670 < /p> <р>5. Модуль упругости при растяжении и удельный вес некоторых пластиков и металлов приведены в таблице 5.

Таблица 5: Модули упругости и удельный вес пластмасс и металлов Материал Удельный вес Модуль упругости (psi) Нержавеющая сталь 7.85 30e+06 < TD>Бумажный ламинат 1.50 2e+06 Асбестовый ламинат 1.80 1.5e+06< /TD>

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

Таблица 6: Свойства неорганических соединений Соединение Молекулярный вес Цвет Симметрия кристалла Удельный вес Нитрат свинца II 331,2 CL C< /TD> 4,53 Оксид свинца II 223,2 R T 9,36 Оксид свинца IV 239,2 B < TD>T 9,38

<р>7. Выбранные критические температуры трех соединений приведены в таблице 7.

Таблица 7: Критические температуры Вещество Градусы K Градусы C Градусы R < TH>Градусы F Гелий-4 5,1889 -267,9611 9,3400< /TD> -450,3300 Ксенон 289,733 16,583 521,519 61,849 Вода 647,14 373,99 1164,85 705.18

<р>8. Содержание отдельных элементов в земной коре, морской воде и биомассе приведено в таблице 8.

Однобитная ячейка памяти также называется базовым бистабильным элементом. Он имеет два инвертора с перекрестной связью, 2 выхода Q и Q’. Он называется «бистабильным», так как базовая схема бистабильного элемента имеет два стабильных состояния: логический 0 и логическая 1.

На следующей диаграмме показан элемент Basic Bistable:


  1. Эти два выхода всегда дополняют друг друга.
  2. Схема имеет 2 устойчивых состояния. когда Q=1, это состояние Set. когда Q=0, это состояние сброса.
  3. Схема может хранить 1 бит цифровой информации, поэтому она называется однобитной ячейкой памяти.
  4. Однобитная информация, хранящаяся в цепи, блокируется или фиксируется в цепи. Эта схема также называется защелкой.

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

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

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

Ссылка:
ЦИФРОВАЯ ЭЛЕКТРОНИКА — Атул П. Годзе, миссис Дипали А. Годзе
IEEE XPLORE, Цифровая библиотека — однобитная энергонезависимая ячейка памяти с использованием мемристора и передающих вентилей.

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