Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Назад Введение в мир программирования
Глава 2. Архитектура компьютера
Вперед

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

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

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

Во-первых, современные компьютеры (не только персональные, но и входящие в состав бытовых и промышленных электронных устройств) обычно проектируются так, что используют двоичную систему счисления как основную. Следовательно, все состояния ЭВМ такого типа можно представить в виде некоторых двоичных последовательностей, то есть наборов логических единиц и нулей (например, лампочка, горящая на передней панели корпуса ЭВМ, может соответствовать логической единице, а отсутствие сигнала на одном из выходов ЦПУ - логическому нулю). Каждая логическая единица (логический ноль) соответствует одному разряду двоичного числа, описывающего состояние того или иного электронного устройства.

Во-вторых, любое сложное электронное устройство (например, LCD телевизор, музыкальный центр, стиральная машина, видеокарта персонального компьютера или же жёсткий диск, который мы рассматривали в качестве примера в предшествующем разделе) включает в себя модули (один или несколько), являющиеся полноценными микропроцессорными системами (в них есть ЦПУ, постоянное запоминающее устройство, оперативная память и порты ввода/вывода).

Что же получается? Информация о состоянии тех или иных компонентов электронного устройства доступна в виде логических нулей и логических единиц (Почему логических? Потому, что компьютер может быть спроектирован таким образом, что напряжению от 0 до 0,4 Вольт будет соответствовать логическая единица, а напряжению от 2,4 до 5 Вольт - логический ноль.) и обрабатывается (в частности, хранится) микропроцессорными системами, входящими в его состав. При этом запоминающие устройства, предназначенные для промежуточного хранения информации о состоянии ЭВМ, в зависимости от того, функции памяти какого уровня (см. предшествующий раздел) они реализуют, работают на основе разных физических принципов.

Сверхоперативная память, например, обычно реализуется через использование групп синхронизированных триггеров (каждый из которых представляет из себя ячейку памяти), входящих в состав схемы ЦПУ. Триггер - это электронное устройство, обладающее двумя или более состояниями электрического равновесия и способное находиться в этих состояниях сколь угодно долго. Переход из одного состояния триггера в другое осуществляется под действием внешних сигналов, называемых управляющими или переключающими. К таким сигналам можно отнести подачу напряжения на вход схемы. Это напряжение принимается за логический ноль или логическую единицу (в зависимости от того, как схема спроектирована). Элементная база, используемая при разработке триггеров, включает полевые транзисторы (наиболее распространённый сегодня вариант), диоды (в диодно-транзисторных интегральных микросхемах) и резисторы (в резистивно-транзисторных интегральных микросхемах). Таким образом, работа современных устройств, реализующих функции сверхоперативной памяти, строится на использовании свойств p-n переходов, входящих в состав транзисторов, управляемых напряжением приложенным к затвору (один из выводов полевого транзистора). Иными словами, ячейка сверхоперативной памяти представляет собой группу специальным образом подключенных полевых транзисторов, которые, образуя триггер, сохраняют своё состояние (логический ноль или логическую единицу на одном из выходов) сколь угодно долго. Множество триггеров, поведение которых синхронизировано по времени, могут быть использованы для хранения больших чисел.

Жёсткие диски (внешние запоминающие устройства - ВЗУ) содержат внутри себя круглые алюминиевые, стеклянные или керамические пластины, с обоих сторон покрытые несколькими слоями специальных сплавов, верхний из которых является намагниченным (часто это сплав кобальта). Такие пластины подходят для хранения информации. Ячейка памяти на жёстком диске представляет собой область намагниченности малых размеров. Магнитный носитель хранит данные в аналоговой форме, а микропроцессорная система (МПС), входящая в состав жёсткого диска и размещённая на специальной печатной плате, умеет считывать и изменять магнитные характеристики этого носителя. В зависимости от результатов чтения/записи намагниченных областей пластин жёсткого диска, МПС подаёт логические нули и логические единицы на свой порт ввода/вывода, подключаемый к материнской плате персонального компьютера. Подробнее о физических принципах работы устройств магнитного хранения данных можно прочитать в работе [Мюллер2001, с. 482-543]. В свою очередь, методы программирования дисковых подсистем и, в частности, информация об интерфейсах и контроллерах дисководов, детально представлены в публикации [Кулаков2002].

Флэш-память (чаще всего применяется в ВЗУ) содержит информацию в массиве ячеек, созданном из МДП (металл-диэлектрик-полупроводник) полевых транзисторов с плавающим затвором. Наличие заряда на плавающем затворе соответствует открытому состоянию транзистора (под плавающим затвором образуется проводящий канал) и обычно интерпретируется как логическая единица. Некоторые модели ЗУ на флэш-памяти (благодаря изменению схемы подключения МДП транзисторов с плавающим затвором) умеют анализировать размер проводящего канала и, таким образом, хранить сразу несколько бит информации в одной ячейки памяти (такой подход имеет недостатки и, в частности, выдвигает дополнительные требования к реализации файловой системы, используемой для работы с флэш-памятью такого типа).

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

Литература для самообразования

  1. Бабич Н. П., Жуков И. А. Компьютерная схемотехника. Методы построения и проектирования: Учебное пособие. К.: ``МК-Пресс'', 2004. 576 с.
  2. Безуглов Д. А., Калиенко И. В. Цифровые устройства и микропроцессоры. Ростов н/Д.: Феникс, 2006. 480 с.
  3. Белов А. В. Самоучитель по микропроцессорной технике. СПб.: Наука и техника, 2003. С. 15-17.
  4. Букреев И. Н., Горячев В. И., Мансуров Б. М. Микроэлектронные схемы цифровых устройств. 4-е изд., перераб. и доп. М.: Техносфера, 2009. 712 с.
  5. Гуртов В. А. Твердотельная электроника: Учеб. пособие. 3-е изд., доп. М.: Техносфера, 2008. 512 с.
  6. Калабеков Б. А. Цифровые устройства и микропроцессорные системы: Учебник для техникумов связи. 2-е изд., перераб. и доп. М.: Горячая линия - Телеком, 2003. 336 с.
  7. Кулаков В. Г. Программирование дисковых подсистем. СПб.: Питер, 2002. 768 с.
  8. Лачин В. И., Савелов Н. С. Электроника: Учебное пособие. 6-е изд., перераб. и доп. Ростов н/Д: Феникс, 2007. 703 с.
  9. Мюллер С. Модернизация и ремонт ПК, 12-е издание. М.: Издательский дом ``Вильямс'', 2001. 1184 с.
  10. Уилкинсон Б. Основы проектирования цифровых схем: Пер. с англ. М.: Издательский дом ``Вильямс'', 2004. 320 с.
  11. NAND data. Memory Technology Device (MTD) Subsystem for Linux. URL: http://www.linux-mtd.infradead.org/doc/nand.html (дата обращения: 22.01.2012).
  12. Young R. S. How Computers Work. Processor and Main Memory. URL: http://www.fastchip.net/howcomputerswork/p1.html (дата обращения: 19.01.2012).

Предыдущий раздел: Оглавление Следующий раздел:
Запоминающие устройства   Логика работы с памятью. Машинный язык. Режимы адресации