3 какой процесс называется циклом тракта данных процессора
Сайт содержит тексты редких методических пособий, лабораторных и контрольных работ. Вообщем, то что трудно найти в сети но очень нужно для подготовки к экзаменам, в частности на заочной форме обучения.
Устройство центрального процессора
Внутреннее устройство тракта данных типичного фон-неймановского процессора иллюстрирует рис. 2.2. Тракт данных состоит из регистров (обычно от 1 до 32), арифметико-логического устройства (АЛУ) и нескольких соединительных шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис. 2.2 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления. Тракт данных — важная составная часть всех компьютеров, и мы обсудим его очень подробно.
АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Содержимое этого выходного регистра может записываться обратно в один из регистров или сохранятся в памяти, если это необходимо. Рисунок 2.2 иллюстрирует операцию сложения. Отметим, что входные и выходные регистры есть не у всех компьютеров.
Большинство команд можно разделить на две группы: типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ (слова — это такие элементы данных, которые перемещаются между памятью и регистрами 2 ). Словом может быть целое число. Организацию памяти мы обсудим далее в этой главе. Другие команды этого типа помещают регистры обратно в память.
Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров.
1 Используется также термин «указатель команд». — Примеч. научн. ред.
2 На самом деле размер слова обычно соответствует разрядности регистра данных. Так, у 16-разрядных микропроцессоров 8086 и 8088 слово имеет длину 16 бит, а у 32-разрядных микропроцессоров — 32 бита. — Примеч. научн. ред.
Этот процесс называется циклом тракта данных. В какой-то степени он определяет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.
Рис. 2.2. Тракт данных обычной фон-неймановской машины
Центральный процессор выполняет каждую команду за несколько шагов:
1. Вызывает следующую команду из памяти и переносит ее в регистр команд.
2. Меняет положение счетчика команд, который после этого указывает на следующую команду 1 .
3. Определяет тип вызванной команды.
4. Если команда использует слово из памяти, определяет, где находится это слово.
5. Переносит слово, если это необходимо, в регистр центрального процессора 2 .
Это происходит после декодирования текущей команды, а иногда и после ее выполнения. — Примем, научн. ред.
Следует заметить, что бывают команды, которые требуют загрузки из памяти целого множества слов и их обработки в рамках единственной команды. — Примеч. научн. ред.
6. Выполняет команду.
7. Переходит к шагу 1, чтобы начать выполнение следующей команды.
Такая последовательность шагов (выборка — декодирование — выполнение)
является основой работы всех компьютеров.
Описание работы центрального процессора можно представить в виде программы. В листинге 2.1 приведена такая программа-интерпретатор на языке Java. В описываемом компьютере есть два регистра: счетчик команд с адресом следующей команды и аккумулятор, в котором хранятся результаты арифметических операций. Кроме того, имеются внутренние регистры, в которых хранится текущая команда (instr), тип текущей команды (instr_type), адрес операнда команды (datajloc) и сам операнд (data). Каждая команда содержит один адрес ячейки памяти. В ячейке памяти находится операнд, например фрагмент данных, который нужно добавить в аккумулятор.
Листинг 2.1. Интерпретатор для простого компьютера (на языке Java)
public class Interp
static mt PC; // PC содержит адрес следующей команды
static int AC; // Аккумулятор, регистр для арифметики
static int instr; // Регистр для текущей команды
static int instr_type; // Тип команды (код операции)
static int dataJ ос: // Адрес данных или -1, если его нет
static int data; // Текущий операнд
static boolean run_bit = true; // Бит, который можно сбросить,
// чтобы остановить машину
instr_type=get_instr_type(instr); // Определяет тип команды data_loc=find_data(instr, instr_type); // Находит данные (-1,
// если данных нет) if(data_loc>=0) // Если data_lock=-l, значит, операнда нет
data=memory[data_loc]; // Вызов данных
execute(instr_type,data); // Выполнение команды
Сам факт того, что можно написать программу, имитирующую работу центрального процессора, показывает, что программа не обязательно должна выполняться реальным процессором (устройством). Напротив, вызывать из памяти, определять тип команд и выполнять эти команды может другая программа. Такая программа называется интерпретатором. Об интерпретаторах мы говорили в главе 1.
Программы-интерпретаторы, которые имитируют работу процессора, широко используются при разработке компьютерных систем. После того как разработчик выбрал машинный язык (Я) для нового компьютера, он должен решить, разрабатывать ли ему процессор, который будет выполнять программы на языке Я, или написать специальную программу для интерпретации программ на том же языке. Если он решит написать интерпретатор, ему потребуется разработать аппаратное обеспечение для выполнения этого интерпретатора. Возможны также гибридные конструкции, когда часть команд выполняется аппаратным обеспечением, а часть интерпретируется.
Интерпретатор разбивает команды на более мелкие (элементарные). В результате машина, предназначенная для выполнения интерпретатора, может быть гораздо проще по строению и дешевле, чем процессор, выполняющий программы без интерпретации. Такая экономия особенно важна при большом количестве сложных команд с различными параметрами. В сущности, экономия проистекает из самого факта замены аппаратного обеспечения программой (интерпретатором).
Первые компьютеры поддерживали небольшое количество команд, и эти команды были простыми. Однако разработка более мощных компьютеров привела, помимо всего прочего, к появлению более сложных команд. Вскоре разработчики поняли, что при наличии сложных команд программы выполняются быстрее, хотя выполнение каждой отдельной команды занимает больше времени. (В качестве примеров таких сложных команд можно назвать выполнение операций с плавающей точкой, обеспечение прямого доступа к элементам массива и т. п.) Если обнаруживалось, что пара тех или иных команд часто выполняется последовательно, вводилась новая команда, заменяющая эти две.
Сложные команды оказались лучше еще и потому, что некоторые операции иногда перекрывались. Подобные операции могли выполняться параллельно, но для этого требовалась дополнительная аппаратура. Для дорогих компьютеров с высокой производительностью приобретение такого дополнительного аппаратного обеспечения было вполне оправданным. Таким образом, у дорогих компьютеров было гораздо больше команд, чем у дешевых. Однако развитие программного обеспечения и требования совместимости команд привели к тому, что сложные команды стали использоваться и в дешевых компьютерах, хотя там во главу угла ставилась стоимость, а не быстродействие.
К концу 50-х годов компания IBM, которая лидировала тогда на компьютерном рынке, решила, что производство семейства компьютеров, каждый из которых выполняет одни и те же команды, выгоднее и для самой компании, и для покупателей. Чтобы охарактеризовать этот уровень совместимости, компания IBM ввела термин архитектура. Новое семейство компьютеров должно было иметь единую архитектуру и много разных моделей, различающихся по цене и скорости, но «умеющих» выполнять одни и те же программы. Но как построить дешевый компьютер, который сможет выполнять все сложные команды, предназначенные для высокоэффективных дорогостоящих машин?
Решением проблемы стала интерпретация. Эта технология, впервые предложенная Уилксом в 1951 году, позволяла разрабатывать простые дешевые компьютеры, которые тем не менее могли выполнять большое количество команд. В результате компания IBM создала архитектуру System/360 — семейство совместимых компьютеров, различающихся по цене и производительности. Аппаратное обеспечение, позволяющее работать без интерпретации, использовалось только в самых дорогих моделях.
Простые компьютеры с интерпретаторами команд имели свои достоинства. Наиболее важными среди них являлись:
♦ возможность исправлять неправильно выполненные команды или даже компенсировать ошибки аппаратного обеспечения;
♦ возможность добавлять новые команды при минимальных затратах, причем при необходимости уже после покупки компьютера;
♦ возможность (благодаря структурированной организации) разработки, проверки и документирования сложных команд.
В 70-е годы компьютерный рынок быстро разрастался, новые компьютеры могли выполнять все больше и больше функций. Спрос на дешевые компьютеры провоцировал создание компьютеров с интерпретаторами. Возможность разрабатывать аппаратное обеспечение с интерпретатором для определенного набора команд привела к появлению дешевых процессоров. Полупроводниковые технологии быстро развивались, низкая стоимость брала верх над высокой производительностью, и интерпретаторы стали применяться при разработке компьютеров все шире и шире. Интерпретация использовалась практически во всех компьютерах, выпущенных в 70-е годы, от мини-компьютеров до самых больших машин.
К концу 70-х годов интерпретаторы стали применяться практически во всех моделях, кроме самых дорогих машин с очень высокой производительностью (например, Сгау-1 и компьютеров серии Control Data Cyber). Интерпретаторы обеспечивали реализацию сложных команд без использования дорогостоящей аппаратуры, поэтому разработчики могли вводить все более и более сложные команды, а также (и даже в особенности) расширять способы определения операндов.
Эта тенденция достигла своего апогея в компьютере VAX, разработанном компанией DEC; у него было несколько сот команд и более 200 способов определения операндов в каждой команде. К несчастью, архитектура VAX с самого начала разрабатывалась с ориентацией на интерпретатор, а производительности уделялось мало внимания. Это привело к появлению большого количества команд второстепенного значения, которые сложно было реализовать непосредственно. Данное упущение стало фатальным как для VAX, так и для его производителя (компании DEC). Компания Compaq купила DEC в 1998 году (правда, тремя годами позже сама компания Compaq вошла в структуру Hewlett-Packard).
Главное преимущество интерпретации заключалось в том, что можно было разработать очень простой процессор, а все самое сложное реализовать с помощью интерпретатора. Таким образом, вместо разработки сложной аппаратуры требовалась разработка сложного программного обеспечения.
Успех системы Motorola 68000 с большим набором интерпретируемых команд и одновременный провал компьютера Zilog Z8000, у которого был столь же обширный набор команд, но не было интерпретатора, продемонстрировали все преимущества интерпретации при разработке новых машин. Этот успех был довольно неожиданным, учитывая, что компьютер Z80 (предшественник Zilog Z8000) пользовался большей популярностью, чем Motorola 6800 (предшественник Motorola 68000). Конечно, важную роль здесь играли и другие факторы, например то, что компания Motorola много лет занималась производством микросхем, а торговая марка Zilog принадлежала Exxon — крупной нефтяной компании.
Еще один фактор в пользу интерпретации — существование быстродействующих постоянных запоминающих устройств для хранения интерпретаторов (так называемых командных ПЗУ). Предположим, что для выполнения обычной интерпретируемой команды интерпретатору компьютера Motorola 68000 нужно выполнить 10 команд (они называются микрокомандами), по 100 не на каждую, и произвести 2 обращения к оперативной памяти, по 500 не на каждое. Общее время выполнения команды составит, следовательно, 2000 не, всего лишь в два раза больше, чем в лучшем случае могло бы занять непосредственное выполнение этой команды без интерпретации. А если бы не было специального быстродействующего постоянного запоминающего устройства, выполнение этой команды заняло бы целых 6000 не. Таким образом, значимость командных ПЗУ очевидна.
Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.
Внутреннее устройство тракта данных типичного фон-неймановского процессора показано на рис. 2.2. Тракт данных состоит из регистров (обычно от 1 до 32), АЛУ (арифметико-логического устройства) и нескольких соединяющих шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис. 2.2 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления. Тракт данных — важная составная часть всех компьютеров, и мы обсудим его очень подробно.
АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Этот выходной регистр может помещаться обратно в один из регистров. Он может быть сохранен в памяти, если это необходимо. На рис. 2.2 показана операция сложения. Отметим, что входные и выходные регистры есть не у всех компьютеров.
Большинство команд можно разделить на две группы: команды типа регистр память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ.
(«Слова» — это такие элементы данных, которые перемещаются между памятью и регистрами.) Словом может быть целое число. Устройство памяти мы обсудим ниже в этой главе. Другие команды этого типа помещают регистры обратно в память.
Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных. В какой-то степени он определяет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.
Выполнение команд
Центральный процессор выполняет каждую команду за несколько шагов:
1) вызывает следующую команду из памяти и переносит ее в регистр команд;
2) меняет положение счетчика команд, который теперь должен указывать наследующую команду;
3) определяет тип вызванной команды;
4) если команда использует слово из памяти, определяет, где находится это слово;
5) переносит слово, если это необходимо, в регистр центрального процессора;
6) выполняет команду;
7) переходит к шагу 1, чтобы начать выполнение следующей команды.
Такая последовательность шагов (выборка—декодирование—исполнение) является основой работы всех компьютеров.
Описание работы центрального процессора можно представить в виде программы на английском языке. В листинге 2.1 приведена такая программа-интерпретатор на языке Java. В описываемом компьютере есть два регистра: счетчик команд, который содержит путь к адресу следующей команды, и аккумулятор, в котором хранятся результаты арифметических операций. Кроме того, имеются внутренние регистры, в которых хранится текущая команда (instr), тип текущей команды (instr_type), адрес операнда команды (datajloc) и сам операнд (data). Каждая команда содержит один адрес ячейки памяти. В ячейке памяти находится операнд, например кусок данных, который нужно добавить в аккумулятор.
Сама возможность написать программу, имитирующей работу центрального процессора, показывает, что программа не обязательно должна выполняться реальным процессором, относящимся к аппаратному обеспечению. Напротив, вызывать из памяти, определять тип команд и выполнять эти команды может другая программа. Такая программа называется интерпретатором. Об интерпретаторах мы говорили в главе 1.
Написание программ-интерпретаторов, которые имитируют работу процессора, широко используется при разработке компьютерных систем. После того как разработчики выбрали машинный язык (Я) для нового компьютера, они должны решить, строить ли им процессор, который будет выполнять программы на языке Я, или написать специальную программу для интерпретации программ на языке Я. Если они решают написать интерпретатор, они должны создать аппаратное обеспечение для выполнения этого интерпретатора. Возможны также гибридные конструкции, когда часть команд выполняется аппаратным обеспечением, а часть интерпретируется.
Интерпретатор разбивает команды на маленькие шаги. Таким образом, машина с интерпретатором может быть гораздо проще по строению и дешевле, чем процессор, выполняющий программы без интерпретации. Такая экономия особенно важна, если компьютер содержит большое количество сложных команд с различными опциями. В сущности, экономия проистекает из самой замены аппаратного обеспечения программным обеспечением (интерпретатором).
Первые компьютеры содержали небольшое количество команд, и эти команды были простыми. Но поиски более мощных компьютеров привели, кроме всего прочего, к появлению более сложных команд. Вскоре разработчики поняли, что при наличии сложных команд программы выполняются быстрее, хотя выполнение отдельных команд занимает больше времени. В качестве примеров сложных команд можно назвать выполнение операций с плавающей точкой, обеспечение прямого доступа к элементам массива и т. п. Если обнаруживалось, что две определенные команды часто выполнялись последовательно одна за другой, то вводилась новая команда, заменяющая работу этих двух.
Сложные команды были лучше, потому что некоторые операции иногда перекрывались. Какие-то операции могли выполняться параллельно, для этого использовались разные части аппаратного обеспечения. Для дорогих компьютеров с высокой производительностью стоимость этого дополнительного аппаратного обеспечения была вполне оправданна. Таким образом, у дорогих компьютеров было гораздо больше команд, чем у дешевых. Однако развитие программного обеспечения и требования совместимости команд привели к тому, что сложные команды стали использоваться и в дешевых компьютерах, хотя там во главу угла ставилась стоимость, а не скорость работы.
К концу 50-х годов компания IBM, которая лидировала тогда на компьютерном рынке, решила, что производство семейства компьютеров, каждый из которых выполняет одни и те же команды, имеет много преимуществ и для самой компании, и для покупателей. Чтобы описать этот уровень совместимости, компания IBM ввела термин архитектура. Новое семейство компьютеров должно было иметь одну общую архитектуру и много разных разработок, различающихся по цене и скорости, которые могли выполнять одну и ту же программу. Но как построить дешевый компьютер, который будет выполнять все сложные команды, предназначенные для высокоэффективных дорогостоящих машин?
Решением этой проблемы стала интерпретация. Эта технология, впервые предложенная Уилксом в 1951 году, позволяла разрабатывать простые дешевые компьютеры, которые, тем не менее, могли выполнять большое количество команд. В результате IBM создала архитектуру System/360, семейство совместимых компьютеров, различных по цене и производительности. Аппаратное обеспечение без интерпретации использовалось только в самых дорогих моделях.
Простые компьютеры с интерпретированными командами имели некоторые другие преимущества. Наиболее важными среди них были:
1) возможность фиксировать неправильно выполненные команды или даже восполнять недостатки аппаратного обеспечения;
2) возможность добавлять новые команды при минимальных затратах, даже после покупки компьютера;
3) структурированная организация, которая позволяла разрабатывать, проверять и документировать сложные команды.
В 70-е годы компьютерный рынок быстро разрастался, новые компьютеры могли выполнять все больше и больше функций. Спрос на дешевые компьютеры провоцировал создание компьютеров с использованием интерпретаторов. Возможность разрабатывать аппаратное обеспечение и интерпретатор для определенного набора команд вылилась в создание дешевых процессоров. Полупроводниковые технологии быстро развивались, преимущества низкой стоимости преобладали над возможностями более высокой производительности, и использование интерпретаторов при разработке компьютеров стало широко применимо. Интерпретация использовалась практически во всех компьютерах, выпущенных в 70-е годы, от миникомпьютеров до самых больших машин.
К концу 70-х годов интерпретаторы стали применяться практически во всех моделях, кроме самых дорогостоящих машин с очень высокой производительностью (например, Сгау-1 и компьютеров серии Control Data Cyber). Использование интерпретаторов исключало высокую стоимость сложных команд, и разработчики могли вводить все более и более сложные команды, в особенности различные способы определения используемых операндов.
Эта тенденция достигла пика своего развития в разработке компьютера VAX (производитель Digital Equipment Corporation), у которого было несколько сотен команд и более 200 способов определения операндов в каждой команде. К несчастью, архитектура VAX с самого начала разрабатывалась с использованием интерпретатора, а производительности уделялось мало внимания. Это привело к появлению большого количества команд второстепенного значения, которые трудно было выполнять сразу без интерпретации. Данное упущение стало фатальным как для VAX, так и для его производителя (компании DEC). Compaq купил DEC в 1998 году.
Успех Motorola 68000 с большим набором интерпретируемых команд и одновременный провал Zilog Z8000, у которого был столь же обширный набор команд, но не было интерпретатора, продемонстрировали все преимущества использования интерпретаторов при разработке новых машин. Успех Motorola 68000 был несколько неожиданным, учитывая, что Z80 (предшественник Zilog Z8000) пользовался большей популярностью, чем Motorola 6800 (предшественник Motorola 68000). Конечно, важную роль здесь играли и другие факторы, например то, что Motorola много лет занималась производством микросхем, a Exxon (владелец Zilog) долгое время был нефтяной компанией.
Еще один фактор в пользу интерпретации — существование быстрых постоянных запоминающих устройств (так называемых командных ПЗУ) для хранения интерпретаторов. Предположим, что для выполнения обычной интерпретируемой команды Motorola 68000 интерпретатору нужно выполнить 10 команд, которые называются микрокомандами, по 100 не каждая, и произвести 2 обращения к оперативной памяти по 500 не каждое. Общее время выполнения команды составит, следовательно, 2000 не, всего лишь в два раза больше, чем в лучшем случае могло бы занять непосредственное выполнение этой команды без интерпретации. А если бы не было специального быстродействующего постоянного запоминающего устройства, выполнение этой команды заняло бы целых 6000 не. Таким образом, важность наличия командных ПЗУ очевидна.
4 !Многоступенчатый конвейер.
Выполнение команды можно разделить на два этапа: выборка из основной памяти и собственно выполнение. Известно, что этап выборки занимает сравнительно длительное время. Для его сокращения в 1959 г. При разработке IBM Stretch был предложен принцип выборки с упреждением, согласно которому команды выбираются из памяти заранее и помещаются в буферный регистр. Это происходит, когда процессор не занимает внешнюю шину, связывающую его с основной памятью. При выполнении программы по мере необходимости команды вызываются из буфера, благодаря чему сокращается время их выполнения. Позднее идея конвейеризации получила дальнейшее развитие. При конвейерной технологии выполнение команды разделяется на несколько стадий, или этапов, которые реализуются одновременно соответствующими аппаратными средствами.
Если время выполнения одной команды T секунд, то при отсутствии простоев и ожиданий конвейерный принцип обеспечивает выполнение n/T команд в секунду, где n – число стадий (ступеней) конвейера.
Пример
Общий четырёхуровневых конвейер; цветные квадраты символизируют независимые друг от друга инструкции
1. Получение (англ. Fetch)
2. Раскодирование (англ. Decode)
3. Выполнение (англ. Execute)
4. Запись результата (англ. Write-back)
Верхняя серая область — список инструкций, которые предстоит выполнить. Нижняя серая область — список инструкций, которые уже были выполнены. И средняя белая область является самим конвейером.
Выполнение происходит следующим образом:
Цикл | Действия |
· Четыре инструкции ожидают исполнения | |
· Зелёная инструкция забирается из памяти | |
· Зелёная инструкция раскодируется · Фиолетовая инструкция забирается из памяти | |
· Зелёная инструкция выполняется (то есть исполняется то действие, которое она кодировала) · Фиолетовая инструкция раскодируется · Синяя инструкция забирается из памяти | |
· Итоги исполнения зелёной инструкции записываются в регистры или в память · Фиолетовая инструкция выполняется · Синяя инструкция раскодируется · Красная инструкция забирается из памяти | |
· Зелёная инструкция завершилась · Итоги исполнения фиолетовой инструкции записываются в регистры или в память · Синяя инструкция выполняется · Красная инструкция раскодируется | |
· Фиолетовая инструкция завершилась · Результаты исполнения синей инструкция записываются в регистры или в память · Красная инструкция выполняется | |
· Синяя инструкция завершилась · Итоги исполнения красной инструкции записываются в регистры или в память | |
· Красная инструкция завершилась | |
· Все инструкции были выполнены |
5 !Организация (адресация) памяти.
Адресация — осуществление ссылки (обращение) к устройству или элементу данных по его адресу; установление соответствия между множеством однотипных объектов и множеством их адресов; метод идентификации местоположения объекта.
Архитектура персонального компьютера — компоновка его основных частей, таких как процессор, ОЗУ, видеоподсистема, дисковая система, периферийные устройства и устройства ввода-вывода.
Архитектура фон Неймана принцип:
1)принцип хранимой в памяти программы,которая управляет работай ЭВМ
2)линейный принцип выполнения команд(последовательный)
Поколения ЭВМ:1 поколение – электронно-вакуумные лампы 1945 — 1955 гг
2 поколение – полупроводники (транзисторы,диоды) 1955 — 1965 гг
3 поколение – интегральные схемы(МИС,СИС) 1965 — 1975 гг
4 поколение – интегральные схемы(БИС,СБИС) 1975 —наши дни гг
Операти́вную па́мятьможно рассматривать как последовательность пронумерованных байтов.
К-это число битов для записи адреса,чем больше К ,тем больше адрес можно записать.
2^К определяет адресное пространство-облость доступных адресов для данного компьютера.Оперативная память-это количество ячеек оперативной памяти,которые усьановлены на данном компьютере.
Сегмент кода- содержит машинные команды,которые будут выполняться.Начальный адрес этого сегмента находится в регистре сегмента кодов(CS).Сегмент-область кратная 16.Сегмент данных –он содержит данные,константы необходимые для работы программы.Сегмент стека-содержит адрес возврата как для программы при возврате в операционную систему,так и для взовов подпрограмм при возврате в главную программу.Регистр сегмента смека адресует данный сегмент.ОЗУ-оперативное запоминающее устройство.ПЗУ-постоянное запоминающее устройство.Системная область-часть оперативной памяти ,разделяемой всеми процессорами одного экземпляра базы данных.Куча-название структуры данных,с помощью которой реализовано динамически распределяемая память приложения,а также объем памяти,зарезервированных под эту структуру.Куча использует память,выделяемую динамически или запрошенную статически у операционной системы.Эта память используется для размещения объектов,динамически созданных программой.Структура-конструкция большинства языков программирования,позволяющая содержать в себе набор переменных различных типов.Динамическая память-память,выделяемая для программы (работы её) только во время её выполнения.
Схема процесса создания загрузочного модуля программы
Вопрос
Основные концепции функционирования и регистры процессора.
Адрес-символ или группа символов ,которые идентифицируют регистр,отдельные части памяти или некоторые другие источники данных,либо место назначения информации.Регстр-блок ячеек памяти,образующий сверхбыструю оперативную память внутри процессора.Процессор-электронный блок,либо интегральная схема,исплняющая машинные инструкции.Регистр адреса-регистр внутренней памяти центрального процессора,содержимое которого соответствует некоторому адресу.Это может быть адрес операнда,указанный в команде.Служит для вычисления физических адресов и операндов выполняемой прграммы.Для хранения адреса (или его части) ячейки в оперативной памяти.Регистр-функциональный узел,осуществляющий прием,хранение и передачу информации.Регистр данных-участвует в арифметических и логических операциях процессора.Служат для хранения промежуточных вычислений.Регистр команд-регистр управляющего устройства компьютера,предназначенный для хранения кода команды на период времени ,необходимый для её выполнения.Регистры общего назначения-предназначены для хранения операндов арифметико-логических инструкций,а так же адресов или отдельных компонентов адресов ячеек памяти.Операнд-данные,которые обрабатываются командой.Счетчик команд-регистр процессора,содержащий адрес текущей выполняемой команды.В зависимости от архитектуры содержит либо адрес инструкции,котоая будет выполняться,либо той,которая выполняется в данный момент.После выполнения команды,счетчик автоматически увеличивается.Эти три шины образуют системную шинупо которой идет взаимодействие.
Вопрос
Поцесс выполнения команды и использование регистров процессора в этом процессе.
1)После запуска программы адрес первой команды загружается в счетчик команд.
2)Этот адрес пересылается в регистр адреса.Управляющая схемы выдает сигнал на чтение по данному адресу.
3)Обращаемся в сегмент кода и считываем команду в регистр данных
4)Выполнение команды.Дешифратор из устройства управления процессором аннулирует команду.Код команды помещается в регистр команд.
5)Выборка данного из сегмента данных.В регистре выставляется адрес,управляющая схема подает сигнал на чтение из сегмента данных по адресу операнда прочитать данные из этой области памяти.Далее пересылается в один из ронов.После чтения операнда выполняется сама операция.
6)Запись результат в память.Регистр памяти помещается в MDR.Из регистра данных содержимое по указанному адресу записывается в сегмент данных,затирая предыдущее значение.При выполнении программ линейной структуры в процессе выполнения текущей команды содержимое счетчиков команд увеличилось на единицу адреса.Если команда содержала адрес команды(другой),то в счетчик команд загрузится её адрес.
Вопрос
Системная шина-представляет собой набор проводников,объединяющих основные узлы системной платы.Позволяет осуществлять взаимодействие между процессором и остальными компонентами.Осуществляется как передача информации,так и адресация устройств и обмен специальными служебными сигналами.
7 вопрос
Процессор, внутренние функциональные блоки процессора, их связи и их взаимодействие, тракт данных, основные операции процесса выполнения команды.
Этапы выполнения цикла:
1.Процессор выставляет число, хранящееся в регистре счетчика команд, на шину адреса и отдает памяти команду чтения.
2.Выставленное число является для памяти адресом : память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных и сообщает о готовности.
3.Процессор получает число с шины данных, интерпретирует его как команду(машинную инструкцию) из своей системы команд и исполняет ее.
4.Если последняя команда не является командой перехода, процессор увеличивает ее на единицу(в предположении, что длина каждой команды равна единице) число, хранящееся в счетчике команд . В результате там образуется адрес следующей команды.
Процессор(ЦПУ)- электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть оперативного обеспечения компьютера.
Тракт данных- это часть центрального процессора, состоящая из АЛУ( арифметико-логического устройства), его входов и выходов.
Вопрос
Переферийные устройства-аппаратура,которая позволяет использовать вычислительные возможности процессора.
Базовые операции ввода-вывода:
3)Высокоскоростной метод-прямой доступ к памяти
Шинойназывается вся совокупность линий (проводников) на материнской плате,по которым обмениваются информацией компоненты и устройства ПК.Шина,связывающая только два устройства ,называется портом.Разрядность шины-количество линий связи в шине , то есть число бит, которое может быть передано по шине одновременно(8,16,32,64).
В состав системной шины входят:шины адреса,шины данных,шины управления.
Шина адреса-происходит передача адреса от процессора к оперативной памяти и устройствам(одновременная шина)
1)PIO(programmed input/output)
В основе метода лежит опрос процессора,портов ввода-вывода
Флаг-регистр процессора,отражающий текущее состояние процессора.Регистр флагов-важный регистр процессора который,используется при выполнении большинства команд.Флаг-это один или несколько бит памяти,которые могу принимать двоичные значения и характеризуют состояние объекта.
Алгоритм : 1)процессор приостанавливает вычислительную задачу для выполнения цикла опроса , 2)обращается по адресу устройств и проверяет флаги состояния , 3)если sin-1,то из его входного регистра процессор читает данные в памяти и сбрасывает флаг в ноль после чтения , 4) если флаг sout-1,то процессор пишет в него символ и сбрасывает его в ноль.
2)Прерывание.Устойчиво вызывает само сигнал прерывания процессора и процессор вызывает программу обработки прерывания.Для каждого устройства-это своя программа,записанная по фиксированному адресу в памяти.Адреса прерывания записаны в таблицу прерываний.
Вектор прерыания-закрепленный за устройством номер,который идентифицирует соответствующий обработчик прерываний . Векторные прерывания –прерывания при которых номер прерывания(адрес вектора) выдается устройством запросившим прерывание . Флаги состояния –отражают результат,полученный в предыдущей арифметико-логической операции.
Алгоритм прерывания: 1)заканчивается выполнение текущей команды 2)анализируется,разрешено ли прерывание.Если нет . то осуществляется переход к выполнению следующей команды , 3)если запросов несколько несколько ,принимается решение, какой запрос обслуживать(если приоритеты одинаковые,то выберается то,которое по времени раньше ) , 4)процессор передает источникам запроса подтверждение приема запроса , 5)источник запроса передает процессору иденфицирующую его информацию , 6) процессор сохраняет информацию о текущем контексте , 7)адрес перехода на программу обработки прерывания хранится в определенной для каждого источника запроса прерывания области памяти,называемой вектором прерывания.Процессор загружает начальный адрес программы обработки прерывания из вектора прерывания в счетчик команд. Процессор не спрашивает УВВ,а устройство само оповещает о готовности.В этом случае устройство формирует сигнал прерывания.В этом случае используется одна из линий , управляющих шиной.
Стек-структура данных,представляющая собой,список элементов,организованных по принципу LIFO (последним вошел,первым вышел).Каждое устройство в момент прерывания устанавливает бит прерывания в единицу.Самый высокий приоритет состояние супервизора(идет выполнение операционной системы).Далее-таймер.
9 вопрос:
Видеосистема компьютера.
- монитор, видеокарта, программное обеспечение(драйверы видеосистемы). Независимо от типа монитора поверхность рассматривается как растор(матрица точек).Точка называется пикселем. Каждый пиксель это триада точек, RGB представление. Каждая точка отображает цвет: синий, красный, зеленый. Чтобы сформировать изображение надо сформировать цвет каждой точки: черно-белый - 1 бит (достаточно), цветной- 24 бит. В этой модели цвет определяется суммой интенсивности цветов трех основных составляющих. Для того, чтобы задать цвет, нужно задать цвет каждого пикселя. ………………………………….Интенсивность каждого цвета: 0-255.
Типы мониторов:с электроннолучевой трубкой, жидкокристаллическим дисплеем, плазменная панель (сенсор).
Формирование изображения:
1. На ЭЛТ – мониторе: электронная пушка, обстреливает экран строчка за строчкой(сканируется).Частота сканирования должна быть больше 75 герц/с.
2.LCD-экраны. Основа жидкие кристаллы.
Видеокарта -предназначена для формирования информационного файла, имеющего двоичную структуру сигнала формирующего изображения в виде многоточечной(пиксельной) структуре на экране монитора.
Видеопамять – часть оперативной памяти, отведенная для хранения данных, которые используются для формирования изображения на экране монитора.
Генератор развертки- генератор электрических колебаний, вырабатывающий сигналы специальной формы, которые подаются на отклоняющую систему электронно-лучевых приборов для развертки электронного луча по заданному закону.
На современном уровне память двухпортовая. С одной стороны в нее пишет графический процессор, с другой – система вывода считывает пиксели.
Буфер кадра- область памяти для кратковременного хранения одного или нескольких кадров в цифровом виде перед его отправкой на устройство видеовывода ( электр.устройство).
11 вопрос
Компьютерные сети. У каждого компьютера в сети есть сетевой адаптер. Каждый компьютер имеет свой IP-адрес. Он состоит из двух частей:
а)адрес внешней сети-3 байта (для Интернета)
б)внутренний адрес-1 байт(для локальных сетей).
Протоколы:
1.ТСР- протокол передачи данных- разборка на …………(целостность и уверенность доставки информации с запросом о выполнении задачи.
2.IP- протокол маршрутизации.
Компьютерная сеть-совокупность компьютеров и различных устройств ,обеспечивающих информационный обмен между компьютерами в сети из использования каких-либо промежуточных носителей информации.
Типы сетей:
1.по охвату: локальные, региональные, глобальные.
2.по способу соединения:
а)прямое соединение-2 персональных компьютера соединяются отрезком кабеля. Это позволяет одному компьютеру получить доступ к другому.
б)кольцо- последовательное соединение ПК по двум направлениям.
в) звезда- соединение через центральный узел.
г)общая шина- подключение компьютеров к общему кабелю.
Типология сетей- способ описания конфигурации сети, схема соединения и расположения сетевых устройств.
Сегмент сети- логически или физически обособленная часть сети.
Маршрутизатор(роутер) – специализированный сетевой компьютер, имеющий как минимум 1 сетевой интерфейс и посылающий пакеты данных между различными сегментами сети, связывающий разнородные сети различных архитектур, принимающий решения о посылке на основании информации о топологии сети и определенных правил заданных администратором.
МАС адрес– уникальный номер сетевого оборудования. Позволяет уникально идентифицировать каждый узел сети и доставлять данные только по этому узлу.
IP адрес состоит из двух частей: номера сети и номера узла. Между маршрутизаторами стоят опорные узлы Интернета. Эти маршрутизаторы и опорные узлы содержат список узлов:
1.Если в этом списке нет адреса, по которому идет IP-пакет, то маршрутизатор передает ближайшему.
2.Исходный файл разбивается на части, называемыми …………..
3.Они (эти части) добираются до маршрутизатора получателя различными путями, через различные маршрутизаторы.
4.Он,в свою очередь, собирает ………………… в соответствии с их номерами.
Тракт данных может управляться задатчиком последовательности, который вызывает микрокоманды из управляющей памяти. Каждая микрокоманда содержит биты, управляющие трактом данных в течение одного цикла. Эти биты определяют, какие операнды нужно выбирать, какую операцию нужно выполнять и что нужно делать с результатами. Некоторые микрокоманды изменяют этот базовый адрес с помощью операции ИЛИ. [1]
Тракт данных - это часть центрального процессора, состоящая из АЛ У ( арифметико-логического устройства) и его входов и выходов. Тракт данных нашей микроархитектуры показан на рис. 4.1. Хотя этот тракт данных и был оптимизирован для интерпретации программ IJVM, он схож с трактами данных большинства компьютеров. [2]
Часть тракта данных ЦП содержит схемы, необходимые для выполнения основных операций, требующихся при выполнении макрокоманд. Структура модуля тракта данных зависит от архитектуры конкретной машины. [3]
После разбиения тракта данных на три части максимальная задержка прохождения сигнала уменьшается, и в результате тактовая частота может повыситься. Предположим, что если разбить цикл тракта данных на три примерно равных интервала, тактовая частота увеличится втрое. На самом деле это не так, поскольку мы добавили в тракт данных еще два регистра, но в качестве первого приближения это допустимо. [4]
Внутреннее устройство тракта данных типичного фон-неймановского процессора показано на рис. 2.2. Тракт данных состоит из регистров ( обычно от 1 до 32), АЛУ ( арифметико-логического устройства) и нескольких соединяющих шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис. 2.2 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления. Тракт данных - важная составная часть всех компьютеров, и мы обсудим его очень подробно. [6]
Для управления трактом данных , изображенным на рис. 4.1, нам нужно 29 сигналов. [7]
Рассмотрим машину с трактом данных , который изображен на рис. 2.2. Предположим, что загрузка регистров АЛУ занимает 5 не, работа АЛУ - 10 не, а помещение результата обратно в регистр - 5 не. Какое максимальное число миллионов команд в секунду способна выполнять эта машина при отсутствии конвейера. [8]
Предполагается, что используется 32-разрядный тракт данных . В построениях, приведенных на рис. 4.4, принято допущение, что кэш заблокирован, а опережающая выборка первой команды осуществляется по адресу нечетного слова. Обращение к памяти происходит с нулевым количеством состояний ожидания. [9]
На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. [11]
Теперь мы можем управлять трактом данных с помощью 9 4 8 2 124 сигналов, следовательно, нам требуется 24 бита. Однако эти 24 бита управляют трактом данных только в течение одного цикла. Задача управления - определить, что нужно делать в следующем цикле. Чтобы включить это в разработку контроллера, мы создадим формат для описания операций, которые нужно выполнить, используя 24 бита управления и два дополнительных поля: поле NEXT ADDRESS ( следующий адрес) и поле JAM. Содержание каждого из этих полей мы обсудим позже. На рис. 4.4 изображен один из возможных форматов. [13]
Отметим, что в тракте данных происходят обычные операции даже во время выполнения микрокоманд, которые содержат goto. [14]
Основным компонентом любого компьютера является тракт данных . Он содержит несколько регистров, две или три шины, один или несколько функциональных блоков, например АЛУ, и схему сдвига. Основной цикл состоит из вызова нескольких операндов из регистров и их передачи по шинам к АЛУ и другому функциональному блоку. После выполнения операции результаты сохраняются опять в регистрах. [15]
АЛУ, устанавливая триггер Z ( и N), но при этом не сохраняет значение ни в одном из регистров. Тракт данных проходит обычный цикл, выполняются все обычные допустимые операции, но ни один из регистров не записывается. Не важно, где находится пункт назначения: в регистре N или в регистре Z. Микрокоманды, которые при этом порождает микроассемблер, одинаковы. [46]
Кэш-память команд передает в блок вызова, декодирования и свертывания по 8 байтов за раз. Ширина тракта данных составляет 32 бита для целочисленных операций. [48]
Часть тракта данных ЦП содержит схемы, необходимые для выполнения основных операций, требующихся при выполнении макрокоманд. Структура модуля тракта данных зависит от архитектуры конкретной машины. [49]
На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. [50]
Биполярные ВИС микропрограммируемого ЦП обычно разделяются на наборы БИС, которые более или менее соответствуют рассмотренным модулям. Большая часть логики модуля тракта данных содержится в нескольких ПЭ, каждый из которых оперирует 2 или 4 битами. Параллельное включение ПЭ обеспечивает обработку нескольких бит, число которых кратно длине слова ПЭ. [52]
Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных . В какой-то степени он определяет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает. [54]
В книге рассматриваются процессоры, тракт данных , микропрограммирование, конвейеры, организация памяти и процесс ввода-вывода. [55]
АЛУ выполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных , по которому поступают данные. Основная операция тракта данных состоит в следующем. Выбирается один или два регистра, АЛУ производит над ними какую-либо операцию, например сложения, а результат помещается в один из этих регистров. [56]
Теперь мы можем управлять трактом данных с помощью 9 4 8 2 124 сигналов, следовательно, нам требуется 24 бита. Однако эти 24 бита управляют трактом данных только в течение одного цикла. Задача управления - определить, что нужно делать в следующем цикле. Чтобы включить это в разработку контроллера, мы создадим формат для описания операций, которые нужно выполнить, используя 24 бита управления и два дополнительных поля: поле NEXT ADDRESS ( следующий адрес) и поле JAM. Содержание каждого из этих полей мы обсудим позже. На рис. 4.4 изображен один из возможных форматов. [57]
Зачем нужны эти три дополнительных регистра. Ведь теперь для прохождения сигнала через тракт данных требуется три цикла: один - для загрузки регистров А и В, второй - для запуска АЛУ и схемы сдвига и загрузки регистра С, и третий - для сохранения значения регистра-защелки С обратно в нужные регистры. [58]
После разбиения тракта данных на три части максимальная задержка прохождения сигнала уменьшается, и в результате тактовая частота может повыситься. Предположим, что если разбить цикл тракта данных на три примерно равных интервала, тактовая частота увеличится втрое. На самом деле это не так, поскольку мы добавили в тракт данных еще два регистра, но в качестве первого приближения это допустимо. [59]
Затем сигналы управления из всех четырех регистров MIR передаются по тракту данных, вызывая определенные действия. Каждый регистр MIR контролирует отдельную часть тракта данных и, следовательно, различные микрошаги. [60]
Читайте также: