Процессор ЭВМ. Выполнение команды. Назначение и характеристики регистров процессора.
1234
Процессор ЭВМ К настоящему времени сложилось понятие процессора (processor) как электронного устройства, реализованного, как правило, в виде однокристальной интегральной микросхемы. Процессор разрабатывается для физической реализации некоторого вычислительного процесса. Конструктор вычислительной системы (ВС) реализует с помощью процессоров необходимые функции по обработке данных. В ЭВМ это может быть управление обменом информацией между запоминающими устройствами разных типов, управление графическим изображением на экране монитора, или обработка нажатий клавиш на клавиатуре
Регистры. Общие положения Регистры — это встроенные в ЦП единицы памяти, время обмена с которыми на несколько порядков меньше, чем время обмена с ОП. Далее мы будем под термином «регистры» понимать только те из них, значения которых программист может изменять либо явно с помощью Регистры. Общие положения 39 команд чтения/записи, либо неявно, в результате выполнения других команд. Архитектурно предусмотрено 14 таких 16-битных регистров (слов). Каждый из регистров обладает как общими, так и особыми, отличными от других свойствами и функциями, определяемыми архи- тектурой ЦП. Каждый регистр (кроме флагов) имеет уникальное имя, которое используется (кроме имени регистра IP) в языке ассемблера в том виде, в каком оно определено на рис. 4. Структура процессора Внутренние функции ЦП логически разделены между двумя блоками. Это, как показано на рис. 4, Блок Выполнения Команд (БВК, EU Execution Unit) и Блок Связи с Шиной (БСШ, BIU — Bus Interface Unit). Блоки могут взаимодействовать синхронно, но чаще работают как раздельные асинхронные процессоры. БСШ выполняет функции чтения и организации очереди команд, чтения/записи их операндов, перемещения адресов ОП. Здесь сосредоточено также базовое управление шиной. БВК берет команды из очереди, созданной БСШ, и выполняет их. Эта структура обеспечивает эффективное временное совмещение процессов выполнения команд и чтения их из ОП в ЦП. Как правило, время, необходимое для чтения команды из ОП, не входит во время ее выполнения, поскольку Блок Выполнения Команд выполняет команду, уже прочитанную БСШ, что позволяет существенно увеличить быстродействие ЦП. Блок выполнения команд — БВК Находящееся в БВК 16-битовое арифметическое и логическое устройство (АЛУ) управляет статусом ЦП и битами регистра флагов, выполняет действия над значениями регистров общего назначения и получает команды из очереди команд, управляемой БСШ. Если команда требует доступа к ОП или УВВ для обмена, то БВК передает требование в БСШ для выполнения. Все регистры и пути данных в БВК имеют ширину 16 бит. БВК не имеет связи с шиной, не может читать или писать данные. Все адреса, которыми оперирует БВК, 16-битовые. Реализованный в БСШ механизм сегментации обеспечивает БВК доступ ко всему мегабайтовому адресному пространству ОП. В БВК входят восемь регистров общего назначения и регистр флагов.
Регистры Регистрами называют участки высокоскоростной памяти, расположенные внутри ЦПУ и предназначенные для оперативного хранения данных и быстрого доступа к ним со стороны внутренних компонентов процессора. Например, при выполнении оптимизации циклов программы по скорости, переменные, к которым выполняется доступ внутри цикла, располагают в регистрах процессора, а не в памяти.
Регистры общего назначения. Эти регистры используются в основном для выполнения арифметических операций и пересылки данных.
Особенности использования регистров. При выполнении команд процессором часть регистров общего назначения имеют особое значение.
• Содержимое регистра ЕАХ автоматически используется при выполнении команд умножения и деления. Поскольку этот регистр обычно связан с выполнением арифметических команд, его часто называют расширенным регистром аккумулятора (extended accumulator).
• Регистр ЕСХ автоматически используется процессором в качестве счетчика цикла.
• С помощью регистра ESP происходит обращение к данным, хранящимся в стеке. Стек — это системная область памяти, обращение к которой осуществляется по принципу «последним записали, первым взяли». Этот регистр обычно никогда не используется для выполнения обычных арифметических операций и команд пересылки данных. Его часто называют расширенным регистром указателя стека (extended stack pointer).
• Регистры ЕSI и ЕDI обычно используют для команд высокоскоростной пересылки данных из одного участка памяти в другой. Поэтому их иногда называют расширенными индексными регистрами источника и получателя данных (extended source index и extended destination index).
• Регистр EВР обычно используется в языках программирования высокого уровня для обращения к параметрам функции и для ссылок на локальные переменные, размещенные в стеке. Он не должен использоваться для выполнения обычных арифметических операций или для перемещения данных, за исключением случаев применения особых методик программирования опытными программистами. Его часто называют расширенным регистром указателя стекового фрейма (extended frame pointer).
Сегментные регистры. Эти регистры используются в качестве базовых при обращении к заранее распределенным областям оперативной памяти, которые называются сегментами. Существует три типа сегментов и, соответственно, сегментных регистров:
• кода (CS), в них хранятся только команды процессора, т.е. машинный код программы;
• данных (DS, ES, FS и GS), в них хранятся области памяти, выделяемые под переменные программы и под данные;
• стека (SS), в них хранится системная область памяти, называемая стеком, в которой распределяются локальные (временные) переменные программы и параметры, передаваемые функциям при их вызове.
Регистр указателя команд. В регистре EIP, который также называют регистром указателя команд, хранится адрес следующей выполняемой команды. В процессоре есть несколько команд, которые влияют на содержимое этого регистра. Изменение адреса, хранящегося в регистре ЕIP, вызывает передачу управления на новый участок программы.
Регистр флагов EFLAGS. Каждый бит этого регистра отвечает либо за особенности выполнения некоторых команд ЦПУ, либо отражает результат выполнения команд блоком АЛУ процессора. Для анализа битов этого регистра предусмотрены специальные команды процессора.
Принципы обработки информации компьютером.
Алгоритмы и способы их описания.
Компьютер как исполнитель команд. Программный принцип работы компьютера.
Алгебра логики (булева алгебра) – это раздел математики, возникший в XIX веке благодаря усилиям английского математика Дж. Буля. Поначалу булева алгебра не имела никакого практического значения. Однако уже в XX веке ее положения нашли применение в разработке различных электронных схем. Законы и аппарат алгебры логики стали использоваться при проектировании различных частей компьютеров (память, процессор).
Алгебра логики оперирует с высказываниями. Под высказыванием понимают повествовательное предложение, относительно которого имеет смысл говорить, истинно оно или ложно. Над высказываниями можно производить определенные логические операции, в результате которых получаются новые высказывания. Наиболее часто используются логические операции, выражаемые словами «не», «и», «или».
Логические операции удобно описывать так называемыми таблицами истинности, в которых отражают результаты вычислений сложных высказываний при различных значениях исходных простых высказываний. Простые высказывания обозначаются переменными (например, A и B).
Конъюнкция (логическое умножение). Сложное высказывание А & В истинно только в том случае, когда истинны оба входящих в него высказывания. Истинность такого высказывания задается следующей таблицей:
Обозначим 0 – ложь, 1 – истина
Дизъюнкция (логическое сложение). Сложное высказывание A Ú В истинно, если истинно хотя бы одно из входящих в него высказываний. Таблица истинности для логической суммы высказываний имеет вид:
Инверсия (логическое отрицание). Присоединение частицы НЕ (NOT) к данному высказыванию называется операцией отрицания (инверсии). Она обозначается Ā (или ¬А)и читается не А . Если высказывание А истинно, то В ложно, и наоборот. Таблица истинности в этом случае имеет вид
Алгоритм – система точных и понятных предписаний (команд, инструкций, директив) о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа. Как всякий объект, алгоритм имеет название (имя). Также алгоритм имеет начало и конец.
В качестве исполнителя алгоритмов можно рассматривать человека, любые технические устройства, среди которых особое место занимает компьютер. Компьютер может выполнять только точно определенные операции, в отличии от человека, получившего команду и имеющего возможность сориентироваться в ситуации.
Алгоритм обладает следующими свойствами.
- Дискретность (от лат. discretus – разделенный, прерывистый) указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определенном порядке.
- Детерминированность (от лат. determinate – определенность, точность) указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае.
- Конечность определяет, что каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
- Результативность требует, чтобы в алгоритме не было ошибок, т.е. при точном исполнении всех команд процесс решения задачи должен прекратиться за конечное число шагов и при этом должен быть получен ответ.
- Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде).
Способы описания алгоритмов
- словесный (на естественном языке);
- графический (с помощью стандартных графических объектов (геометрических фигур) – блок-схемы);
- программный (с помощью языков программирования)
Программный принцип работы компьютера
По своему назначению компьютер — это универсальный прибор для работы с информацией. По принципам своего устройства компьютер — это модель человека, работающего с информацией.
Персональный компьютер (ПК) — это компьютер, предназначенный для обслуживания одного рабочего места. По своим характеристикам он может отличаться от больших ЭВМ, но функционально способен выполнять аналогичные операции. По способу эксплуатации различают настольные (desktop), портативные (laptop и notebook) и карманные (palmtop) модели ПК.
Аппаратное обеспечение. Поскольку компьютер предоставляет все три класса информационных методов для работы с данными (аппаратные, программные и естественные), принято говорить о компьютерной системе как о состоящей из аппаратных и программных средств, работающих совместно. Узлы, составляющие аппаратные средства компьютера, называют аппаратным обеспечением. Они выполняют всю физическую работу с данными: регистрацию, хранение, транспортировку и преобразование как по форме, так и по содержанию, а также представляют их в виде, удобном для взаимодействия с естественными информационными методами человека.
Устройство компьютера. Любой компьютер (даже самый большой)состоит из четырех частей:
- устройства ввода информации
- устройства обработки информации
- устройства хранения
- устройства вывода информации.
Схема устройства компьютера впервые была предложена в 1946 году американским ученым Джоном фон Нейманом. Дж. фон Нейман сформулировал основные принципы работы ЭВМ, которые во многом сохранились и в современных компьютерах.
Основу компьютеров образует аппаратура, построенная, в основном, с использованием электронных и электромеханических элементов и устройств.
Принцип действия компьютеров состоит в выполнении программ — заранее заданных, четко определённых последовательностей арифметических, логических и других операций
Программа – это указание на последовательность действий (команд), которую должен выполнить компьютер, чтобы решить поставленную задачу обработки информации.
Команда — это описание элементарной операции, которую должен выполнить компьютер.
Этот принцип обеспечивает универсальность использования компьютера.
Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а другая его часть, выполняющая функции управления устройствами, называется устройством управления (УУ).
Центральный процессор — это основной рабочий компонент компьютера, который выполняет арифметические и логические операции, заданные программой, управляет вычислительным процессом и координирует работу всех устройств компьютера.
Функции процессора:
- обработка данных по заданной программе путем выполнения арифметических и логических операций;
- программное управление работой устройств компьютера.
Функции памяти:
- приём информации из других устройств;
- запоминание информации;
- выдача информации по запросу в другие устройства машины.
Принципы фон-Неймана:
1. Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определённой последовательности.
2. Принцип адресности. Основная память состоит из перенумерованных ячеек; процессору времени доступна любая ячейка.
3. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Таким образом, компьютер представляет собой совокупность устройств и программ, управляющих работой этих устройств.
Принцип работы компьютера:
· С помощью внешнего устройства в память компьютера вводится программа.
· Устройство управления считывает содержимое ячейки памяти, где находится первая инструкция (команда) программы и организует ее выполнение. Команда может задавать:
- выполнение логических или арифметических операций;
- чтение из памяти данных для выполнения арифметических или логических операций;
- запись результатов в память;
- ввод данных из внешнего устройства в память;
- вывод данных из памяти на внешнее устройство.
Устройство управления начинает выполнение команды из ячейки памяти, которая находится непосредственно за только что выполненной командой. Однако этот порядок может быть изменен с помощью команд передачи управления (перехода). Эти команды указывают устройству управления, что ему необходимо продолжить выполнение программы, начиная с команды, содержащейся в иной ячейки памяти.
Результаты выполнения программы выводятся на внешнее устройство компьютера.
Компьютер переходит в режим ожидания сигнала от внешнего устройства.
Системное ПО.
Главной частью системного программного обеспечения является операционная система.
Операционная система является базовой и необходимой составляющей программного обеспечения компьютера, без нее компьютер не может работать в принципе.
К системному ПО кроме ОС следует отнести и множество программ обслуживающего, сервисного характера. Например, это программы обслуживания дисков (копирование, форматирование), сжатия файлов на дисках (архиваторы) борьбы с компьютерными вирусами и многое другое.
Прикладное программное обеспечение
Для выполнения на компьютере конкретных работ (создания текстов и рисунков, обработки числовых данных и т. д.) требуется прикладное программное обеспечение.
Прикладное программное обеспечение можно разделить на две группы программ: системы программирования и приложения.
Системы программирования являются для программистов-профессионалов инструментами разработки программ на различных языках программирования (Basic, Pascal, С и др.). В настоящее время появились системы визуального программирования (Visual Basic, Borland Delphi и др.), которые позволяют даже начинающему пользователю компьютера создавать несложные программы.
Приложения предоставляют пользователю возможность обрабатывать текстовую, графическую, числовую, аудио- и видеоинформацию, а также работать в компьютерных сетях, не владея программированием.
Практически каждый пользователь компьютера нуждается в приложениях общего назначения, к числу которых относятся: текстовые и графические редакторы, электронные таблицы, системы управления базами данных, а также приложения для создания мультимедиа-презентаций.
В связи со стремительным развитием глобальных и локальных компьютерных сетей все большее значение приобретают различные коммуникационные программы.
Из-за широкого распространения компьютерных вирусов можно отнести к отдельной группе антивирусные программы.
Для профессиональных целей квалифицированными пользователями компьютера используются приложения специального назначения. К ним относятся системы компьютерной графики, системы автоматизированного проектирования (САПР), бухгалтерские программы, компьютерные словари и системы автоматического перевода и др.
Все большее число пользователей применяет обучающие программы для самообразования или в учебном процессе. Прежде всего, это программы обучения иностранным языкам, программы-репетиторы и тесты по различным предметам
Большую пользу приносят различные мультимедиа-приложения (энциклопедии, справочники и т. д.) на лазерных дисках, содержащие огромный объем информации и средства быстрого ее поиска.
Функции ОС
- Организация согласованного выполнения всех процессов в компьютере, планирование работ, распределение ресурсов.
- Организация обмена информацией с внешними устройствами; хранение информации и обеспечение доступа к ней, предоставление справок;
- Реакция на ошибки и аварийные ситуации; контроль за нормальным функционированием оборудования;
- Обеспечение возможности доступа к стандартным системным средствам (программам, драйверам и т.д.)
- Обеспечение общения с пользователем.