- •Курс лекций
- •«Компьютерные системы»
- •Введение
- •История развития, классификация кс
- •Классификация Хокни (r. Hockney)
- •Классификация Фенга (t. Feng)
- •Классификация Скилликорна
- •Типы данных поддерживаемые кс
- •2.1. Классические типы данных
- •2.2. Форматы представления графических и специальных типов данных
- •2.3. Команды и операции над данными
- •Детерминированные и случайные потоки в кс
- •Магистрально-модульный принцип построения вычислительных систем
- •Параллельные магистрали
- •Последовательные линии
- •Архитектура потоков команд
- •Сетевые конфигурации вычислительных сред.
- •Параллелизм и конвейеризация в ступенях кс.
- •Виртуальные процессы, иерархия памяти кс
- •Cisc и risc архитектура процессоров.
- •Защищённый режим (protected mode)
- •Режим виртуального 8086 (virtual 8086 mode, v86)
- •Смешанные режимы
- •Страничная организация памяти
- •Расширения базовой архитектуры, введение новых инструкций.
- •Краткий обзор архитектуры ia-64
- •Регистры
- •Особенности архитектуры цифровых процессоров сигналов, транспьютеров и интерфейсных сбис.
- •Видеоадаптеры
- •Микроконтроллеры
- •Ram: 512 байта.
- •Производительность кс
- •Волнообразный вид функции обусловлен: целесообразностью наработки ассемблерных наполнений операторов и функций языков высокого уровня; появлением новых нишь применения модулей.
- •Функция прогнозирования для разработки с – подобной среды программирования
- •Литература
- •Электронная версия. Учебное пособие для студентов факультета радиофизики и компьютерных технологий
Cisc и risc архитектура процессоров.
Двумя основными архитектурами набора команд, на современном этапе развития вычислительной техники являются архитектуры CISC и RISC. Основоположником CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой /360, ядро которой используется с1964 года и дошло до наших дней, например, в таких современных мейнфреймах как IBM ES/9000.
Лидером в разработке микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров характерно: сравнительно небольшое число регистров общего назначения; большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов; большое количество методов адресации; большое количество форматов команд различной разрядности; преобладание двухадресного формата команд; наличие команд обработки типа регистр-память.
Основой архитектуры современных рабочих станций и серверов является архитектура компьютера с сокращенным набором команд (RISC - Reduced Instruction Set Computer). Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения набора команд для построения быстрых вычислительных машин. Эту традицию упрощения архитектуры С. Крэй с успехом применил при создании широко известной серии суперкомпьютеров компании Cray Research. Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.
Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались, и компьютер на его основе в промышленных масштабах не изготавливался. В 1980 году Д.Паттерсон со своими коллегами из Беркли начали свой проект и изготовили две машины, которые получили названия RISC-I и RISC-II. Главными идеями этих машин было отделение медленной памяти от высокоскоростных регистров и использование регистровых окон. В 1981году Дж.Хеннесси со своими коллегами опубликовал описание стенфордской машины MIPS, основным аспектом разработки которой была эффективная реализация конвейерной обработки посредством тщательного планирования компилятором его загрузки.
Эти три машины имели много общего. Все они придерживались архитектуры, отделяющей команды обработки от команд работы с памятью, и делали упор на эффективную конвейерную обработку. Система команд разрабатывалась таким образом, чтобы выполнение любой команды занимало небольшое количество машинных тактов (предпочтительно один машинный такт). Сама логика выполнения команд с целью повышения производительности ориентировалась на аппаратную, а не на микропрограммную реализацию. Чтобы упростить логику декодирования команд использовались команды фиксированной длины и фиксированного формата.
Среди других особенностей RISC-архитектур следует отметить наличие достаточно большого регистрового файла (в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 - 16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные. Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки.
Ко времени завершения университетских проектов (1983-1984 гг.) обозначился также прорыв в технологии изготовления сверхбольших интегральных схем. Простота архитектуры и ее эффективность, подтвержденная этими проектами, вызвали большой интерес в компьютерной индустрии, и с 1986 года началась активная промышленная реализация архитектуры RISC. К настоящему времени эта архитектура прочно занимает лидирующие позиции на мировом компьютерном рынке рабочих станций и серверов.
Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания оптимизирующих компиляторов. Именно современная техника компиляции позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой оптимизационной техники для повышения производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.
Следует отметить, что в разработках ЦП компании Intel (начиная с процессора 80486 и последующих), а также ее последователей-конкурентов (AMD, Cyrix, NexGen и др.) широко используются идеи, реализованные в RISC-микропроцессорах, так что, по сути это комплексная архитектура - RISC по массовым командам пользователя и CISC в остальном.
32-х разрядные процессоры фирмы Intel, DEC, Motorola.
Персональные компьютеры начали с 8 – ми разрядных процессоров в среде мини-компьютеров и майнфреймов. Упрощенная система команд не вызывала интереса инженерных кругов. Выход на 16-ти разрядную архитектуру ведущие производители компьютеров начали с различных уровней DEC сверху от мини компьютера, Intel снизу от «калькулятора», Моторола вошла на рынок почти без предыстории, мало заботясь о совместимости со своими 8-ми разрядными процессорами. Началась упорная борьба. Тактовые частоты были близки, быстродействие компьютеров также почти не разнилась. Intel предоставила самые дешевые, самые ремонтопригодные компьютеры и победила. На 32-х разрядном рынке центральных процессоров она получила вначале ведущие и дальнейшем лидирующие позиции. Соперники ушли к 64-х разрядным RISC процессорам рабочих станций.
Поэтому основное внимание уделим именно процессорам Intel.
x86 (англ. Intel 80x86) — архитектура процессора c одноименным набором команд, впервые реализованная в процессорах компании Intel. Название образованно от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). За время своего существования набор команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями. Помимо Intel, архитектура также была реализована в процессорах других производителей: AMD, VIA, Transmeta, WinChip и др. В настоящее время для 32х разрядной версии архитектуры существует еще одно название — IA-32 (Intel Architecture — 32).
x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian, известному также как Intel-формат. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением.
Обращение к памяти.
Реальный режим (real mode). Классический режим адресации, использованный в первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1MB разбивается на 16-байтовые блоки, называемые параграфами. Сегменты памяти имеют размер 65536 байт, и всегда начинаются на границе параграфа. Адрес ячейки памяти состоит из двух частей: номера параграфа, с которого начинается сегмент и смещения внутри сегмента. Адрес ячейки, выдаваемый на шину, представляет собой сегментную компоненту умноженную на 16 плюс смещение. Сегментная компонента помещается в специальный регистр, называемый сегментным, а смещение в регистр IP(регистр инструкций). Микропроцессоры 8086/8088, 80186/80188 и 80286 имели четыре сегментных регистра, т.е могли работать одновременно с четырьмя сегментами памяти, имеющими определенное назначение. В 80386 добавили еще два, не имеющих специального назначения.
Сегментные регистры и их назначение:
CS — Сегмент кода. Используется для выборки команд;
DS — Сегмент данных. По умолчанию - для доступа к данным;
ES — Дополнительный сегмент. Является получателем данных в командах обработки строк;
SS — Сегмент стека. Используется для размещения стека;
FS — Дополнительный сегментный регистр. Специального назначения не имеет. Появился в процессоре 80386;
GS — Аналогично предыдущему, но в новых процессорах с 64-битной архитектурой имеет особый статус: может использоваться для быстрого переключения контекстов.
Несмотря на то, что сегментные регистры имеют специальные назначения, архитектура допускает при обращении к данным заменить один сегмент на любой другой. Сегменты кода, стека и получателя строк всегда используют регистры CS, SS и ES и не могут быть изменены. Общий объем памяти, адресуемый в реальном режиме, составляет 1048576 байт (0000:0000-F000:FFFF (00000-FFFFF)-логический адрес (физический адрес) в шестнадцатеричной системе счисления). Сегментный подход позволяет разделить всю память на 16 сегментов, начинающихся с адресов, кратных 64 Кбайт. Эти 16 сегментов называют страницами памяти. Обычно деление на страницы используется для совместного функционирования устройств, интерфейсы которых отображены на адресное пространство памяти; тогда каждое такое устройство использует одну страницу памяти, и адрес ячейки в адресном пространстве устройства будет совпадать со смещением в сегменте памяти компьютера. Так в компьютерах IBM PC страницы 11…15 используются как «видеопамять»(адресное пространство видеоадаптера), а шестнадцатая страница (размещающаяся в адресах FFFF:0000 — FFFF:FFFF) получила название «области верхней памяти» (High Memory Area), которую впоследствии MS-DOS использовала для размещения своего ядра и буферов ввода-вывода, оставив больше «обычной» памяти прикладным программам. Таким образом, реально доступная пользователю память составляет 640 Кбайт (первые 10 страниц).
Также в реальном режиме отсутствует защита памяти и разграничение прав доступа, поэтому он уже практически вышел из употребления.
