Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Назад Введение в мир программирования
Глава 2. Архитектура компьютера
Вперед

Центральное процессорное устройство (ЦПУ)

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

ЦПУ последовательно читает команды, хранящиеся в памяти и выполняет их. Данный процесс называется циклом выборки-исполнения (fetch-execute cycle). Именно для реализации этого цикла ЦПУ должно содержать следующие составные части:

  • счётчик команд (program counter);
  • дешифратор команд (instruction decoder);
  • шина данных (data bus);
  • регистры общего назначения (general-purpose registers);
  • АЛУ - арифметико-логическое устройство (arithmetic and logic unit).

Счётчик команд предназначен для хранения информации о месте нахождения (адресе) команды, которая, в зависимости от особенностей той или иной ЭВМ, либо выполняется ЦПУ в данный момент, либо находится следующей после выполняемой.

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

После того, как в счётчике команд оказывается адрес команды, ЦПУ производит чтение этой команды и её обработку с помощью дешифратора команд. Необходимо отметить, что многие команды принимают операнды - алфавитно-цифровые последовательности, над которыми ЦПУ может совершать элементарные операции. К примеру, в выражении cmpl %ebx, %eax, операндами являются имена регистров (областей памяти, о которых речь пойдёт чуть позже) EBX и EAX. В результате выполнения команды cmpl будет осуществлено сравнение содержимого этих регистров.

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

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

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

Разумеется, представленное выше объяснение логики работы ЦПУ является очень упрощённым, однако, вполне адекватно потребности доступного введения в предмет. За более подробной информацией о работе ЦПУ читатель может обратиться к книгам, перечисленным в разделе "Литература для самообразования", а также к материалам, опубликованным в Интернет.

Литература для самообразования

  1. Брэй Б. Микропроцессоры Intel: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium 4. Архитектура, программирование и интерфейсы. Шестое издание: Пер. с англ. СПб.: БХВ-Петербург, 2005. 1328 с.
  2. Зубков С. В. Assembler для DOS, Windows и UNIX. М.: "ДМК Пресс", 2000. 608 с.
  3. Крейгон Х. Архитектура компьютеров и её реализация: Пер. с англ. М.: Мир, 2004. 416 с.
  4. Новиков Ю. В., Скоробогатов П. К. Основы микропроцессорной техники. Курс лекций. Учебное пособие. Изд. 2-е, испр. М.: ИНТУИТ.РУ "Интернет-университет Информационных Технологий", 2004. 440 с.
  5. Таненбаум Э. Архитектура компьютера. 5-е изд. СПб.: Питер, 2007. 844 с.
  6. Bell G., Newell A. Computer Structures: Readings and Examples. New York: McGraw-Hill, 1971. 687 p. URL: http://www.mediafire.com/?onu0en43onh. Книга также доступна в формате HTML (с нарушением вёрстки): http://ed-thelen.org/comp-hist/bell-71-t-o-c.html (дата обращения: 08.01.2012).
  7. Thimmannagari C. CPU Design: Answers to Frequently Asked Questions. Springer, 2005. 244 p.

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