Внутренняя организация процессора: 8. Внутренняя организация процессора

Содержание

8. Внутренняя организация процессора

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

Рис.4

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

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

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

Регистр команд хранит команду, полученную от дешифратора.

Счетчик команд содержит адрес выполняемой в данный момент команды.

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

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

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

АЛУ — выполняет операции над данными из регистров. Используется для операций над числами с ФТ.

Регистр флагов включает в себя 8 флагов, 4 из которых соответствуют различным признакам результата.

9. Структурно-функциональная схема цп.

Рис. 5

Описание схемы:

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

ЦП имеет 32-разрядную внутреннюю шину данных, которая отвечает за передачу данных между блоками и внутренними регистрами.

Буфер A/D служит для взаимодействия процессора с системной шиной и может переводить процессор в Z состояние, отключая его тем самым от шины.

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

Блок управления IRQ является внутренним контроллером равноприоритетных прерываний. Он осуществляет выборку приходящих программных прерываний. Максимальное число обслуживаемых внешних запросов равно 8. Существует возможность расширения числа каналов прерывания за счет подключения дополнительного внешнего контроллера к входу любого канала. Регистр масок (Masks) позволяет запрещать или разрешать обработку отдельных каналов. Регистр TINT является указателем на таблицу 32-разрядных векторов прерываний, хранящихся в памяти последовательно друг за другом. Каждый вектор содержит адрес прерывающей подпрограммы.

АЛУ Ц – блок обработки данных, представленных в формате целых чисел со знаком или без знака. Блок выполняет операции только над данными, содержащимися в регистрах общего назначения. Данные могут быть представлены 8, 16 и 32-разрядными числами. Список разрешенных арифметических и логических операций содержится в таблице 1.

АЛУ ПТ – блок обработки данных, представленных в формате с плавающей точкой. Блок выполняет операции только над данными, содержащимися в регистрах общего назначения. Данные могут быть представлены 32-разрядными числами. Список разрешенных арифметических и логических операций содержится в таблице 1.

В ходе выполнения команды данные пересылаются из одного регистра в другой и в процессе обработки часто попадают в АЛУ, где над ними выполняются арифметические или логические операции. Дешифратор команды и управляющий логический блок отвечают за определение и выполнение действий, заданных командой, которая загружена в регистр IR (регистр команд). Дешифратор генерирует управляющие сигналы, необходимые для выбора регистров, участвующих в выполнении заданной команды, и управляет пересылкой данных.

Счетчик команд содержит адрес выполняемой в данный момент команды.

Регистр флагов включает в себя 8 флагов, 4 из которых соответствуют различным признакам результата.

Организация внутренней памяти процессора. — Информатика, информационные технологии

В архитектуре современных ЭВМ стал стандартным прием организации регистров общего назначения в виде СОЗУ с прямой адресацией (адреса регистров размещаются в команде). В машинах с коротким словом, вынуждающим прибегать к одноадресным командам, один из общих регистров выделяется в качестве аккумулятора, регистра, в котором находится один из операндов и в который помещается результат операции. Регистр аккумулятора в явном виде в команде не адресуется, используется подразумеваемая адресация. В этом случае СОЗУ с прямой адресацией состоит из совокупности регистров, связанных с входной Х и выходной Z шинами (см. рис. 8.2).

Рис. 8.2. СОЗУ с прямой адресацией с одним адресным входом

Дешифратор адреса формирует управляющие сигналы 0,1,…,М, подключающие регистр с заданным адресом к шинам СОЗУ.

Адрес регистра, к которому производится обращение с целью записи или чтения (управляющий Сигнал ЗП/ЧТ) информации, поступает по шине А. Дешифратор адреса (ДША) формирует управляющие сигналы 0,1,…М, подключающие регистр с заданным адресом к шинам СОЗУ.

При использовании двухадресных команд типа «регистр — регистр» подобная организация СОЗУ становится неэффективной, т. к. за один такт может быть выбрано содержимое только одного регистра.

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

Рис.8.3. СОЗУ с прямой адресацией с двумя адресными входами

Двухадресная команда, в которой адресуются два операнда, расположенные в регистрах, и результат операции размещается по одному из этих адресов [0…M].

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

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

Механизм стековой адресации поясняется на рис.8.4.

Рис. 8.4. Стековая память.

Предполагается, что область памяти для стека находится в сегменте стека, база которого определяется регистром SS — сегментным регистром стека. При добавлении записи в стек вначале проверяется, содержит ли указатель стека (ESP) значение, не меньше длины помещаемой в стек записи (2 байта для 16-разрядного и 4 байта для 32-разрядного процессора). Если это условие не удовлетворено, то генерируется особый случай нарушения стека. Если же ESP содержит значение не меньше требуемого, производится декремент указателя стека на 2(4) и операнд сохраняется по адресу SS:SP (SS:ESP) в текущем сегменте стека, на который указывает указатель стека.

(Число 4 – число байт в 32-х разрядном процессоре). При извлечении данных из стека содержимое ESP сравнивается с пределом SS. Если обращение оказывается вне предела, формируется особый случай нарушения стека. Когда обращение оказывается разрешенным, считываются данные по адресу SS:[ESP] и осуществляется инкремент ESP на 4. Извлечь данные из стека можно в регистр или в ЯП.

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

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

В последнее время емкость микросхем динамической памяти учетверялась каждые три года. Но скорость этих микросхем за тот же период возрастала гораздо меньшими темпами (примерно 7% в год). В то время, как производительность процессоров, начиная с 1987г, увеличивалась на 50% в год. Таким образом, согласование производительности современных процессоров со скоростью ОП вычислительных машин и систем остается одной из важнейших проблем. Методы повышения производительности за счет увеличения размеров КЭШ–памяти и введения многоуровневой организации КЭШ могут оказаться недостаточно эффективными с точки зрения стоимости системы. Поэтому важным направлением современных разработок являются методы повышения пропускной способности памяти за счет ее организации, включая специальные методы организации динамических ЗУ.

Статьи к прочтению:

Лекция 6: Адресация


Похожие статьи:

Системы и типы команд ЭВМ — Введение. Что такое архитектура ЭВМ

На основании международного образовательного стандарта Computer Science был разработан стандарт СПбГУ с тем же названием. В дополнение к вопросам, обозначенным в международном стандарте, в этом курсе рассказывается о разработках кафедры и родственных ей IT предприятий в области создания новых архитектур ЭВМ и технологий их программирования. В курсе рассказывается о базовых понятиях архитектур ЭВМ (арифметико-логическое устройство, память, регистры, устройство управления, ввод/вывод), истории их создания, архитектурных способах ускорения ЭВМ (водопровод, RISC, спекулятивное исполнение, предсказание переходов, многопроцессорные и многомашинные архитектуры), о нетрадиционных архитектурах (систолические структуры, мобильные телефоны, встроенные системы реального времени). В теме «HLL компьютеры» подробно рассказывается о HLL компьютере «Самсон», разработанном под руководством автора этого курса. От слушателей курса не требуется начать программировать на машине «Самсон», гораздо более интересно обсудить, почему выбрана именно такая архитектура, такая система команд, какие предложены оптимизации, чем предлагаемые архитектуры лучше существующих. В заключение рассказывается о двух конкретных наиболее популярных архитектурах ЭВМ (самая старая из ныне живущих архитектур мейфрейм IBM/360 и наиболее массовая современная архитектура ARM). По завершении этого курса учащиеся будут: Уметь: — Разбираться в различных архитектурах ЭВМ, сравнивать их по длине кода, эффективность исполнения, оценивать сложность аппаратной реализации; — На основании знания внутренней структуры компьютера, устройства его кэш-памяти, знания реализации шин, уметь оптимизировать свои программы; — Спроектировать новую ЭВМ, хотя бы на бумаге. Знать: — Структурные схемы современных ЭВМ; — Способы аппаратной реализации основных элементов ЭВМ; — Принципы работы устройств ввода/вывода. Владеть: — Навыками ускорения программного обеспечения за счет знания внутренней организации кэш-памяти и шин; — Навыками ускорения ввода/вывода; — Способами рационального создания микропрограмм ЭВМ.

Страница не найдена – kpet-ks.ru

И так дорогие друзья, настало время поразмышлять над информацией, точнее над её свойствами. Любую деятельность человека сложно представить без сбора, обработки и хранения информации, принятие решений на её основании. В последнее время мы говорим об информации как о ресурсе научно-технического прогресса. Информация содержится в человеческой речи, в сообщениях средств массовой […]

Дорогие друзья, настало время подведения итогов. Во время игры наблюдались разные участники с первого и второго курса. Кто-то сдался ещё на первых загадках, отгадав одну из двух., сдались потеряв всякую надежду. Были и те, кто наблюдал со стороны: читали загадки, следили за новостями. Но у меня ещё с первых дней […]

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

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

Загадки При интернет сёрфинге мы передвигаемся по «звеньям одной цепи», то есть по … Можно подумать, что эти специалисты в компьютерном мире самые трудолюбивые «садовники», использующие в качестве инструмента мотыгу, тяпку, кайло. Напоминаю, что термины из области информатики, но “ноги растут” из английских слов. Удачи!

Загадки: Компьютерное изобретение, благодаря которому мы узнали имя одного из первых основателей корпорации Intel.   Инженерное сооружение, отличающееся значительным преобладанием высоты над стороной или диаметром основания. Все термины из области информатики и ИКТ. Будьте внимательны!

Очередная порция загадок: Наука о проектировании зданий, сооружений или набор типов данных и описания ПК. Устройство вывода, которое в переводе с английского языка синонимично «exhibition». Удачи.

Друзья мои, перед вами первая порция  загадок: отсчёт пошёл. Загадки: Устройство ввода, которое определило жизнь маленькой девочки по им. Дюймовочка. Место, расположенное вблизи берега моря или реки, устроенное для стоянки кораблей и судов, по совместительству разъём у ПК, ноутбуков и телефонов. Ответы присылаем на почту ведущего: [email protected]. Убедительная просьба, подписывайтесь […]

Дорогие друзья!!! В течении недели с 23.04.18г. по 28.04.18г., будет проведена онлайн викторина «Загадка о загадке». Где каждый день будет публиковаться порция загадок (всего загадок 10). Каждая загадка оценивается в 5 баллов. Если с первой попытки загадка не отгадана будут даны подсказки, но ответ по подсказке будет оценён в 4 […]

“Проект при поддержке компании RU-CENTER” Подробнее ознакомиться с правилами участия в программе “RU-CENTER – Будущему” Вы также сможете на сайте Миссия программы — содействовать развитию общеобразовательных учреждений и повышению качества образования в нашей стране. Цели  программы — предоставить технические возможности для создания, поддержки и развития сайтов образовательных учреждений; обеспечить условия […]

4. Микропроцессоры — СтудИзба

4. Микропроцессоры. Структура и особенности работы элементной базы

4.1. Назначение. Сравнительные характеристики микропроцессоров. Классификация МП

 

Центральным устройством микропроцессорной системы является микропроцессор (МП). В 1970 году Маршиан Эдвард Хофф из фирмы Intel сконструировал интегральную схему, аналогичную по своим функциям центральному процессору большой ЭВМ — первый микропроцессор Intel-4004, который уже в 1971 году был выпущен в продажу.

15 ноября 1971 г. можно считать началом новой эры в электронике. В этот день компания приступила к поставкам первого в мире микропроцессора Intel 4004.

Микропроцессор – это программно управляемое устройство, осуществляющее процесс обработки цифровой информации и управление этим процессом, реализованное в одной или нескольких БИС. МП обычно содержит элементы размещения данных (регистры) и устройства счёта (АЛУ). Такое устройство содержит также дешифратор команд и узел синхронизации. На рис. 4.1. приведена упрощенная структурная схема МП. Структуры различных типов МП могут существенно различаться, однако с точки зрения пользователя наиболее важными параметрами являются архитектура, адресное пространство памяти, разрядность, быстродействие.

1.1. Технико-экономические показатели МП (ТЭП МП)

Для оценки ТЭП МП используются следующие параметры:


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

Рекомендуемые файлы

Выполнение простейших команд (например, сложение двух операндов из регистров или пересылка операндов в регистрах МП) требует минимально двух периодов тактовых импульсов (для выборки команды и её выполнения). Более сложные команды требуют для выполнения до 10 — 20 периодов тактовых импульсов. Скорость работы МП определяется не только тактовой частотой, но и набором его команд, их гибкостью, развитой системой прерываний.

 

2. Разрядность — максимальное число одновременно обрабатываемых двоичных разрядов данных (размер машинного слова).

 

Разрядность МП обозначается m/n/k/ и включает:
m — разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;
n — разрядность шины данных, определяет скорость передачи информации;
k — разрядность шины адреса, определяет размер адресного пространства.

 

Например, МП i8088 характеризуется значениями m/n/k=16/8/20;

 

С увеличением разрядности увеличивается объем информации, обрабатываемой процессором за один шаг (такт), что ведет к уменьшению количества тактов, необходимых для выполнения сложных операций. Кроме того, чем больше размер слова, тем с большим объемом памяти может работать компьютер. Современные компьютеры оснащаются 64-разрядными процессорами. И при этом их внутренняя память составляет 16, 32, 64, 128… Мбайт. Для современных микропроцессоров характерна тенденция к увеличению разрядности слова и повышению тактовой частоты.


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

 

Выделяют понятия микроархитектуры и макроархитектуры.

 

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

Макроархитектураэто система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

 

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

Стоимость микропроцессоров определяется исходя из его технических возможностей, назначения и технологии производства.

 

Таблица 1. Классификация МП

Классификация

Виды МП

Состав системы команд

Одна или несколько команд

Развитая система команд

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

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

Способ реализации наборов команд

Аппаратуный

Программный

 

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

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

 

По назначению

Универсальные

Специализированные

 

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

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

Эта группа МПК (CISC — процессоры) наиболее многочисленна, в нее входят такие комплекты как КР580, Z80, Intel 80×86, К1810, а также процессоры IA-32, IA-64.

Предназначены для решения определенного класса задач, а иногда только для решения одной конкретной задачи. Их существенными особенностями являются простота управления, компактность аппаратурных средств, низкая стоимость и малая мощность потребления.  Специализация МП, т. е. его проблемная ориентация на ускоренное выполнение определенных функций, позволяет резко увеличить эффективную производительность при решении только определенных задач. В эту группу (RISC — процессоры) входят: различные типы контроллеров, микроконтроллеров, сигнальные процессоры.

 

По виду обрабатываемых входных сигналов

«Аналоговые»

Цифровые

 

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

По количеству выполняемых программ

Однопрограммные

Многопрограммные

 

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

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

По числу БИС в микропроцессорном комплекте

Однокристальные

 

Многокристальные

 

Многокристальные секционные.

 

Характеризуются размещением всех аппаратурных средств процессора в виде одной БИС или СБИС.

Характеризуются  разбиением логической структуры на функционально законченные части, реализованные в виде БИС (СБИС). Данные части выполняют заранее определенные функции и могут работать автономно

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

 

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

Основной особенностью современного этапа развития МПС является широкое распространение однокристальных МК, которые объединяют на одном кристалле все основные элементы МПС: центральный процессор (ЦП), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), порты ввода/вывода, дополнительные устройства.

 

4.2. Основные функции МП

 

Ø  извлечение, декодирование и выполнение команд программы в указанном порядке;

Ø  передача данных из памяти и в память, а также из УВВ и в УВВ;

Ø  ответы на внешние прерывания;

Ø  обеспечение общей синхронизации и формирования сигналов управления для всей системы.

 

4.3. Структура МП

 

 

Рис. 4.1. Упрощённая структура микропроцессора

 

В состав МП (рис. 4.1) входят, внутренняя шина данных, арифметическо-логическое устройство, устройство управления и блок внутренних регистров.

 

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

Арифметическо-логическое устройство (рис. 4.2) состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающего регистры и регистров для временного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И), сложение по модулю 2. На первый вход АЛУ поступает байт из аккумулятора, а на второй вход – из промежуточного регистра. Результат сложения указанных двух байтов передается с выхода АЛУ через внутреннюю шину данных в аккумулятор.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.2. Структурная схема АЛУ

 

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

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

Регистр признаков (флаговый регистр) представляет собой набор триггеров – флажков. В зависимости от результатов операций, выполняемых АЛУ, каждый триггер устанавливается в состояние 0 или 1. Флаговые биты являются индикаторами признаки результата выполнения операции: нулевого результата, знака результата, переполнения, переноса и т. п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего пути вычислений.

Регистр признаков (5 разрядный) – в соответствующих разрядах РП фиксируются особенности выполнения каждой операции:

            Z (нуль) – устанавливается в «1» при нулевом результате в аккумуляторе.

            CY – перенос из старшего разряда

            S (знак) – при единичном значении старшего разряда

            P (четность) – при чётном числе единичных битов в результате

            AC (дополнительный перенос) – при переносе из младших 4-х разрядов в старшие

 

Рис. 4.3. Структура регистра признаков

 

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

 

Устройство управления состоит из двух относительно независимых частей:

  • первичного автомата, управляющего процессами внутри МП;
  • схемы, обрабатывающей сигналы и генерирующей управляющие сигналы в микропроцессорной системе.

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

 

Рис. 4.4. Обобщенная схема устройства управления

 

Блок внутренних регистров БВР, расширяющий возможности АЛУ, служит внутренней памятью МП и используется для временного хранения данных и команд. Он также выполняет некоторые процедуры обработки информации.

На рисунке ..Раздаточный  и дополнительный материалЛК4Структура МП.TIF приведена более подробная структурная схема однокристального МП. Здесь показано, что блок внутренних регистров содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счетчик команд, стека, признаков.

Регистр – аккумулятор (“накопитель”), предназначен для временного хранения операнда или промежуточного результата действий производимой в АЛУ. Разрядность регистра равна разрядности информационного слова. Аккумулятор используется в ходе большинства операций, которые выполняет МП, например, передача данных.

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

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

Счетчик команд содержит адрес ячейки памяти, в которой помещены байты выполняемой команды. Обычно 16-разрядный. Этот регистр служит для хранения адреса следующей команды, которую необходимо извлечь из памяти. Т.к. команды выполняются последовательно, СК считает прямым счётом. 16-ти разрядный СК может адресовать 64К слов памяти посредством адресной шины.

Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналу УУ в него передается из регистра хранимая там информация.

Регистры стека делятся на стек и указатель стека. В МП стек – набор регистров, хранящих адреса команд возврата при обращении к подпрограммам или состояние внутренних регистров при обработке прерываний. Стек может быть выполнен не только на внутренних регистрах МП, составляя его часть, но и находиться в ОЗУ, занимая там отведенную для него зону. В последнем случае для обращения к нему необходим специальный регистр – указатель стека.

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

Регистры общего назначения

Регистры общего назначения (РОН), число которых может изменяться от 4 до 64, определяют вычислительные возможности МП. Их функция – хранение операндов. Но могут выполнять также и роль регистров.

Первые два РОН – регистры W и Z – предназначены для кратковременного хранения данных во время выполнения команды (эти регистры недоступны программисту), остальные шесть РОН – регистры B, C, D, E, H и L – служат ячейками внутренней памяти, называемой СОЗУ (сверхоперативным ЗУ).  В них хранятся операнды, подлежащие обработки в АЛУ, результаты обработки данных, выполненных в АЛУ, и управляющие слова. В каждом регистре помещается один байт. Обращение к РОН – адресное. Попарное расположение регистров B и C, D и E, H и L дает возможность проводить обработку двухбайтовых слов, называемую обработкой “удвоенной точности”.

Более подробно о Регистрах МП (на примере Intel 8086) в доп. материале

 

2.3. Типы микропроцессорных архитектур

До сих пор мы рассматривали только один тип архитектуры   микропроцессорных системархитектуру с общей, единой шиной для данных и команд (одношинную, или принстонскую, фон-неймановскую   архитектуру). Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 2.8).


Рис. 2.8.  Архитектура с общей шиной данных и команд.

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

Существует также и альтернативный тип архитектуры микропроцессорной системы — это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 2.9). Обмен процессора с каждым из двух типов памяти происходит по своей шине.


Рис. 2.9.  Архитектура с раздельными шинами данных и команд.

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

Преимущество архитектуры с двумя шинами в быстродействии. Дело в том, что при единственной шине команд и данных процессор вынужден по этой шине принимать данные (из памяти или устройства ввода/вывода) и передавать данные (в память или в устройство ввода/вывода), а также читать команды из памяти. Одновременно эти процессы происходить не могут и производятся по очереди. В случае двухшинной архитектуры обмен по обеим шинам может быть независимым, параллельным во времени. Структуры шин (количество разрядов кода адреса и кода данных, порядок и скорость обмена информацией и т.д.) могут быть выбраны оптимально для той задачи, которая решается каждой шиной. Поэтому при прочих равных условиях переход на двухшинную архитектуру ускоряет работу микропроцессорной системы, хотя и требует дополнительных затрат на аппаратуру, усложнения структуры процессора. Основное ее применение — в микроконтроллерах, от которых не требуется решения слишком сложных задач, но необходимо максимальное быстродействие при заданной тактовой частоте.

4.4. Способы адресации операндов

Основная функция любого процессора — это выполнение команд. Каждая команда, выбираемая из памяти процессором, определяет алгоритм его поведения на ближайшие несколько тактов. Большая часть команд процессора работает с кодами данных (операндами). Одни команды требуют входных операндов (одного или двух), другие выдают выходные операнды. Все эти коды операндов могут располагаться как во внутренних регистрах процессора (наиболее удобный и быстрый вариант), так и в системной памяти (самый распространенный вариант). Существуют разные методы, с помощью которых через код команды можно указать место расположения операндов. Эти методы называются методами адресации. Количество методов адресации в различных процессорах может быть от 4 до 16. Рассмотрим несколько наиболее часто распространенных методов адресации операндов.

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


Рис. 4.7.  Непосредственная адресация.

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


Рис. 4.8.  Прямая адресация.

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

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


Рис. 4.9.  Регистровая адресация.


Рис. 4.10.  Косвенная адресация.

Реже встречаются еще два метода адресации.

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

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

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

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

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

4.7. Система команд процессора

 

В настоящее время наметилось два направления развития микропроцессоров:

 

  • RISC процессоры (процессоры с сокращённым набором команд)
  • CISC процессоры (процессоры с полным набором команд)

 

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

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

 

Классификация команд МП

 

Классификация команд по основным признакам представлена на рис. 4.16.

Рис. 4.16. Классификация команд

 

По функциональному назначению команды процессора включает в себя следующие основные группы команд:

  • Команды передачи (пересылки) данных;
  • Команды обработки данных (арифметические, логические);
  • Команды передачи управления (переходов);

Команды пересылки данных не требуют выполнения никаких операций над операндами. Даные просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.

Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.

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

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

По числу адресов различают однооперандными (или одноадресные) и двухоперандные (или двухадресные).

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

 

Ассемблеры

 

Как известно, для исполнения в ЭВМ команды программы должны быть представлены в двоичном (машинном) коде. Зачастую даже для выполнения одной и той же операции над разными регистрами процессора используются разные команды. Работа с машинными кодами команд для человека очень затруднительна. Текст программы, записанной в машинных кодах не нагляден. Чтобы уменьшить объём запоминаемой информации и увеличить наглядность исходного текста программы, каждой операции процессора назначают мнемоническое обозначение (обычно используют сокращения английских слов, обозначающих эту операцию). Для операции копирования используется мнемоническое обозначение MOV; для операции суммирования используется мнемоническое обозначение ADD; для операции вычитания используется мнемоническое обозначение SUB; для операции умножения используется мнемоническое обозначение MUL и т.д.

Мнемоническое обозначение команды дополняют используемыми ей операндами, которые перечисляются через запятую. При этом в большинстве случаев операнд приёмник информации записывается первым, а операнд источник информации вторым.

Например:

MOV R0, A ;Скопировать содержимое регистра A в регистр R0

ADD A, R5 ;Просуммировать содержимое регистров R5 и A, результат поместить в регистр A

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

Ассе́мблер (от англ. assembler — сборщик) — компьютерная программа, компилятор и транслятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. Ассемблеры, специфичны конкретной архитектуре процессора, операционной системе и варианту синтаксиса языка. Вместе с тем существуют мультиплатформенные ассемблеры, которые могут работать на разных платформах и операционных системах. Результатом ассемблирования является объектный модуль, содержащий разрозненные и непривязанные друг к другу части машинного кода и данных программы, из которого  в дальнейшем с помощью программы-компоновщика («линкера») может быть скомпонован исполняемый модуль.

4.8. Условно-графическое обозначение процессора (на примере КР580ВМ80А). Управляющие сигналы процессора

 

Условно-графическое обозначение КР580ВМ80А приведено на рис. 4.21. Виды управляющих сигналов приведены в табл. 4.1

 

 

 

                    Рис. 4.21. Условно-графическое обозначение процессора

 

 

 

 

                                                          Табл. 4.1. Управляющие сигналы МП КР580ИК80А

Обозначение

Наименование

Функциональное назначение и условия возникновения

Сигналы управления шинами

ПМ (DBIN)

Разрешение приема информации с шины данных системы (выходной)

Шина данных ШД (0-7) МП находится в режиме приёма информации

Признак выдачи информации на шину данных (выходной)

На шину данных ШД (0-7) МП выдана информация для записи в ЗУ или во внешнее устройство

Сигналы управления прямым доступом к памяти

ЗХ (ЗШ) (HOLD)

Захват шины (входной)

Запрос на прямой доступ к памяти со стороны внешнего устройства

ПЗХ (ПЗШ) (HLDA)

Подтверждение захвата шин (выходной)

Признак доступа внешнего устройства к шинам данных и адреса системы. Выходы шин ШД (0-7), ША (0-15) МП в состоянии с высоким выходным сопротивлением

Сигналы управления прерываниями

ЗПР (INT)

Запрос прерывания (входной)

Запрос прерывания работы процессора, проверяется в состояниях ожидания во время останова а также в конце выполнения команды, если установлен триггер разрешения прерывания

РПР (INTE)

Разрешение прерывания (выходной)

Разрешение прерывания. Соответствует состоянию внутреннего триггера разрешения прерывания

Сигналы управления асинхронной передачей данных

ГТ (READY)

Готовность данных к передаче (входной)

Информация для обмена между ЗУ или внешними устройствами и МП готова. При отсутствии сигнала готовности ГТ микропроцессор переходит в состояние ожидания и выходит из него при поступлении сигнала ГТ

ОЖ (WAIT)

Ожидания (выходной)

Микропроцессор находится в состоянии ожидания

Сигналы общего назначения

С (SYNC)

Синхронизация (выходной)

Начало машинного цикла. По этому сигналу на шину данных ШД (0-7) микропроцессор выдаёт управляющее слово

СБР (RESET)

Вместе с этой лекцией читают «2.2 Этапы проектирования пользовательского интерфейса».

Сброс (входной)

Сигнал устанавливает в нуль счётчик команд, сбрасывает триггеры разрешения прерывания и захват шин

С1, С21, Ф2)

Тактовые импульсы (входные)

Постоянно подаются на МП, обеспечивают тактирование

 

Микропроцессоры


Классификация

По числу больших интегральных схем (БИС) в микропроцессорном комплекте различают микропроцессоры однокристальные, многокристальные и многокристальные секционные.

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

Для обоснования классификации микропроцессоров по числу БИС надо распределить все аппаратные блоки процессора между основными тремя функциональными частями: операционной, управляющей и интерфейсной. Сложность операционной и управляющей частей процессора определяется их разрядностью, системой команд и требованиями к системе прерываний; сложность интерфейсной части разрядностью и возможностями подключения других устройств ЭВМ (памяти, внешних устройств, датчиков и исполнительных механизмов и др.). Интерфейс процессора содержит несколько десятков информационных шин данных (ШД), адресов (ША) и управления (ШУ).

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

На рис. 1.1,а показано функциональное разбиение структуры процессора при создании трехкристального микропроцессора (пунктирные линии), содержащего БИС операционного (ОП), БИС управляющего (УП) и БИС интерфейсного (ИП) процессоров.

Рис. 1.1 Функциональная структура процессора (а) и ее разбиение для реализации процессора в виде комплекта секционных БИС.

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

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

Многокристальные секционные микропроцессоры получаются в том случае, когда в виде БИС реализуются части (секции) логической структуры процессора при функциональном разбиении ее вертикальными плоскостями (рис. 1,б). Для построения многоразрядных микропроцессоров при параллельном включении секций БИС в них добавляются средства «стыковки».

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

Таким образом, микропроцессорная секция это БИС, предназначенная для обработки нескольких разрядов данных или выполнения определенных управляющих операций. Секционность БИС МП определяет возможность «наращивания» разрядности обрабатываемых данных или усложнения устройств управления микропроцессора при «параллельном» включении большего числа БИС.

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

По назначению различают универсальные и специализированные микропроцессоры.

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

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

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

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

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

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

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

Одним из направлений дальнейшего совершенствования аналоговых микропроцессоров является повышение их универсальности и гибкости. Поэтому вместе с повышением скорости обработки большого объема цифровых данных будут развиваться средства обеспечения развитых вычислительных процессов обработки цифровой информации за счет реализации аппаратных блоков прерывания программ и программных переходов.

По характеру временной организации работы микропроцессоры делят на синхронные и асинхронные.

Синхронные микропроцессоры — микропроцессоры, в которых начало и конец выполнения операций задаются устройством управления (время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов).

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

По организации структуры микропроцессорных систем различают микроЭВМ одно- и многомагистральные.

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

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

По количеству выполняемых программ различают одно- и многопрограммные микропроцессоры.

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

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

<<< Содержание >>>

Архитектура микропроцессоров 80×86 – Структура процессоров Intel 8080 8086 80286

КомпьютерПресс №1 1991. И. Вязаничев, И. Липкин.

Немного истории

Появление первых микропроцессоров можно смело назвать эпохальным событием второй половины XX века, которым мы обязаны фирме Intel Corporation of Santa Clara, что в знаменитой Кремниевой долине в Калифорнии.

Все началось в 1971 году, когда фирма создала микросхему 4004, сумев разместить в одном кристалле большую часть компонентов процессора. Раньше подобное устройство представляло собой весьма объемистый блок. На базе 4004 был сделан первый микрокалькулятор, по тем временам казавшийся чудом техники. Почти в то же время появился специализированный микропроцессор 8008, который предназначался для использования в терминале вычислительной машины. Несмотря на то, что эти микросхемы были встречены без всеобщего восторга, видимо из-за их высокой стоимости и традиционной инертности мышления производителей электронной аппаратуры, фирма Intel продолжила свои работы в этой области, и после объявления в 1974 году о выпуске микропроцессора второго поколения 8080, компьютерная промышленность наконец зашевелилась.

Intel 8080 был первым универсальным устройством, предназначенным не только для замены жесткой логики, но и для вычислений. Он имел довольно высокую производительность, позволял адресовать значительный объем памяти, да и спектр его возможностей был существенно шире, чем у предшественников. Все это, очевидно, послужило причиной того, что микропроцессор быстро стал общепризнанным стандартом, и многие фирмы начали выпускать его по лицензии. Стали появляться улучшенные версии, например, Z80 фирмы Zilog или V10 фирмы NEC, но структура оставалась прежней. Кстати, и сама фирма Intel в 1976 году тоже выпустила модернизированный вариант кристалла 8080,— микропроцессор 8085 — заметно улучшенный аппаратно и, кроме того, дополненный несколькими командами. В него был встроен тактовый генератор и контроллер шины, добавлен простой последовательный порт и увеличена тактовая частота.

В 1978 году появилось третье поколение микропроцессоров, и опять фирма Intel оказалась лидером — кристалл 8086 стал первым микропроцессором, оперирующим 16-разрядными словами данных. Он обладал весьма высокой по тем временам производительностью и серьезными возможностями, в том числе полной десятичной арифметикой, что позволяло применять его в самых различных областях.

Здесь хотелось бы упомянуть, что фирма Intel неоднократно делала, как сказали бы военные, «маневры тактического отступления», приводившие ее к очередному успеху. Например, в 1979 году она упростила процессор 8086, создав микросхему 8088 с 8-разрядной внешней шиной данных. Двумя годами позже фирмой IBM на основе этого кристалла был создан один из первых «настоящих» персональных компьютеров, и всемирное триумфальное шествие микропроцессоров фирмы Intel началось.

Другим «отступлением» явилось создание однокристальной микро-ЭВМ 8748, объединившей процессор, тактовый генератор, контроллер шины, постоянное запоминающее устройство для хранения программ, маленькое ОЗУ и два дополнительных параллельных порта — и все это в единственной микросхеме. Возможности этого. устройства были сильно ограничены — объем оперативной памяти составлял мизерную величину в 64 байта, да и адресуемое пространство программ и количество внешних устройств также были небольшими. Правда, несмотря ни на что, 8748 вместе с еще более простым вариантом — 8035 — быстро завоевали рынок несложных устройств управления.

Но вернемся к семейству 8086. В 1983 году Intel разработала еще два микропроцессора, представлявших собой усовершенствованные варианты 8086 и 8088 — 80186 и 80188, однако получить широкого распространения они не успели, так как в том же году появился процессор 80286, ставший серьезным шагом вперед. Всего через год на его базе был создан персональный компьютер IBM PC/AT, предоставивший в распоряжение пользователя вычислительные мощности средней ЭВМ. С появлением виртуального режима стало возможным создавать на базе 80286 системы с разделением ресурсов, что раньше было прерогативой больших машин. В микропроцессоре было также реализовано управление памятью.

О более поздних моделях процессоров фирмы Intel мы попытаемся рассказать в следующих статьях, посвященных их архитектуре.

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

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

Зачастую, в однокристальных микропроцессорах используется совмещенная шина данных и адреса, что объясняется небольшим количеством выводов корпуса микросхемы (обычно 40-48). Устройство управления реализует определенный набор команд, выдавая соответствующие управляющие сигналы различным узлам и внешним устройствам. Набор команд (фактически — логика работы устройства управления) реализован аппаратно и не может быть изменен разработчиком вычислительного устройства.

В многокристальных микропроцессорах используется несколько микросхем, каждая из которых реализует отдельный узел процессора. Как правило такими узлами являются секции АЛУ, блок микропрограммного управления, специальное постоянное запоминающее устройство, содержащее команды, представляющие собой последовательности микроинструкций процессора, а также узлы, обеспечивающие работу микропроцессора. Обычно секции АЛУ выпускаются с определенной разрядностью, но возможно параллельное соединение секций, что дает возможность получения вычислительных систем практически любой разрядности. Такие микропроцессоры применяются в мощных и быстродействующих устройствах, в частности, предназначенных для управления сложными объектами, производствами и т.д.

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

И.Вязаничев

Архитектура микропроцессоров

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

Кроме того, в микропроцессоре обязательно используются шины. Шина — это совокупность линий, по которым передаются цифровые сигналы, необходимые для обмена информацией между устройствами. В микропроцессорах фирмы Intel выделяют три шины: шину данных, шину адреса и шину управления. Кроме того, под шиной может подразумеваться стандартный набор линий, объединяющий в себе все эти три группы.

Архитектура микропроцессора i8080

8080 является однокристальным микропроцессором, работающим с 8-разрядной шиной данных и 16-разрядной шиной адреса. Управляющие сигналы передаются по шине управления. Шины отделены друг от друга. Структура Intel 8080 приведена на рис. 1.

Рис.1. Внутренняя структура микропроцессора 8080. Увеличить рисунок

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

В следующем такте микропроцессор проверяет состояние сигналов на входе готовности и запрос останова. При их наличии микропроцессор переходит в соответствующее состояние. В противном случае, после появления на шине управления сигналов, подтверждающих выдачу кода команды на шину данных, устройство управления подключает к ней регистр команды и записывает в нее полученный код. Это требуется потому, что команда передается только в первом машинном цикле, а сохранить ее нужно на все время выполнения команды. Из регистра команды ее код поступает в дешифратор команды и затем в устройство управления, которое в зависимости от поступившей команды либо сразу переходит к ее выполнению, либо считывает данные или адрес, расположенные сразу после кода команды и необходимые для ее выполнения. На это тратится третий такт и, если это необходимо, четвертый и пятый такты. Таким образом, вся команда выполняется за 3-5 тактов. При тактовой частоте 2 МГц это составляет 1.5-2.5 мкс.

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

После выполнения каждой команды проверяется состояние входа запроса прерывания. Если этот сигнал присутствует, то текущая программа приостанавливается и на шину данных выдается сигнал «подтверждение прерывания». Затем внешний контроллер прерываний передает по шине данных команду и адрес перехода к подпрограмме обработки прерывания. По окончании обработки прерывания происходит возврат к выполнению прерванной программы.

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

Следующим важным узлом микропроцессора является блок регистров. Он включает в себя 16-разрядный регистр для временного хранения данных WZ, шесть 8-разрядных регистров общего назначения B, C, D, E, H, L, которые могут использоваться парами в качестве 16-разрядных — BC, DE, HL (это сделано прежде всего для удобной работы с адресами). Кроме того, блок регистров содержит 16-разрядный регистр адреса команды IP (программный счетчик), 16-разрядный регистр указателя стека SP, а также 16-разрядную схему инкремента-декремента. С помощью последней изменяется, например, состояние программного счетчика после выполнения каждой следующей команды.

Еще один важный узел — регистр результата (аккумулятор), связанный с АЛУ и используемый для хранения одного из исходных операндов или результата выполнения команды.

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

Архитектура микропроцессора i8086

Микропроцессор Intel 8086 — существенно отличается от i8080. В нем применена новая значительно более мощная и гибкая система команд, есть возможность адресации 1 Мбайта памяти, обращения к 65536 устройствам ввода и такому же количеству устройств вывода информации.

В i8086 имеется возможность изменения внутренней аппаратной конфигурации с помощью специального управляющего сигнала. В более простом режиме 8086 ориентирован на использование в простых вычислительных и управляющих устройствах. При этом микропроцессор сам вырабатывает сигналы управления шиной и обеспечивает прямой доступ к ней посредством контроллера Intel 8257. В режиме полной конфигурации обеспечивается работа с контроллером шины 8288, который декодирует три сигнала состояния процессора и в зависимости от них выдает семь сигналов управления шиной. Такой режим используется в мультипроцессорных системах и в сложных вычислительных устройствах, в частности, в компьютере IBM PC/XT.

Интересно организована память: хранение 16-разрядных слов осуществляется в виде отдельных байтов, причем байты, передающиеся по восьми младшим линиям шины данных (D7-D0), собраны в банк 0, а передаваемые по восьми старшим линиям — в банк 1. Объем каждого банка составляет 512 Кбайт. Таким образом, нечетные байты хранятся в банке 1, а четные. — в банке 0. Выбор банка осуществляется с помощью младшего адреса и сигнала управления старшими разрядами шины данных.

Еще одна важная особенность — возможность обработки 256 типов прерываний (от 0 до 255), в том числе есть прерывания, определяемые пользователем, и пошаговые прерывания.

Микропроцессор Intel 8086 приспособлен для работы с несколькими процессорами в одной системе, причем возможно использование как независимых процессоров, так и сопроцессоров. Отличие заключается в том, что независимый процессор выполняет свою собственную последовательность команд, а сопроцессор следит за потоком команд центрального процессора и выделяет из него «свои» команды, расширяя набор команд основного процессора и улучшая таким образом характеристики системы. Для поддержки этих режимов используются команды ESC, LOCK и XCHG, а также специальные управляющие сигналы, позволяющие разрешать конфликты доступа к общим ресурсам.

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

Микропроцессор i8086 состоит из трех основных частей: устройства сопряжения шины, устройства обработки и устройства управления и синхронизации.

Устройство сопряжения шины состоит из шести 8-разрядных регистров очереди команд, четырех 16-разрядных регистров адреса команды, 16-разрядного регистра команды и 16-разрядного сумматора адреса (см. рис. 2). Оно выполняет следующие функции: выбирает команды из памяти и записывает их в регистр очереди команд, вычисляет и формирует физический адрес, читает операнды из памяти или из регистров и записывает результат выполнения команд в память или в регистры.

Рис.2. Внутренняя структура микропроцессора 8086. Увеличить рисунок

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

Устройство обработки содержит 16-разрядное арифметико-логическое устройство, восемь 16-разрядных регистров общего назначения и 16-разрядный регистр флагов. Регистры могут использоваться как 16-разрядные или как пары 8-разрядных (при этом их количество удваивается).

Архитектура микропроцессора i80286

Кристалл 80286 представляет для читателя интерес прежде всего потому, что является, пожалуй, наиболее распространенным микропроцессором из применяющихся в персональных компьютерах. Как и его предшественник — 8086 — он имеет 16-разрядные шины данных и адреса и самым характерным его отличием можно считать, помимо большей тактовой частоты, возможность работы в режиме виртуальной адресации (адресация памяти объемом более 1 Мбайта), речь о котором пойдет ниже.

Регистры

Как и любой процессор, Intel 80286 содержит некоторое количество ячеек памяти быстрого доступа, называемых регистрами. В состав i286 входят три набора по четыре регистра и один специальный регистр — указатель команды.

Регистры общего назначения

Первый набор включает в себя регистры общего назначения или РОН, необходимые для временного хранения тех операндов и результатов вычислений, доступ к которым постоянно повторяется в процессе выполнения программы. Использование РОН в подобных случаях существенно ускоряет работу системы за счет сокращения времени чтения/записи и пересылки данных из ОЗУ. Всего регистров общего назначения четыре, они, разумеется, 16-разрядные, но могут использоваться и как 8-разрядные (однобайтные), при этом их количество удваивается.

Функции всех РОН, в основном, идентичны, но в некоторых случаях архитектура предполагает их строгую специализацию. Например, при выполнении команд обработки строк и циклов, в одном из регистров должно храниться число, равное количеству итераций. Этот регистр выполняет роль счетчика (counter) и носит название CX. Остальные регистры выполняют функции аккумулятора (AX), базы (BX) и ячейки временного хранения данных (DX). Как мы уже знаем, каждый регистр из числа РОН может быть разделен на два однобайтных, один из которых (0-7) называется младшим (Low), а другой (7-15) — старшим (High). В соответствии с этим, каждый 8-разрядный регистр получил свое название: младшие именуются AL, BL, CL, DL, а старшие — AН, BН, CН и DH (рис. 3).

Рис.3. Регистры общего назначения

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

Режим реального адреса

Адресная шина процессора 80286 имеет ширину 16 бит, к тому же известно, что максимальное двоичное число длиной в два байта равно 216 или 64 Кбайт и, если адрес задается таким числом, то, вроде бы, пространство ОЗУ, с которым может работать процессор, не должно превышать 64 Кбайт. С другой стороны, 1 Мбайт памяти можно адресовать с помощью двоичного числа длиной 20 бит (220). Как быть?

Можно, например, воспользоваться двойным адресом, ведь в повседневной жизни нам приходится постоянно сталкиваться с многоступенчатыми адресами: мы пишем на почтовом конверте сначала название города, потом — улицы, дома и т.д. (Предположим на мгновенье, что все квартиры в СССР пронумерованы последовательно, каково придется почте в такой ситуации?) Разработчики 80286 решили проблему подобным же образом: полный адрес ячейки памяти состоит из комбинации двух 16-разрядных чисел, причем одно из них предназначили для адресации внутри некоторой области ОЗУ размером 64 К байта, а второе — для локализации этой области во всем пространстве ОЗУ. Область, внутри которой происходит адресация, называется сегментом, а адрес внутри сегмента — внутрисегментным смещением. Адрес, локализующий положение сегмента в оперативной памяти, содержится в одном из специальных сегментных регистров процессора, но он тоже 16-разрядный. Для того, чтобы при помощи этого адреса можно было перекрыть все пространство ОЗУ, со стороны младшего байта его дополняют четырьмя нулями. Например, если содержимое сегментного регистра: 0001.1101.1000.1111 (или 1D8F16) то адрес начала соответствующего сегмента будет равен: 0001.1101.1000.1111.0000 (или 1D8F016). Таким образом можно искусственно разделить всю память на сегменты, начинающиеся по адресам, кратным 1610. Предположим, что внутрисегментное смещение нашей ячейки задано числом 1001.1011.0010.0101 или 9В2516, в этом случае ее реальный адрес будет равен сумме адреса сегмента и внутрисегментного смещения: 1D8F016+9B2516 = 2701516 (рис. 4).

Рис.4. Формирование адресов байта или слова

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

Теперь вернемся к регистрам.

Указательные и индексные регистры

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

Регистры SI (индекс источника) и DI (индекс приемника) называются указательными и содержат смещения в текущем сегменте данных. Регистры SP (указатель стека) и ВР (указатель базы) называются базовыми и содержат смещения в текущем сегменте стека (рис. 5). Для тех, кто забыл или не знает, напомню, что стек — это способ организации работы с оперативной памятью по принципу LIFO (Last In — First Out), что в переводе означает: «последним вошел — первым вышел», то есть слово данных, помещенное в стек последним, будет извлечено оттуда в первую очередь. Само слово стек произошло от английского stack — скирда. И действительно, область памяти, организованную в виде стека, можно сравнить со скирдой сена: последние, уложенные сверху снопы будут использованы первыми — никому не придет в голову выгребать сено из середины. Для работы со стеком необходимо знать две величины: адрес дна и адрес вершины стека. Если адрес дна — число фиксированное, то адрес вершины зависит от того, сколько байтов данных содержится в стеке. В нашем случае адрес вершины находится в регистре SP.

Рис.5. Указательные и индексные регистры

Регистры SI и DI содержат смещения, соответственно, источника и приемника при выполнении команд обработки строк MOVSB, MOVSW, LODSB, LODSW, STOSB, STOSW и команды LOOP.

Сегментные регистры

Если мы вспомним, что программа в любой момент может обратиться к одному из четырех сегментов: к текущему сегменту кода, данных, стека или к дополнительному (сегменту данных), то нас вряд ли удивит, что в состав процессора входят четыре 16-разрядных регистра, являющихся указателями адресов текущих Сегментов. Их функции строго дифференцированы, а потому каждый регистр имеет свою «профессию»: CS определяет сегмент кода, DS — сегмент данных, SS — сегмент стека и ES — дополнительный сегмент (рис. 6).

Рис.6. Сегментные регистры

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

Флажки

Не знаю как для вас, а для нас более привычно звучит термин «слово состояния», ведь, собственно говоря, совокупность значений флажков и определяет состояние процессора во время его работы. В самом общем случае слово состояния — это двоичное число, каждый бит которого отражает строго определенный параметр состояния устройства. Что касается 80286, то здесь биты слова состояния называются флажками, всего их девять, причем шесть из них регистрируют состояние процессора, а три — применяются для управления его работой (рис. 7).

Рис.7. Указатель команды и флажки

К флажкам состояния относятся: флажок переноса CF (имеет значение равное 1 при переносе из старшего бита) флажок вспомогательного переноса AF (индицирует перенос из младших 4-х бит) флажок переполнения OF (устанавливается равным единице при выходе знакового результата за границу диапазона) флажок нуля ZF (фиксирует нулевой результат выполнения команды) флажок знака SF (фиксирует отрицательный результат выполнения команды) флажок четности PF (фиксирует четное число единиц в последнем байте, полученном в результате выполнения команды)

К флажкам управления относятся: флажок направления DF (указывает направление прохождения строк в строковых командах) флажок разрешения прерывания IF (разрешает или запрещает прерывание по входу INTR) флажок трассировки TF (переводит процессор в пошаговый режим)

В следующем номере мы расскажем вам о режимах адресации процессора i286.

И. Вязаничев, И. Липкин
КомпьютерПресс 1’91

Знание программного и аппаратного обеспечения: ВНУТРЕННЯЯ ОРГАНИЗАЦИЯ ПРОЦЕССОРА

ВНУТРЕННЯЯ ОРГАНИЗАЦИЯ ПРОЦЕССОРА: —
Процессор содержит различные регистры, используемые для промежуточного хранения информации, кроме ALU и управляющего оборудования.
Регистр команд (IR): —
Содержит руководство, которое на данный момент выполняется — его результат доступен схемам управления, которые генерируют флаги синхронизации, которые управляют различными компонентами обработки, включенными в выполнение руководства.

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

n Регистры общего назначения (от R-0 до Rn-1): —
Облегчает переписку с первичной памятью. Доступ к информации в этих регистрах намного быстрее, чем к информации, хранящейся в областях памяти, на том основании, что регистры находятся внутри процессора.Большинство современных ПК имеют от 8 до 32 широко используемых регистров.

Регистр адреса памяти (MAR): —
содержит местоположение области, в которую или из которой должен осуществляться обмен информацией.

Регистр данных памяти (MDR): —
содержит информацию, которая должна быть записана или считана из места.
Шаги, включенные во время работы: —

1. Программа помещается в основную память.

2. Компьютер предназначен для индикации первой направляющей системы.

3. Субстанция ПК передается в MAR и знак контроля чтения отправляется в память.

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

5. В ИР передаются вещества МЛУ. В настоящее время руководство также готовится к расшифровке и исполнению.

6. В случае, если указание включает операцию, выполняемую ALU, обязательные операнды должны быть получены из памяти (или регистров ЦП).Это завершается отправкой его доставки в MAR и запуском цикла чтения.

7. Операнды считываются из памяти в видеорегистратор и передаются от видеорегистратора на ALU.

8. ALU выполнит желанную операцию.

9. Если результат должен быть сохранен в памяти, он отправляется в MDR.

10. Местоположение области, куда должен быть помещен результат, отправляется в MAR, и запускается цикл записи.

11. Рано или поздно во время выполнения настоящего направления содержание ПК увеличивается на
, так что теперь ПК указывает, что следует выполнить следующее направление.

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

ПРИМЕЧАНИЕ: — , несмотря на обмен информацией между памятью и процессором, ПК подтверждает информацию от гаджетов данных и отправляет информацию для выходных гаджетов. Например, устройство обнаружения в механической процедуре, управляемой ПК, может обнаружить небезопасное состояние. Здесь гаджет предупреждает о вторжении. Препятствие — это запрос от устройства ввода-вывода для администрирования процессором.В настоящее время процессор передает запрошенное администрирование, выполняя примерное вмешательство в график администрирования. Внутреннее состояние процессора в такие минуты (например, сущность ПК, общие регистры и некоторые управляющие данные) сохраняются в областях памяти. В момент, когда вмешательство в процедуру администрирования закончено, состояние процессора восстанавливается, так что обычный проект может быть продолжен.

Организация и архитектура компьютеров — Разработка процессоров

Обзор конструкции процессора

ЦП должен выполнять следующие операции или задачи:

Получение инструкции : ЦП считывает инструкцию из памяти.

Интерпретировать инструкцию : инструкция декодируется, чтобы определить, какое действие требуется.

Выборка данных: Для выполнения инструкции может потребоваться чтение данных из памяти или модуля ввода-вывода.

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

Запись данных: Результат выполнения может потребовать записи данных в память или в модуль ввода-вывода.
Для выполнения этих задач должно быть ясно, что ЦП должен временно хранить некоторые данные. Он должен запомнить расположение последней инструкции, чтобы знать, где взять следующую инструкцию. Ему необходимо временно хранить инструкции и данные, пока инструкция выполняется. Другими словами, процессору требуется небольшая внутренняя память. Эти места хранения обычно называются регистрами.

Основными компонентами ЦП являются арифметико-логический блок (ALU) и блок управления (CU).ALU выполняет фактическое вычисление или обработку данных. CU управляет перемещением данных и инструкций в CPU и из него, а также управляет работой ALU.

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

Шина данных:
Шина данных используется для передачи данных между основной памятью и ЦП.

Адресная шина:
Адресная шина используется для доступа к определенной области памяти путем ввода адреса этой области памяти.

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

ЦП состоит из трех основных компонентов: банк регистров, ALU и блок управления. Между этими модулями осуществляется несколько перемещений данных, и для этого используется внутренняя шина ЦП. Внутренняя шина ЦП необходима для передачи данных между различными регистрами и АЛУ.

Внутренняя организация ЦП на более абстрактном уровне показана на рисунке ниже

Рисунок: ЦП с системной шиной


Рисунок: Внутренняя структура ЦП

Зарегистрировать организацию

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

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

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

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

Регистры общего назначения
Регистры данных
Адресные регистры
Коды состояний

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

В других случаях существует частичное или чистое разделение регистров данных и регистров адреса.

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

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

Указатель сегмента: В машине с сегментной адресацией регистр сегмента хранит адрес основания сегмента. Может быть несколько регистров, один для сегмента кода и один для сегмента данных.

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

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

Коды состояния

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

Зарегистрировать организацию

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

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

Для выполнения инструкции необходимы четыре регистра:

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

Регистр команд (IR): Содержит последнюю выбранную команду. Выбранная инструкция загружается в IR, где анализируются спецификаторы кода операции и операнда.

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

Регистр буфера памяти (MBR): Содержит слово данных для записи в память или последнее прочитанное слово. Содержимое MBR напрямую подключается к шине данных, также известной как регистр данных памяти (MDR).

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

Слово состояния процессора

Все конструкции ЦП включают регистр или набор регистров, часто называемый словом состояния процессора (PSW), который содержит информацию о состоянии.

PSW обычно содержит коды состояния и другую информацию о состоянии. Общие поля или флаги включают следующее:

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

Ноль : Устанавливается, когда результат равен нулю.

Перенести : Устанавливается, если операция привела к переносу (добавлению) или заимствованию (вычитанию) из бита высокого порядка.

Равно : Устанавливается, если результат логического сравнения равен.

Переполнение : Используется для обозначения арифметического переполнения.

Разрешение / запрет прерывания : Используется для включения или отключения прерываний.

Супервизор: Укажите, работает ли ЦП в супервизоре или в пользовательском режиме.
Некоторые привилегированные инструкции могут выполняться только в режиме супервизора, а доступ к определенным областям памяти возможен только в режиме супервизора.

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


Вас может заинтересовать:
Организация и архитектура компьютера — MCQ.
Онлайн-тесты по организации и архитектуре компьютеров

2.3 Внутренняя организация процессора По OpenStax (Страница 6/6)

  • Управляющий сигнал, который открывает ворота, позволяя содержимое MAR на адресную шину
  • Управляющий сигнал чтения из памяти на шине управления
  • Управляющий сигнал, который открывает ворота, позволяя сохранить содержимое шины данных в MBR
  • Управляющие сигналы для логики, которая добавляет 1 к содержимому ПК и сохраняет результат обратно в ПК.

После этого блок управления отправляет управляющий сигнал, который открывает ворота между MBR и IR.

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

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

A Пример сигналов управления

Чтобы проиллюстрировать работу блока управления, рассмотрим простой пример.Рисунок 6.5 иллюстрирует этот пример.

Рисунок 6.5 Пути данных и сигналы управления

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

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

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

2.3 внутренняя организация процессора

Рисунок 6.5 указывает на использование различных путей данных. Сложность организации такого типа должна быть очевидна. Чаще это какая-то внутренняя шина. Используя внутреннюю шину процессора, рисунок 6.5 можно изменить, как показано на рисунке 6.6.

Рисунок 6.6 ЦП с внутренней шиной

Одна внутренняя шина соединяет АЛУ и все регистры процессора. Шлюзы и управляющие сигналы предназначены для перемещения данных на шину и с нее из каждого регистра. Дополнительные управляющие сигналы управляют передачей данных на системную (внешнюю) шину и от нее, а также работой АЛУ.

В организацию добавлены два новых регистра, обозначенных Y и Z. Они необходимы для правильной работы ALU. Когда выполняется операция с двумя операндами, один может быть получен из внутренней шины, а другой должен быть получен из другого источника. Для этой цели можно использовать AC, но это ограничивает гибкость системы и не будет работать с процессором с несколькими регистрами общего назначения. Регистр Y предоставляет временное хранилище для другого входа.ALU — это комбинаторная схема без внутренней памяти. Таким образом, когда управляющие сигналы активируют функцию ALU, вход ALU преобразуется в выход. Таким образом, выход ALU нельзя напрямую подключить к шине, потому что этот выход будет возвращаться на вход. Регистр Z обеспечивает временное хранилище выходных данных, при таком расположении операция добавления значения из памяти в AC будет иметь следующие шаги:

t1: MAR <= (IR (адрес))

t2: MBR <= Память

t3: Y <= (MBR)

t4: Z <= (AC0 + (Y)

t5: ac <= (z)

Возможны и другие организации, но, как правило, используется какая-то внутренняя шина или набор внутренних шин.Использование общих путей передачи данных упрощает схему соединений и управление процессором. Еще одна практическая причина использования внутренней шины — экономия места. В особенности для микропроцессоров, которые могут занимать только квадратный кусок кремния размером 1/4 дюйма, пространство, занимаемое внутренними соединениями, должно быть минимизировано.

Внутренняя и внешняя обработка: каков ваш стиль мышления?

Понимание нашего стиля мышления, чтобы быть более эффективными коммуникаторами и лидерами

Был ли у вас когда-нибудь начальник, который так много говорит и разделяет столько идей, что вы, кажется, никогда не знаете, что делать? Или вы были в организации, которая требует, чтобы повестка дня и материалы для чтения рассылались за 24 часа до каждой встречи, вместо того, чтобы создавать возможности для импровизированного мозгового штурма?

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

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

Различные способы обработки одной и той же информации

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

Внутренние процессоры , вероятно, всю свою жизнь называли тихими. Они предпочитают, чтобы на собраниях была заранее предложена четкая повестка дня, чтобы они могли собраться с мыслями, и им нужно время, чтобы побыть наедине со своими идеями, чтобы они могли их понять.Если другие люди не поймут, что происходит, внутренние процессоры могут обнаружить, что другие воспринимают их молчание как личное или что другие не видят в них командного игрока, потому что они не бросаются в бой со своими идеями. Часто внутренние процессоры — это члены команды, которые посещают следующую встречу, желая обсудить все, что обсуждалось на последней встрече, — а другие считают, что команда никогда не сможет двигаться вперед, потому что каждая встреча — это отрыжка предыдущей сессии,

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

Разве это не интроверсия против экстраверсии?

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

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

Определите свой тип обработки

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

Внутренние процессоры:
  • Нужно время, чтобы побыть наедине со своими мыслями
  • Предпочитаю иметь время, чтобы подготовить свои мысли перед встречей
  • Разбирая свои мысли, вы предпочли бы прогуляться в одиночку, чем долгая беседа с близким другом или коллегой
  • Облечь свои мысли словами может быть непросто, и вам не нравится, когда вас просят сразу же поговорить о чем-то важном
  • Другие могли принять ваше молчание на свой счет или действовать раздраженно, когда вы добавляете свои мысли после окончания встречи (даже если вам просто нужно было время подумать!) испытываете стресс, вы склонны делиться своими мыслями и чувствами, чтобы справиться с ними.
  • Иногда вы обнаруживаете, что говорите вслух, даже если вокруг никого нет
  • Это расстраивает вас, когда кто-то вскакивает с решениями до того, как вы закончили говорить что-то через
  • Другие могут посчитать вас болтливым или взбалмошным, потому что они ожидают, что вы только поделитесь ваши последние мысли, а не дать вам время проработать их.

Сведите к минимуму коммуникационные пробелы

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

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

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

Максимизируйте командную работу через понимание различий

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



Автор: Сара Бирчер

Сара Бирчер — автор контента и стратег из Сан-Франциско, Калифорния. С 2003 года Сара предоставляет услуги по написанию текстов и цифровому маркетингу в сфере обучения лидерству, коучинга и консалтинга. Она работала с консультантами, сотрудничающими с компаниями из списка Fortune 500, организациями по обучению лидерству, руководящими тренерами, бизнес-тренерами,… Просмотреть полный профиль ›


Что такое внутренняя память в компьютерной архитектуре? Типы

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

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

Что такое внутренняя память?

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

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

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

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

Хотя существуют разные методы создания основной или внутренней памяти полупроводников, все полупроводниковые элементы обладают некоторыми общими свойствами, как описано ниже:

  1. Каждая ячейка памяти имеет два состояния, которые представляют двоичный 0 и 1.
  2. Каждая ячейка памяти может быть прочитана для определения состояния, которое она представляет.
  3. В каждую ячейку памяти можно записать, чтобы установить ее в определенное состояние, то есть 0 или 1.

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

Для записи ячейки электрический сигнал проходит через линию чтения / записи, которая устанавливает состояние ячейки в 0 или 1. При чтении одна и та же линия чтения / записи используется для вывода состояния ячейки.

Типы внутренней памяти

Внутреннюю память компьютера можно разделить на RAM, ROM и кэш-память.

Оперативная память (RAM)

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

Легко читать и записывать данные в оперативную память. Данные считываются или записываются в оперативную память с помощью электрических сигналов. Кроме того, память RAM имеет две другие формы DRAM и SRAM.

В динамическом ОЗУ (DRAM) ячейки памяти выполнены с использованием конденсаторов. Когда конденсаторы заряжены, значение этой ячейки памяти считается равным 1, а когда конденсатор разряжен, значение этой ячейки памяти считается равным 0. Это означает, что заряженный или незаряженный конденсатор представляет двоичную 1 или 0 соответственно.

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

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

Транзисторы ячейки памяти включаются для выполнения операции чтения и записи в этой конкретной ячейке памяти. Что ж, обе формы ОЗУ энергозависимы и требуют постоянного питания для сохранения своего битового значения.

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

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

На рисунке ниже показана структура ячейки памяти ПЗУ, где битовое значение ячейки памяти равно 0, если транзистор находится на нулевом уровне, в противном случае — 1.

Битовая линия подключена к источнику питания через резистор.Для чтения значения ячейки памяти активируется словарная линия, которая соединяет транзистор с землей. Это понижает напряжение разрядной шины до 0, если транзистор подключен к земле. Если нет соединения между транзистором и землей, разрядная линия остается под высоким напряжением, указывающим 1. Состояние ячейки памяти при соединении с землей определяется во время изготовления микросхемы.

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

В микросхему ПЗУ данные или программа встраиваются во время изготовления микросхемы, поэтому это приводит к большим фиксированным затратам, независимо от того, изготавливаете ли вы одну копию или больше. И даже нет возможности для ошибки даже в один бит, так как это испортит всю партию ROMS.

Подобно ОЗУ, ПЗУ также имеет некоторые другие формы, такие как программируемое ПЗУ, стираемое программируемое ПЗУ, электрически стираемое программируемое ПЗУ и флэш-память.

Программируемое ПЗУ (ППЗУ) используется, когда требуется несколько ПЗУ с определенным содержимым памяти. PROM можно записать только один раз, используя электрические сигналы.

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

EPROM можно стирать и обновлять многократно, и, как ROM и PROM, он сохраняет содержимое своей памяти, даже если нет источника питания.По сравнению с ROM и PRM, EPROM дороже.

Электрически стираемое программируемое ПЗУ (ЭСППЗУ) — это ПЗУ, которое можно стирать выборочно и записывать несколько раз. В отличие от EPROM, где все данные стираются под воздействием ультрафиолетовых лучей.

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

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

Кэш-память

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

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

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

Архитектура фон Неймана — обзор

2 Современные микропроцессорные компьютерные системы

Базовая физическая организация современного компьютера, основанная на модели архитектуры фон Неймана, состоит из 5 элементов, а именно памяти, управления, арифметики и логики. , ввод и вывод. Центральный процессор (ЦП) содержит блоки управления и арифметико-логические блоки.Функционирование компьютера — это в точности выполнение команд для обработки данных своим ЦП. Инструкции представляют собой примитивные операции, которые может выполнять ЦП, такие как перемещение содержимого ячейки памяти (называемой регистром , ) в другую ячейку памяти ЦП или добавление содержимого двух регистров ЦП. Блок управления выбирает данные / инструкции из системной памяти или основной памяти , иногда также называемой памятью с произвольным доступом (RAM).Затем данные обрабатываются арифметико-логическим блоком последовательно согласно инструкциям, декодированным блоком управления. Хранение как данных, так и инструкций в одном основном блоке памяти — важная особенность архитектуры фон Неймана. Блоки ввода и вывода обеспечивают интерфейс между компьютером и человеком.

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

Современный ЦП (микропроцессор) выполняет (как минимум) одну инструкцию за такт. Каждый тип архитектуры ЦП имеет свой уникальный набор инструкций, который называется архитектурой набора команд (ISA). Архитектура набора команд компьютера может представлять собой язык, который компьютер понимает. В зависимости от типа ISA существует два важных класса современных компьютерных архитектур (на основе микропроцессоров): архитектура CISC, (компьютер со сложным набором команд) и архитектура RISC (компьютер с сокращенным набором команд).Базовая архитектура CISC — это, по сути, архитектура фон Неймана в том смысле, что как инструкции, так и данные хранятся в общем блоке памяти. С другой стороны, базовая архитектура RISC имеет два полностью отдельных пространства памяти для инструкций и данных, что является функцией, которая была впервые введена в архитектуре Гарварда для преодоления узкого места в архитектуре фон Неймана из-за общих путей данных и инструкций между процессор и память. Философия CISC заключается в том, что ISA имеет большое количество инструкций (а также режимов адресации) с различным количеством требуемых тактовых циклов и временем выполнения.Также определенные инструкции могут выполнять несколько примитивных операций. Философия RISC заключается в том, что ISA имеет небольшое количество примитивных инструкций для упрощения производства оборудования, и поэтому сложные операции выполняются на программном уровне путем комбинирования более простых. В силу самой своей природы архитектура RISC обычно считается более быстрой и эффективной, чем сопоставимая архитектура CISC. Однако в связи с продолжающимся поиском улучшений и гибкости сегодня ЦП, выполняющий ISA на основе CISC, может демонстрировать определенные характеристики RISC и наоборот.Таким образом, возможности архитектур CISC и RISC трансформируются друг в друга. Примеры классической архитектуры CISC включают VAX (от DEC), PDP-11 (от DEC), Motorola 68000 (от Freescale / Motorola) и x86 (в основном от Intel). Современная архитектура CISC, x86-64, основанная на процессорах, таких как Pentium (от Intel) и Athlon (от AMD), в основном произошла от классической архитектуры CISC x86, но они демонстрируют несколько функций RISC. В настоящее время Xeon (от Intel) и Opteron (от AMD) — два довольно известных рыночных символа, основанных на архитектуре x86-64.Известные примеры архитектуры RISC включают MIPS (от MIPS Technologies), POWER (в основном от IBM), SPARC (в основном от SUN / Oracle), ALPHA (от DEC) и ARM для встроенных систем (от ARM Ltd.).

Сегодня Intel и AMD — два основных производителя микропроцессоров, каждый со своей собственной линейкой архитектур ЦП. Процессоры x86-64 от Intel и AMD, в основном возникшие как архитектуры CISC, теперь включают ряд функций RISC, особенно для обеспечения параллелизма на уровне инструкций ILP (подробности позже).Интересно, что сегодня микропроцессоры (от Intel и AMD) реализуют функцию RISC раздельного пространства памяти для данных и инструкций (по крайней мере, для кеш-памяти уровня 1).

Еще одна главная особенность современного ЦП состоит в том, что несколько ядер ЦП объединены на одном кристалле / кристалле с общим интегрированным контроллером памяти для всех ядер. Первоначально двухъядерные процессоры были представлены примерно в 2005 году, но с 2013 года на рынке стали широко доступны 12/16-ядерные процессоры, хотя цена может возрасти в разы с линейным увеличением количества ядер на чип. .Более того, получение максимальной производительности от большего количества ядер в одном кристалле ЦП в настоящее время является сложной задачей, в основном из-за ограничений пропускной способности памяти. Многоядерный процессор обеспечивает большее количество тактовых циклов, суммируя тактовые циклы, вносимые каждым из его ядер. Таким образом, хорошо известный закон Мура до некоторой степени сохраняет силу даже сегодня. Фактически, они обеспечивают решение проблем высоких требований к мощности и отводу тепла, реализуемых в случае, когда все ядра находятся в отдельных микросхемах ЦП, а не являются частью одной микросхемы ЦП [4].Увеличение тактовой частоты одного ядра ЦП (на основе кремния) практически невозможно из-за физических и практических препятствий. Многоядерная технология — это предложенное и приемлемое решение этого ограничения.

Еще одно сложное архитектурное новшество в нескольких современных архитектурах ЦП — возможность многопоточности на ядро ​​ЦП. Физическое ядро ​​обеспечивает более одного (обычно двух) логических процессоров (обычно два), которые могут быть задействованы в данном приложении.Общие реализации этой концепции включают в себя гиперпоточность , симметричную многопоточность (SMT) и многопоточность чип (CMT). Краткое введение в эту тему и общие характеристики современных процессоров дано Хагером и Веллейном ([5], 1–36). В следующих разделах обсуждаются последствия некоторых архитектурных особенностей современных процессоров (особенно многоядерных, многопоточных и ILP).

Что такое контроллер данных или процессор данных?

Ответ

Контроллер данных , определяет цели , для которых, а означает , с помощью которых обрабатываются личные данные.Итак, если ваша компания / организация решает, «почему» и «как» следует обрабатывать персональные данные, это ее контролер. Сотрудники, обрабатывающие персональные данные в вашей организации, делают это для выполнения ваших задач в качестве контроллера данных.

Ваша компания / организация является совместным контролером , когда вместе с одной или несколькими организациями она совместно определяет, «почему» и «как» следует обрабатывать личные данные. Совместные контролеры должны заключить соглашение, определяющее их соответствующие обязанности по соблюдению правил GDPR.Основные аспекты соглашения должны быть доведены до сведения лиц, данные которых обрабатываются.

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

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

Бывают ситуации, когда объект может быть контроллером данных или обработчиком данных, или и тем, и другим.

Примеры

Контроллер и процессор

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

Совместные контроллеры

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

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *