Программный принцип работы компьютера | Образовательная социальная сеть

Процессор

Сколько я себя помню, всегда мечтала сделать процессор. Наконец, вчера я его сделала. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».

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

Двоичная логика

Двоичная система счисления (для тех, кто не в курсе) — это такая система счисления, в которой нет цифр больше единицы. Такое определение многих сбивает с толку, пока они не вспомнят, что в десятичной системе счисления нет цифр больше девятки.
Двоичная система используется в компьютерах потому, что числа в ней легко кодировать напряжением: есть напряжение — значит, единица; нет напряжения — значит, ноль. Кроме того, «ноль» и «один» легко можно понимать как «ложно» и «истинно». Более того, большая часть устройств, работающих в двоичной системе счисления, обычно относится к числам как к массиву «истинностей» и «ложностей», то есть оперирует с числами как с логическими величинами. Для самых маленьких и тех, кто не в курсе, я расскажу и покажу, как работают простейшие элементы двоичной логики.

Элемент «Буфер»

Представьте, что вы сидите в своей комнате, а ваш друг — на кухне. Вы кричите ему: «Друг, скажи, в коридоре горит свет?». Друг отвечает: «Да, горит!» или «Нет, не горит». Ваш друг — буфер между источником сигнала (лампочкой в коридоре) и приемником (вами). Более того, ваш друг — не какой-нибудь там обычный буфер, а буфер управляемый. Он был бы обычным буфером, если бы постоянно кричал: «Лампочка светится» или «Лампочка не светится».

Элемент «Не» — NOT

А теперь представьте, что ваш друг — шутник, который всегда говорит неправду. И если лампочка в коридоре светится, то он скажет вам «Нет, в коридоре совсем-совсем темно», а если не светится — то «Да, в коридоре свет горит». Если у вас есть такой друг на самом деле, значит, он воплощение элемента «Не».

Элемент «Или» — OR

Для объяснения сути элемента «Или» одной лампочки и одного друга, к сожалению, не хватит. Нужно две лампочки. Итак, у вас в коридоре две лампочки — торшер, к примеру, и люстра. Вы кричите: «Друг, скажи, хотя бы одна лампочка в коридоре светит?», и ваш друг отвечает «Да» или «Нет». Очевидно, что для ответа «Нет» все лампочки обязательно должны быть выключены.

Элемент «И» — AND

Та же самая квартира, вы, друг на кухне, торшер и люстра в коридоре. На ваш вопрос «В коридоре обе лампочки горят?» вы получаете ответ «Да» или «Нет». Поздравляю, теперь ваш друг — это элемент «И».

Элемент «Исключающее Или» — XOR

Повторим еще раз эксперимент для элемента «Или», но переформулируем свой вопрос к другу: «Друг, скажи, в коридоре только одна лампочка светит?». Честный друг ответит на такой вопрос «Да» только в том случае, если в коридоре действительно горит только одна лампочка.

Сумматоры

Четвертьсумматор

Четвертьсумматором называют элемент «Исключающее Или». Почему? Давайте разберемся.
Составим таблицу сложения для двух чисел в двоичной системе счисления:
0+0= 0
0+1= 1
1+0= 1
1+1= 10

Теперь запишем таблицу истинности элемента «Исключающее Или». Для этого обозначим светящуюся лампочку за 1, потухшую — за 0, и ответы друга «Да»/«Нет» как 1 и 0 соответственно.
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

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

Полусумматор

При переполнении результат сложения уже не помещается в столько же разрядов, во сколько помещались слагаемые. Слагаемые — два однозначных числа (одна значащая цифра, понимаете?), а сумма — уже двузначное (две значащих цифры). Две цифры одной лампочкой («Светится»/«Не светится») уже не передать. Нужно две лампочки. Нужно — сделаем!

Кроме XOR, для сумматора нам потребуется элемент «И» (AND).
0 XOR 0 = 0 0 AND 0 = 0
0 XOR 1 = 1 0 AND 1 = 0
1 XOR 0 = 1 1 AND 0 = 0
1 XOR 1 = 0 1 AND 1 = 1

Тадам!
0+0= 00
0+1= 01
1+0= 01
1+1= 10

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

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

Более сложные элементы

Мультиплексор

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

Мультплексоры состоят обычно только из сочетаний элементов «И», «Или» и «Не». У одноразрядного мультиплексора один вход называется «выбор адреса», два входа с общим названием «входной сигнал» и один выход, который так и называется: «выходной сигнал».
Когда на «выбор адреса» подается 0, то «выходной сигнал» становится таким же, как первый «входной сигнал». Соответственно, когда на «выбор» подается 1, то «выходной сигнал» становится равным второму «входному сигналу».

Демультиплексор

А вот эта штучка работает с точностью до наоборот. На «выбор адреса» даем адрес, на «вход данных» даем данные, на выходе с номером «адрес» имеем данные со входа.

Счетчик

Для понимания работы счетчика вам опять понадобится ваш друг. Позовите его из кухни (надеюсь, он не сильно там скучал, и, главное, не съел всю вашу еду), и попросите делать вот что: пусть он запомнит число 0. Каждый раз, когда вы будете прикасаться к нему, он должен прибавить единицу к тому числу, которое помнит, сказать результат и запомнить его. Когда результат будет равен (допустим) 3, он должен выкрикнуть «Абракадабра!» и отвечать при следующем прикосновении, что сейчас он помнит число 0. Немного сложно? Смотрите:

Читать статью  Обзор и тестирование процессора Intel Pentium G4400.

Вы прикасаетесь к другу. Друг говорит «Один».
Вы прикасаетесь к другу. Друг говорит «Два».
Вы прикасаетесь к другу. Друг говорит «Три». Друг выкрикивает «Хабрахабр!». Критическая атака! Вы временно парализованы и не можете двигаться.
Вы прикасаетесь к другу. Друг говорит «Ноль».

Ну, и так далее. Очень просто, верно?
Вы, конечно, поняли, что ваш друг сейчас — это счетчик. Прикосновение к другу можно считать «тактирующим сигналом» или, попросту говоря, сигналом продолжения счета. Крик «Абракадабра» показывает, что запомненное значение в счетчике — максимальное, и что при следующем тактирующем сигнале счетчик будет установлен в ноль. Есть два отличия двоичного счетчика от вашего друга. Первое: настоящий двоичный счетчик выдает запомненное значение в двоичном виде. Второе: он всегда делает только то, что вы ему говорите, и никогда не опускается до дурацких шуточек, способных нарушить работу всей процессорной системы.

Память

Триггер

Давайте продолжим издеваться над вашим несчастным (возможно, даже воображаемым) другом. Пусть теперь он запомнит число ноль. Когда вы касаетесь его левой руки, он должен запоминать число ноль, а когда правой — число один. При вопросе «Какое число ты помнишь?» друг должен всегда отвечать то число, которое запоминал — ноль или один.
Простейшей запоминающей ячейкой является RS-триггер («триггер» значит «переключатель»). RS-триггер может хранить в себе один бит данных («ноль»/«один»), и имеет два входа. Вход Set/Установка (совсем как левая рука вашего друга) записывает в триггер «один», а вход Reset/Сброс (соответственно, правая рука) — «ноль».

Регистр

Немного сложнее устроен регистр. Ваш друг превращается в регистр тогда, когда вы просите его что-нибудь запомнить, а потом говорите «Эй, напомни мне, что я говорил тебе запомнить?», и друг правильно отвечает.

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

Сдвиговый регистр

Вы когда-нибудь стояли в очередях? Наверняка стояли. Значит, вы представляете, каково быть данными в сдвиговом регистре. Люди приходят и становятся в конец очереди. Первый человек в очереди заходит в кабинет к большой шишке. Тот, кто был вторым в очереди, становится первым, а тот, кто был третьим — теперь второй, и так далее. Очередь — это такой хитрый сдвиговый регистр, из которого «данные» (ну, то есть люди) могут убегать по делам, предварительно предупредив соседей по очереди. В настоящем сдвиговом регистре, разумеется, «данные» из очереди сбегать не могут.

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

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

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

Если много-много триггеров объединить в регистры, а много-много регистров объединить в одной микросхеме, то получится микросхема оперативной памяти. У микросхемы памяти обычно есть вход адреса, двунаправленный вход данных (то есть в этот вход можно записывать, и с него же можно считывать) и вход разрешения записи. На вход адреса подаем какое-нибудь число, и это число выберет определенную ячейку памяти. После этого на входе/выходе данных мы можем прочитать то, что записано в эту самую ячейку.
Теперь мы одновременно подадим на вход/выход данных то, что хотим в эту ячейку записать, а на вход разрешения записи — «логическую единицу». Результат немного предсказуем, не так ли?

Процессор

BitBitJump

Процессоры иногда делят на CISC — те, которые умеют выполнять много разных команд, и RISC — те, которые умеют выполнять мало команд, но выполняют их хорошо. Одним прекрасным вечером мне подумалось: а было бы здорово, если бы можно было сделать полноценный процессор, который умеет выполнять всего одну команду. Вскоре я узнала, что существует целый класс однокомандных процессоров — OISC, чаще всего они используют команду Subleq (вычесть, и если меньше или равно нулю, то перейти) или Subeq (вычесть, и если равно нулю, то перейти). Изучая различные варианты OISC-процессоров, я нашла в сети сайт Олега Мазонки, который разработал простейший однокомандный язык BitBitJump. Единственная команда этого языка так и называется — BitBitJump (скопировать бит и перейти по адресу). Этот, безусловно эзотерический, язык является полным по Тьюрингу — то есть на нем можно реализовать любой компьютерный алгоритм.

Подробное описание BitBitJump и ассемблер для этого языка можно найти на сайте разработчика. Для описания алгоритма работы процессора достаточно знать следующее:
1. При включении процессора в регистрах PC, A и B записаны 0
2. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр A
3. Увеличиваем PC
4. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
5. Увеличиваем PC
6. Записываем в ячейку с адресом, записанным в регистре B, содержимое бита с адресом А.
7. Считываем ячейку памяти с адресом PC и сохраняем прочитанное в регистр B
8. Записываем в регистр PC содержимое регистра B
9. Переходим к пункту 2 нашего плана
10. PROFIT.

К сожалению, алгоритм бесконечный, и потому PROFIT достигнут не будет.

Читать статью  Как проверить совместимость видеокарты и процессора
Собственно, схема

Схема строилась стихийно, поэтому правят бал в ней страх, ужас и кавардак. Тем не менее, она работает, и работает прилично. Чтобы включить процессор, нужно:
1. Ввести программу в ОЗУ
2. Нажать на включатель
3. Установить счетчик в положение 4 (это можно делать и аппаратно, но схема стала бы еще более громоздкой)
4. Включить тактовый генератор

Как видите, использованы один регистр, один сдвиговый регистр, одна микросхема ОЗУ, два двоичных счетчика, один демультиплексор (представленный компараторами), два мультиплексора и немного чистой логики.

Можете скачать схему в формате circ для программы Logisim, и поиграться.

Что дальше?

Во-первых, можно увеличить разрядность процессора — заменив 8-битные элементы на 16-битные.
Во-вторых, можно вынести ОЗУ из процессора, и добавить несложную схему, которая будет приостанавливать процессор, изменять ОЗУ и снова включать процессор. Такая схема будет выполнять функции простого контроллера ввода-вывода. Тогда можно будет сделать на базе этого процессора калькулятор, контроллер или еще какую-нибудь забавную бесполезную штуку.
В-третьих, можно воплотить всю эту схему в железе. Что я собираюсь сделать. Как только сделаю — обязательно расскажу и покажу.

Программный принцип работы компьютера

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

Персональный компьютер (ПК) — это компьютер, предназначенный для обслуживания одного рабочего места. По своим характеристикам он может отличаться от больших ЭВМ, но функционально способен выполнять аналогичные операции. По способу эксплуатации различают настольные (desktop), портативные (laptop и notebook) и карманные (palmtop) модели ПК.

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

Устройство компьютера. Любой компьютер (даже самый большой)состоит из четырех частей:

  • устройства ввода информации
  • устройства обработки информации
  • устройства хранения
  • устройства вывода информации.

Схема устройства компьютера впервые была предложена в 1946 году американским ученым Джоном фон Нейманом. Дж. фон Нейман сформулировал основные принципы работы ЭВМ, которые во многом сохранились и в современных компьютерах.

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

Принцип действия компьютеров состоит в выполнении программ — заранее заданных, четко определённых последовательностей арифметических, логических и других операций

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

Команда — это описание элементарной операции, которую должен выполнить компьютер.

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

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

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

Функции процессора:

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

Функции памяти:

  • приём информации из других устройств;
  • запоминание информации;
  • выдача информации по запросу в другие устройства машины.

Принципы фон-Неймана:

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

2. Принцип адресности. Основная память состоит из перенумерованных ячеек; процессору времени доступна любая ячейка.

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

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

Принцип работы компьютера:

· С помощью внешнего устройства в память компьютера вводится программа.

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

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

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

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

Компьютер переходит в режим ожидания сигнала от внешнего устройства.

Системное ПО.

Главной частью системного программного обеспечения является операционная система.

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

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

Прикладное программное обеспечение

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

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

Системы программирования являются для программистов-профессионалов инструментами разработки программ на различных языках программирования (Basic, Pascal, С и др.). В настоящее время появились системы визуального программирования (Visual Basic, Borland Delphi и др.), которые позволяют даже начинающему пользователю компьютера создавать несложные программы.

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

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

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

Читать статью  Обзор и тестирование процессора AMD Athlon 200GE: суровый бюджетный гейминг.

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

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

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

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

Урок 24
Принципы устройства компьютеров
§32. Принципы устройства компьютеров. §33. Магистрально-модульная организация компьютера

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

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

Рис. 5.9

Рис. 5.9. Фрагмент коммутационной панели устройства IBM-557;
требуемая операция получается соединением (коммутацией) соответствующих отверстий

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

2 Известна также так называемая гарвардская архитектура, в которой программы и данные хранятся в разных областях памяти. Несмотря на повышение надёжности, она не получила широкого распространения.

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

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

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

3 В различных процессорах этот регистр может называться по-разному: например, в семействе Intel он обозначается IP — Instruction Pointer (указатель на инструкцию).

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

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

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

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

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

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

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

Следующая страница Что называют архитектурой

Cкачать материалы урока

Источник https://habr.com/ru/post/132486/

Источник https://nsportal.ru/user/1184272/page/programmnyy-printsip-raboty-kompyutera

Источник https://xn—-7sbbfb7a7aej.xn--p1ai/informatika_10_68_pol/informatika_materialy_zanytii_10_68_pol_24_04.html

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

Ваш адрес email не будет опубликован.