Меню
Главная
Авторизация/Регистрация
 
Главная arrow Техника arrow Проектирование встраиваемых систем на ПЛИС

4.1. Аппаратное и программное обеспечение компьютера

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

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

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

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

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

Десятичное сложение

Рис. 4.1. Десятичное сложение

Здесь имеются элементы, встречающиеся при машинном (компьютерном) вычислении. Компьютерная система имеет устройство памяти. Часть памяти, которая используется для запоминания команд, соответствует таблице команд, а часть, которая запоминает временные и окончательные результаты, соответствует поверхности бумаги или таблице данных. Интеллекту человека соответствует Центральное процессорное устройство (ЦПУ - Central Processing Unit - CPU), которое упорядочивает и выполняет инструкции.

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

Имеется несколько способов соединения этих трех блоков (память, ЦПУ и устройство ввода-вывода) в компьютерную систему. Компьютер с соединением, показанным на рис. 4.2, называется компьютером фон Неймана. ЦПУ связывается с устройством (устройствами) ввода-вывода для получения данных и отображения результатов. Оно связывается с памятью для чтения команд и данных, а также для записи данных.

Компьютер фон Неймана

Рис. 4.2. Компьютер фон Неймана

Как показано на этом рисунке, ЦПУ делится на операционное устройство (datapath) и управляющее устройство {control). Операционное устройство имеет запоминающие элементы (регистры) для запоминания внутренних данных, управляет передачей данных между этими элементами памяти и выполняет арифметические или логические операции над данными, запомненными в памяти. Операционное устройство также имеет линии коммуникации для передачи данных; эти линии называются шинами. Действия в операционном устройстве включают чтение данных из регистров, запись данных в регистры, осуществление связи с шинами, а также распределение управляющих сигналов, сформированных управляющим устройством, между отдельными устройствами обработки данных.

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы