Введение в электронику
Шрифт:
Память компьютера — это просто некоторое количество регистров хранения. Данные могут быть загружены в регистры и могут быть выгружены оттуда или «считаны» для выполнения каких-либо операций, сохраняющих содержимое регистров. Каждому регистру или ячейке памяти сопоставлено число, называемое адресом. Адрес используется для определения места данных в памяти.
На рис. 36-4 изображено типичное распределение памяти.
Рис. 36-4. Распределение
Регистры памяти сохраняют двоичные данные. Эта память, обычно называемая памятью с произвольным доступом (RAM), основана на способности ячеек памяти хранить (записывать) или находить (читать) данные, или памятью только для чтения (ROM), способной только считывать данные из памяти.
Регистр адреса ячейки памяти обеспечивает доступ к определенным ячейкам памяти с помощью дешифратора адреса ячейки памяти. Размер регистра адреса ячейки памяти определяется максимальной емкостью памяти компьютера. Например, 16-разрядный регистр адреса ячейки памяти позволяет адресовать 216 или 65 536 ячеек памяти.
Слово, которое необходимо сохранить в памяти, помещается сначала в регистр данных, а после этого в нужную ячейку памяти. Для того, чтобы прочесть данные из памяти, определяется адрес ячейки памяти, и данные из ячейки памяти загружаются в сдвиговый регистр.
Блоки ввода и вывода компьютера позволяют принимать и передавать информацию, то есть обмениваться информацией с окружающим компьютер миром. Оператор или периферийное оборудование вводят данные в компьютер через блок ввода. Данные из компьютера поступают на внешнее периферийное оборудование через блок вывода.
Блоки ввода и вывода управляются центральным процессором. Для передачи данных в компьютер и из компьютера используются специальные команды ввода/вывода (I/O).
Большинство компьютеров могут выполнять команды ввода/вывода по запросу прерываний. Прерывание — это сигнал от внешнего устройства, запрашивающий вид обслуживания: передача или прием данных. Прерывание приводит к прекращению работы компьютера над текущей программой, и переходу к работе над другой программой. Когда работа по запросу прерывания завершается, компьютер возвращается к работе над прерванной программой.
36-1. Вопросы
1. Нарисуйте блок-схему компьютера.
2. Каковы функции следующих блоков компьютера?
а. Блока управления.
б. Арифметико-логического устройства.
в. Памяти.
г. Ввода.
д. Вывода.
3. Какова функция ROM (памяти только для чтения) компьютера?
4. Что показывает последовательность команд, которые должны быть выполнены?
5. Чем определяется количество данных, которое может храниться в компьютере?
6. Дайте определение программы.
Микропроцессор содержит четыре основные части: регистры, арифметико-логическое устройство, цепи синхронизации и управления и цепи дешифрации. Микропроцессор сконструирован таким образом, что команда или программа
Различные микропроцессоры отличаются друг от друга архитектурой и набором команд. На рис. 36-5 изображены основные части многих 8-разрядных микропроцессоров. Поскольку названия и количество регистров в различных микропроцессорах различны, они изображены и перечислены отдельно.
Рис. 36-5. Узлы 8-разрядного микропроцессора.
Аккумулятор — это регистр наиболее часто используемый в микропроцессоре. Он используется для приема или хранения данных из памяти или устройства ввода/вывода. Его работа также связана с работой арифметико-логического устройства. Количество разрядов в аккумуляторе определяет размер слова в микропроцессоре. В 8-разрядном микропроцессоре размер слова — 8 разрядов.
Регистр условия кода — это 8-разрядный регистр, позволяющий программисту проверить состояние микропроцессора в некоторой точке программы. В зависимости от микропроцессора этот регистр может называться регистром состояния процессора, регистром состояния или флаговым регистром (регистром признака). Один разряд в этом регистре называется флаговым разрядом. Чаще всех встречаются флаг переполнения, нулевой флаг и флаг знака. Флаг переполнения используется во время арифметических действий для определения необходимости переноса или заема. Нулевой флаг используется для определения наличия нулей во всех разрядах результата или команды. Флаг знака используется для указания знака числа — положительный или отрицательный. Из 8 разрядов этого регистра процессоры Motorola 6800 и Zilog Z80 используют 6 разрядов; процессор Intel 8080А использует 5; процессор MOS Technology 6502 использует 7.
Счетчик команд — это 16-разрядный регистр, содержащий адрес команды, извлеченный из памяти. По мере того как команды выполняются, содержимое счетчика увеличивается на единицу для извлечения адреса следующей команды. Содержимое счетчика команд может только увеличиваться. Однако, последовательность команд может быть изменена с помощью команд ветвления или перехода.
Указатель стека — это 16-разрядный регистр, содержащий адрес ячейки памяти данных, хранящихся в стеке. Стек будет обсуждаться немного позднее.
Большинство микропроцессоров имеют одинаковые наборы основных команд с различными машинными кодами и несколько собственных команд. Основные команды делятся на девять категорий:
1. Перемещение данных.
2. Арифметические.
3. Логические.
4. Сравнение и проверка.
5. Вращение и сдвиг.
6. Управление программой.
7. Стек.
8. Ввод/вывод.
9. Разные.
Команды перемещения данных перемещают данные из одного места в другое внутри микропроцессора и памяти (рис. 36-6). Данные перемещаются сразу по 8 бит в параллельном коде (одновременно) из одного места в другое.