Ячейки памяти и их адреса. Ячейки памяти, порты и регистры

Ячейка памяти Память компьютера состоит из отдельных «частиц» битов, объединенных в группы (регистры) по 8 бит (байт). 1 байт элементарная единица памяти. Каждый байт имеет свой помер (адрес), и содержимое двоичный код. Когда процессор обрабатывает информацию, он находит по адресу в памяти нужную ячейку, читает из содержимое, выполняет необходимые действия и записывает результат в другую ячейку памяти. Ячейка памяти группа последовательных байтов внутренней памяти. Машинное слово содержимое ячейки памяти Разрядность ячейки памяти и размер машинного слова в битах равны разрядности процессора






Быстродействующее ЗУ, реализованное в виде электронной схемы. ОЗУ доступно для чтения и для записи информации. Именно в ОЗУ хранится выполняемая в текущий момент программа и необходимые для нее данные, в ОЗУ данные можно редактировать, удалять, добавлять. Это память временного хранения. ОЗУ хранит информацию лишь в течение сеанса работы с ЭВМ – после выключения ЭВМ из сети, данные, хранимые в ОЗУ, теряются безвозвратно. ОЗУ энергозависимое устройство. Емкость современных моделей колеблется от 512 до 1024 Мбайт. ОЗУ – оперативное ЗУ (RAM – random access memory - память с произвольным доступом).


ПЗУ – постоянное ЗУ (ROM – read only memory - память только для чтения). Во многих ЭВМ ПЗУ реализуется отдельной микросхемой, в которой при изготовлении помещаются основные команды, осуществляющие первоначальное взаимодействие аппаратного и программного обеспечения. Этот вид памяти доступен лишь для чтения. После выключения ЭВМ информация сохраняется. ПЗУ – энергонезависимое устройство. В ПЗУ находится часть операционной системы BIOS (Basic Input- Output System).


КЭШ-память – промежуточная память между ОЗУ и ПЗУ «Сache» - тайник, склад (англ. слово). Используется для увеличения быстродействия компьютера. «Секретность» КЭШа заключается в том, что он невидим для пользователя и данные, хранящиеся там, недоступны для прикладного программного обеспечения. Использование этого вида внутренней памяти сокращает число обращений к жесткому диску. Отсутствие кэш-памяти может существенно (20-30%) снизить общую производительность компьютера.


Энергонезависимая память (CMOS-память, Complementary Metal-Oxid-Semicondactor) Различные параметры конфигурации компьютера, например количество и тип дисковых накопителей, тип видеоадаптера, наличие сопроцессора и некоторые другие данные, хранятся в так называемой CMOS- памяти. Микросхема CMOS-памяти также содержит обыкновенные электронные часы. Благодаря ним в любой момент можно узнать текущую дату и время. Чтобы при отключении питания компьютера содержимое CMOS-памяти не стиралось, и часы продолжали отсчитывать время, микросхема CMOS- памяти питается от специальной маленькой батарейки или аккумулятора, которые также находятся на системной плате



Общая структурная схема процессора

Принцип фон Неймана

Лекция 3

Принцип фон Неймана. АЛУ. Программа как последовательность кодов команд. Адрес ячейки памяти. Регистры процессора. Как процессор складывает два числа.

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

1) Основными блоками фон-неймановской машины являются блок управления, арифметико-логическое устройство, память и устройство ввода-вывода.

2) Информация кодируется в двоичной форме и разделяется на единицы, называемые словами.

3) Алгоритм представляется в форме последовательности управляющих слов, которые определяют смысл операции. Эти управляющие слова называются командами. Совокупность команд, представляющая алгоритм, называется программой.

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

5) Устройство управления и арифметическое устройство обычно объединяются в одно, называемое центральным процессором. Они определяют действия, подлежащие выполнению, путем считывания команд из оперативной памяти. Обработка информации, предписанная алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом программой.

Компьютеры, построенные на этих принципах, называются машинами фон‑Неймановского типа.

Процессор - центральная микросхема ЭВМ, осуществляющая операции по обработке информации и управляющая работой остальных устройств ЭВМ.

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

Изобретателем микропроцессора как схемы, в которую собрана практически вся основная электроника компьютера, стала американская фирма INTEL, выпустившая в 1970 году процессор 8008. С их появления и началась история ЭВМ четвертого поколения.

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

Общая структурная схема процессора

Процессор разделен на две части:

операционное устройство (ОУ) и шинный интерфейс (ШИ) .


Назначение ОУ - выполнение команд, а ШИ подготавливает команды и данные для выполнения. ОУ содержит:

арифметико-логическое устройство (АЛУ) - "отвечает" за выполнение команд,

устройство управления (УУ) - осуществляет выборку команд из памяти, пересылку их на АЛУ и перемещение полученных результатов в требуемую ячейку памяти;

10 регистров - применяются при вычислениях.

Эти устройства обеспечивают выполнение команд, арифметические вычисления и логические операции.

Три элемента ШИ - блок управления шиной, очередь команд и сегментные регистры - осуществляют следующие функции:

передачу данных на ОУ, в память и на внешние устройства ввода/вывода ;

адресацию памяти с помощью четырех сегментных регистров ;

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

Компьютер имеет два типа внутренней памяти. Постоянная память (ПЗУ или ROM - read-only memory). Она представляет собой специальную микросхему, из которой возможно только чтение, так как данные в ней специальным образом "прожигаются" и не могут быть модифицированы. Ее основное назначение: поддержка процедур начальной загрузки, выполнение различных проверок и т.д. Для целей программирования наиболее важным элементом ПЗУ является BIOS (Basic Input/Output System) - базовая система ввода/вывода.

Память, с которой имеет дело программист, называется ОЗУ (RAM - random access memory) - оперативное запоминающее устройство. Ее содержимое доступно как для чтения, так и для записи. Здесь хранятся программы и данные во время работы компьютера.

Основным устройством обработки информации в ЭВМ является арифметико-логическое устройство (АЛУ). Его основой является электронная схема, составленная из большого числа транзисторов, называемая сумматором. Сумматором выполняются простейшие логические и арифметические операции над данными, представленными в виде двоичных кодов (нулей и единиц). К логическим операциям относятся логическое умножение (операция "И"), логическое сложение (операция "ИЛИ") и логическое отрицание (операция "НЕ"). Результатом операции логического умножения является 1, если все переменные, являющиеся исходными данными равны 1, и 0, если хотя бы одна из них равна 0. Вспоминая, что 1 моделируется электрическим сигналом, а 0 - отсутствием сигнала, можно сказать, что на выходе устройства будет электрический сигнал тогда и только тогда, когда сигнал будет иметься на каждом входе:

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

На основе этих трех операций можно производить арифметические действия над числами, представленными в виде нулей и единиц. Теоретической основой для этого являются законы, разработанные еще в 1847 году ирландским математиком Джорджем Булем, известные как Булева алгебра, в которой используются только два числа- 0 и 1. Ранее считалось, что эти работы Буля никому не нужны, и их автор подвергался насмешкам. Однако, в 1938 году американский инженер Клод Шеннон положил Булеву алгебру в основу теории электрических и электронных переключательных схем- сумматоров, создание которых и привело к появлению ЭВМ, способных автоматически производить арифметические вычисления.

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

В современных ЭВМ арифметико-логическое устройство объединяется с управляющими устройствами в единую схему - процессор .

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

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

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

Архитектура каждого компьютера накладывает собственные ограничения на величину адресов. Наибольший возможный адрес определяет объем адресного пространства компьютера или то, какой объем памяти он может использовать. Обычно компьютер использует память меньшего объема, чем допускается его возможностями адресации. Если архитектура компьютера предусматривает наибольшее адресное пространство, это накладывает суровые ограничения на возможности такого компьютера. Адреса в 8088 имеют длину 20 бит, следовательно, процессор позволяет адресовать два в двадцатой степени байта или 1024 К.

Архитектура компьютера

Основные элементы компьютера.

Компьютер состоит из 4-х структурных компонентов:

1) Процессор.

Осуществляет контроль за действиями компьютера, а также выполняет функции обработки данных. Если в системе есть только один процессор, он часто называется центральным процессором (CPU – central processing unit)

2) Основная память.

Здесь хранятся данные и программы. Эта память является временной. Часто её называют реальной или оперативной памятью.

3) Устройства ввода-вывода.

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

4) Системная шина. Определённые структуры и механизмы, обеспечивающие взаимодействие между процессором, основной памятью и устройствами ввода-вывода.

Основная память

PC – программный счетчик

IR – регистр команд

MAR – регистр адреса памяти

MBR – регистр буфера памяти

I/O AR – регистр адреса ввода-вывода

I/O BR – регистр буфера ввода-вывода

Рисунок 1. Компоненты компьютера: общая структура.

Одной из функций процессора является обмен данными с памятью. Для этого он обычно использует два внутренних (по отношению к процессору) регистра: регистр адреса памяти (memory address register – MAR), куда заносится адрес ячейки памяти, в которой будет производиться операция чтения – записи, и регистр буфера памяти (memory buffers register – MBR), куда заносятся данные, предназначенные для записи в память, или те, которые были прочитаны из неё. Аналогично, номер устройства ввода-вывода задается в регистре адреса ввода-вывода (I/O address register – I/O AR). Регистр буфера ввода-вывода (I/O buffer register – I/O BR) служит для обмена данными между устройством ввода-вывода и процессором.

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

Регистры процессора

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

Регистры процессора (выполняют две функции) делятся на 2 группы:

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

Регистры управления и регистры состояния. Используются в процессоре для контроля над выполняемыми операциями; с их помощью привилегированные программы операционной системы могут контролировать ход выполнения других программ.

Регистры, доступные пользователю:

Регистры данных. Могут использоваться любой машинной командой для операций с данными. Часто при этом накладываются определённые ограничения. Например, некоторые регистры предназначены для операций над числами с плавающей точкой, в то время как остальные – для хранения целых чисел.

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

Управляющие регистры и регистры состояния.

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

Кроме упомянутых регистров MAR, MBR, I/O AR, I/O BR, важными для выполнения команд, являются следующие:

Программный счетчик (program counter – PC). Содержит адрес команды, которая должна быть выбрана из памяти.

Регистр команд (instruction register – IR). Содержит последнюю выбранную из памяти команду.

В состав всех процессоров входит также регистр, известный под названием регистра слова состояния программы (program status word – PSW). В нем, как правило, содержатся коды условий и другая информация о состоянии, например, бит разрешения/запрещения прерываний или бит режима системный/пользовательский.

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

входные, выходные промежуточные данные, обрабатываемые процессором.

Структура оперативной памяти

Оперативная память состоит из ячеек, в каждой из которых может находиться единица информации – машинное слово. Каждая ячейка имеет две характеристики: адрес и содержимое. Через регистр адреса микропроцессора можно обратиться к любой ячейке памяти.

Сегментная модель памяти

Когда-то давно, на заре рождения компьютерной техники, оперативная память была очень маленькой и для ее адресации использовались 2 байта (так называемое «слово»). Такой подход позволял адресовать 64 Кб памяти, и адресация была линейной - для указания адреса использовалось одно-единственное число. Позже, с усовершенствованием техники, производители поняли, что имеется возможность поддерживать большие объемы памяти, но для этого нужно сделать размер адреса больше. Для совместимости с уже написанным программным обеспечением было решено сделать так: адресация теперь двухкомпонентная (сегмент и смещение) , каждая из которых 16-битная, а старые программы как использовали одну 16-битную компоненту и ничего не знают о сегментах, так и продолжают работать


Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО
Логическое строение оперативной памяти

Адресное пространство – это набор адресов, который может формировать процессор. Зачем? Хороший вопрос. Дело в том, что каждая ячейка памяти имеет адрес. И что бы считать (или записать) хранимую в ней информацию, надобно к ней обратится по ее адресу. Адреса делятся на виртуальные (логические) и физические. Физические адреса – это реальные адреса реальных ячеек памяти. Программам глубоко параллельно до таких адресов, так как они оперируют символьными именами, которые затем транслятором преобразовываются в виртуальные адреса. Потом виртуальные адреса преобразовываются в физические.



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

Логическое строение делится на 5 зон:

1. Conventional memory – основная память;

Начинается с адреса 00000 (0000:0000) и до 90000 (9000:0000). Это занимает 640 Кбайт. В эту область грузится в первую очередь таблица векторов прерываний, начиная с 00000 и занимает 1 Кбайт, далее следуют данные из BIOS (счетчик таймера, буфер клавиатуры и т. д.), а затем уж всякие 16 разрядные программы DOS (для них 640 Кбайт – барьер, за который могут выскочить только 32 разрядные программы). На данные BIOS’а отводится 768 байт.
2. UMA (Upper Memory Area) – верхняя память;

Начинается с адреса А0000 и до FFFFF. Занимает она 384 Кбайт. Сюда грузится информация, связанная с аппаратной частью компьютера. UMA можно разделить на 3 части по 128 Кбайт. Первая часть (от А0000 до BFFFF) предназначена для видеопамяти. В следующую часть (от C0000 до DFFFF) грузятся программы BIOS адаптеров. Последняя часть (от E0000 до FFFFF) зарезервирована для системной BIOS. Дело в том, что последние 128 Кбайт не полностью используются. В большинстве случаев под BIOS задействованы только последние 64 Кбайт. Свободная же часть UMB управляется драйвером EMM386.EXE и используется для нужд операционной системы.
3. HMA (High Memory Area) – область верхней памяти;

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО
История появления области HMA тянется аж к 80286 процессору, а точнее к ошибке в его схеме. Я уже говорил, что процессоры 8086 и 8087 имели 20 разрядную адресную шину, работали в реальном режиме и могли максимально обратится по адресу FFFFF (FFFF:000F). А вот 80286 процессор имел уже 24 разрядную шину адреса, работал в реальном и защищенном режимах и мог адресовать до 16 Мбайт памяти.
4. XMS (eXtended Memory Specification) – дополнительная память;

Что бы работать в XMS используя DOS, для процессоров был разработан еще один режим – виртуальный. DOS не может переплюнуть барьер в 640 Кбайт, виртуальный режим позволяет разбить дополнительную память на части по

1 Мбайту. В каждую часть грузится по программе DOS и там они варятся в реальном режиме но уже не мешая друг другу выполнятся одновременно. 32 разрядным приложениям на барьер в 640 Кбайт все равно. XMS отвечает за перевод режимов процессора драйвер EMM386.EXE, а за организацию самой области – HIMEM.SYS. Посмотреть, что творится у Вас в XMS можно с помощью SysInfo из набора Norton Utilities.
5. EMS (Expanded Memory Specification) – расширенная память;

Находится эта область в верхней памяти и занимает порядка 64 Кбайт. Использовалась она лишь в старых компах с оперативной памятью до

1 Мбайта. В силу своей спецификации это достаточно медленная область. Дело в том, что расширенная память – это один из многих коммутируемых сегментов. После того, как сегмент заполнится, происходит смена использованного сегмента новым. Но работать можно только с одним сегментом, а это, Вы сами должны понимать, не совсем хорошо, удобно и быстро. Как правило первый сегмент EMS находится по адресу D000.

Логическое строение оперативной памяти в графическом виде.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО

4. DRAM – Dynamic Random Access Memory

DRAM - это очень старый тип микросхем оперативной памяти, который сейчас уже давно не применяется. По другому DRAM – это динамическая память с произвольным порядком выборки. Минимальной единицей информации при хранении или передаче данных в компьютере является бит. Каждый бит может быть в двух состояниях: включен (да, 1) или выключен (нет, 0). Любой объем информации в конечном итоге состоит из включенных и выключенных битов. Таким образом, что бы сохранить или передать какой либо объем данных, необходимо сохранить или передать каждый бит, не зависимо от его состояния, этих данных.


Для хранения битов информации в оперативной памяти есть ячейки. Ячейки состоят из конденсаторов и транзисторов. Вот примерная и упрощенная схема ячейки DRAM:

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО

Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать взяв из буфера.

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

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.
Говоря о работе DRAM необходимо учитывать один момент. Все заключается в том, что конденсаторы не могут бесконечно долго хранить заряд и он в конце концов «стекает», Поэтому конденсаторы необходимо перезаряжать. Операция перезарядки называется Refresh или регенерацией. Происходит эта операция примерно каждые 2 мс и порой занимает до 10 % (а то и больше) рабочего времени процессора.

Важнейшей характеристикой DRAM является быстродействие, а проще говоря продолжительность цикла + время задержки + время доступа, где продолжительность цикла – время, затраченное на передачу данных, время задержки – начальная установка адреса строки и столбца, а время доступа – время поиска самой ячейки. Измеряется эта фигня в наносекундах (одна миллиардная доля секунды). Современные микросхемы памяти имеют быстродействие ниже 10 мс.

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


Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО

А теперь поняв как работает оперативная память, разберемся, зачем же она вообще нужна. После процессора, оперативную память можно считать самым быстродействующим устройством. Поэтому основной обмен данными и происходит между этими двумя девайсами. Вся информация в персональном компьютере хранится на жестком диске. При включении компа в ОЗУ (Оперативное Запоминающее Устройство) с винта записываются драйвера, специальные программы и элементы операционной системы. Затем туда будут записаны те программы – приложения, которые Вы будете запускать. При закрытии этих программ они будут стерты из ОЗУ. Данные, записанные в оперативной памяти, передаются в CPU (Central Processing Unit), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким то адресам, как то их там обработать и вернуть на место или записать на новое – он так и сделал.

Все это хорошо, до тех пор, пока ячеек ОЗУ хватает. А если нет? Тогда в работу вступает файл подкачки. Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ, то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска.

Увеличение объема памяти не приводит к увеличению ее быстродействия. Изменение объема памяти ни как не повлияет на ее работу. А вот если рассматривать работу системы, то тут дело другое. В том случае, если Вам хватает объема оперативной памяти, то увеличение объема не приведет к увеличению скорости работы системы. Если же ячеек ОЗУ не хватает, то увеличение их количества (проще говоря добавление новой или замене старой на новую с большим объемом линейки памяти) приведет к ускорению работы системы.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО

Изм.
Лист
№ докум.
Подпись
Дата
Лист
ППП ПИ 23.00.00 ТО
Интернет ресурсы

http://nikesina.ucoz.ru/

http://www.whatis.ru/

http://wiki.mvtom.ru/

http://www.teryra.com/

http://smartronix.ru/

http://allrefs.net/

http://sonikelf.ru/

http://beginpc.ru/

Список литературы

Практическое руководство системного администратора. (2012)

Эндрю Таненбаум, Тодд Остин - Архитектура компьютера (2013)

Поясним разницу между ячейками памяти, портами и регистрами.
Ячейки памяти служат лишь для хранения информации – сначала ее записывают в ячейку, а потом могут прочитать, а также записать иную информацию.
Порты ввода-вывода , как правило, служат для преобразования двоичной информации в какие-либо физические сигналы и обратно. Например, порт данных параллельного интерфейса формирует электрические сигналы на разъеме, к которому обычно подключают принтер. Порт состояния того же интерфейса электрические сигналы, поступающие от принтера, отображает в виде набора бит, который может быть считан процессором.
Регистр –довольно широкое понятие, которое зачастую используется как синоним порта.
Каждый байт (ячейка памяти, порт) имеет собственный уникальный физический адрес . Этот адрес устанавливается на системной шине процессором, когда он инициирует обращение к данной ячейке или порту. В семействе х86 и PC-совместимых компьютерах пространства адресов ячеек памяти и портов ввода-вывода разделены. Это предусмотрено с обеих сторон: процессоры позволяют, а компьютеры используют данное разделение. Нынешние процессоры имеют разрядность физического адреса памяти 32 и даже 36 бит, что позволяет адресовать до 4 и 64 Гбайт соответственно. Пространство ввода-вывода использует только младшие 16 бит адреса, что позволяет адресовать до 65 384 однобайтных регистров. Адреса «исторических» системных устройств PC не изменились с самого рождения – это дань совместимости, которая без разделения пространств вряд ли бы просуществовала столько лет. Пространства памяти и портов ввода-вывода неравнозначны не только по объему, но и по способам обращения. Способов адресации к ячейке памяти в х86 великое множество, в то время как для адресации ввода-вывода их существует только два. К памяти возможна (и широко используется) виртуальная адресация, при которой для программиста, программы и даже пользователя создается иллюзия гигантского размера оперативной памяти. К портам ввода-вывода обращаются только по реальным адресам, правда, и здесь возможна виртуализация, но уже чисто программными средствами операционной системы. И, наконец, самое существенное различие пространств памяти и портов ввода-вывода: процессор может считывать инструкции для исполнения только из пространства памяти. Конечно, через порт ввода можно считать фрагмент программного кода (что и происходит, например, при считывании данных с диска), но для того чтобы этот код исполнить, его необходимо записать в память.
Регистры различных устройств могут быть приписаны как к пространству портов ввода-вывода, так и к пространству памяти. Под портом устройства, как правило, подразумевают регистр, связанный с этим устройством и приписанный к пространству портов ввода-вывода. Точность вышеприведенной терминологии, конечно же, относительна. Так, к примеру, ячейки видеопамяти (тоже память!) служат в основном не для хранения информации, а для управления свечением элементов экрана.