- •Преимущества дискретной формы
- •Представление информации в цифровых автоматах. Информация и алфавит. Кодирование.
- •Код Шеннона-Фано
- •Код Хаффмана Кодирование Хаффмана[править | править вики-текст]
- •Кодирование в компьютере чисел со знаком Прямой код
- •Дополнительный код
- •Операция сложения положительного числа и отрицательного числа, представленного в прямом коде
- •Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде
- •Кодирование вещественных чисел. Нормализованное представление числа
- •Описание[править | править вики-текст]
- •Преимущества и недостатки[править | править вики-текст] Преимущества[править | править вики-текст]
- •Недостатки[править | править вики-текст]
- •1) Классификация моделей по области использования:
- •2) Классификация моделей по фактору времени:
- •Особенности алгоритмов управления ресурсами
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •Монолитное ядро[править | править вики-текст]
- •Модульное ядро[править | править вики-текст]
- •Микроядро[править | править вики-текст]
- •Экзоядро[править | править вики-текст]
- •Наноядро[править | править вики-текст]
- •Гибридное ядро[править | править вики-текст]
- •Физическая организация памяти компьютера
- •Классификация процессоров:
- •Классификация по назначению
- •Классификация по характеру временной организации работы
- •Классификация по количеству выполняемых программ
- •Конвейеризация - способ обеспечения параллельности выполнения команд
- •O Аппаратное обеспечение компьютера – это группа взаимосвязанных устройств, предназначенных для приема, преобразования и выдачи информации.
- •Ускорение вычислений.
- •Вычислительные системы с программируемой структурой
- •Требования, предъявляемые к инфологической модели
- •Архитектура odmg
- •1.2. Домен
- •1.3. Схема отношения, схема базы данных
- •1.4. Кортеж, отношение
- •7.2.1. Общие определения
- •7.2.2. Замыкание множества функциональных зависимостей. Аксиомы Армстронга. Замыкание множества атрибутов
- •Пересечение
- •Разность
- •Структура памяти эвм
- •По порядку сортировки
- •По источнику данных
- •По воздействию на источник данных
- •По структуре
- •По количественному составу
- •По характеристике содержимого
- •По механизму обновления
- •По покрытию индексируемого содержимого
- •3.3. Виды привилегий
- •Стандарт iso 7498
- •Асинхронная передача.
- •Синхронная передача.
- •Кабельные линии связи
- •Беспроводные (радиоканалы наземной и спутниковой связи) каналы передачи данных
- •Технология скремблирования
- •Селективные методы
- •Методы случайного доступа
- •Методы резервирования времени
- •Технология доступа[править | править вики-текст]
- •Обнаружение коллизий[править | править вики-текст]
- •Формат кадра
- •Разновидности Ethernet
- •Структура Fast Ethernet
- •Подуровень управления логической связью (llc)
- •Новые интерфейсы и модель физического уровня
- •Типы спецификаций 10-гигабитного Ethernet
- •Объединение сетей в интерсеть. Удаленный мост
- •Формат сообщения протокола rip 1
- •Формат сообщения протокола rip 2
- •1.1. Назначение протокола arp. Arp-таблицы. Статические и динамические записи arp-таблиц, arp-кэш
- •3.2. Формат icmp-пакета
Классификация по количеству выполняемых программ
В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы.
В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или приемников информации.
Конвейеризация вычислений
Конвейеризация - способ обеспечения параллельности выполнения команд
Выполнение типичной команды можно разделить на следующие этапы:
выборка команды - IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);
декодирование команды / выборка операндов из регистров - ID;
выполнение операции / вычисление эффективного адреса памяти - EX;
обращение к памяти - MEM;
запоминание результата - WB.
В зависимости от типа команды и способа адресации, время выполнения команды сильно варьируется. Дольше всего выполняются этапы, связанные с обращением к памяти. На рисунках показаны блоки и конвейер команд гипотетического процессора, имеющего пять блоков исполнения команд и соответственно пять этапов (ступеней). Изображены выполняемые команды, номера тактов и этапы выполнения команд. На первом такте считывается первая команда. На втором, пока декодируется первая команда, считывается вторая. На пятом такте в процессоре одновременно находятся пять команд, каждая в своем узле.
Суперконвейерный процессор - процессор, с аппаратно реализованным режимом конвейерной обработки (см. конвейерный процессор) и числом ступеней конвейера более 8.
Эффективность конвейера находится в прямой зависимости от того, с какой частотой на его вход подаются объекты обработки. Суперконвейеризация (термин впервые был применен в 1988 году) позволяет улучшить производительность процессора за счет повышения частоты, с которой команды подаются на конвейер и перемещаются по нему. В обычном конвейере эта частота ограничена временем обработки в самой «медленной» ступени конвейера. В суперконвейере возможность увеличения частоты достигается путем выявления «медленных» ступеней и разбиения их на несколько простых таким образом, чтобы время обработки в каждой из них не превышало аналогичного показателя для остальных ступеней конвейера. Главное требование - возможность реализации операции в каждой ступени конвейера наиболее простыми техническими средствами, а значит, с минимальными затратами времени. Вторым, не менее важным условием является одинаковость задержки во всех ступенях. Показателем для причисления процессора к суперконвейерным служит число ступеней в конвейере команд. К суперконвейерным относят процессоры, где таких ступеней больше шести. Первым серийным суперконвейерным процессором считается MIPS R4000, конвейер команд которого включает в себя восемь ступеней. Наряду с понятием суперконвейеризации применение нашел и другой термин - «гиперконвейеризация», который компания Intel использовала при описании процессора Pentium IV с его конвейером команд из 20 ступеней. К сожалению, выигрыш, достигаемый за счет суперконвейеризации, на практике может оказаться лишь умозрительным. Удлинение конвейера ведет не только к усугублению проблем, характерных для любого конвейера, но и к возникновению дополнительных сложностей. В длинном конвейере возрастает вероятность конфликтов. Дороже обходится ошибка предсказания перехода - приходится очищать большее число ступеней конвейера, на что требуется больше времени. Усложняется логика взаимодействия ступеней конвейера. Отражением этих проблем стало то, что Intel в своих разработках сначала увеличила длину конвейера до 31 ступени (ядро Prescoot), а в последующих моделях (процессор Core 2) сократила число ступеней до 14.
Архитектуры с полным и сокращенным набором команд
Архитектура процессора и набор команд служат границей между аппаратурой и программным обеспечением и представляет ту часть системы, которая видна программисту или разработчику компиляторов. Программисты, работающие на языках высокого уровня, могут этих различий и не видеть.
Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры CISC (с большим числом команд) и RISC (с уменьшенным числом команд). Ранее RISC-процессоры определялись как микропроцессоры с количеством команд меньше 128, сейчас же они имеют 200 команд - для сравнения в CISC используется 300 и более команд.
Основой современных рабочих станций и серверов является архитектура компьютера с сокращенным набором команд (RISC - Reduced Instruction Set Computer).
Вычислительная архитектура с сокращенным набором машинных команд (RISC) реализует метод компьютерной обработки, использующий правило 80/20, по которому в 80% работы центрального процессора используется только малая часть общего набора команд микропроцессора. Причем наиболее сложные, редко используемые команды, можно заменить несколькими простыми. Создатели RISC-процессоров взяли этот уменьшенный, упрощенный набор команд и объединили его с такими технологиями, как конвейерная и параллельная обработка, которые позволяют микропроцессору выполнять множество команд за один процессорный цикл. В результате получился процессор, который имеет лучшую производительность для большинства приложений и теоретически стоит меньше, поскольку сам он небольшой и его производство обходится дешевле.
Процессоры архитектуры RISC придерживаются наиболее важных отличительных особенностей:
фиксированной длины команд
архитектуры регистр-регистр
простых способов адресации (2 - 3 метода)
простых (не требующих интерпретации) команд
большого регистрового файла (регистров > 10)
трехоперандного (неразрушительного) формата команд
Зачатки этой архитектуры уходят своими корнями к компьютерам 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: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.
Десять-пятнадцать лет назад RISC-процессоры фирм MIPS, Sun, Hewlett-Packard, а также более новые архитектуры - DEC Alpha и IBM POWER - обгоняли процессоры Intel в разы. Казалось, что архитектура IA-32 (х86) обречена, а будущее целиком и полностью принадлежит RISC-чипам. Правда, выпущенный в 1993 году Pentium довольно близко подобрался к RISC-процессорам в целочисленных тестах, но отставание в вычислениях с плавающей точкой по-прежнему было огромным. Почему же высокопроизводительные RISC-процессоры при такой разнице в производительности не нашли применения в ПК? Для этого были очень веские причины.
Несовместимость наборов инструкций (ISA). RISC-процессоры обладают несовместимыми с х86 наборами инструкций, поэтому единственным способом исполнения кода х86 была эмуляция. Тогда (впрочем, как и сейчас) эмуляция означала падение производительности от десятков до сотен процентов, что сводило на нет скоростные преимущества RISC-процессоров. Некоторые фирмы выделяли значительные ресурсы на создание эффективных эмуляторов (например, FX!32 для процессоров DEC Alpha), но скорость их работы все же была неудовлетворительной.
Программное обеспечение. Традиционной операционной системой для ПК была DOS, под которую написано огромное количество популярных и хорошо знакомых пользователям программ. В дальнейшем к DOS присоединились 16-битные версии Microsoft Windows. Различные RISC-платформы обычно использовали несовместимые между собой разновидности Unix, для которых существовало значительно меньше программ, главным образом научно-технических (для рабочих станций) либо сетевых приложений (для серверов).
Дороговизна RISC-процессоров и систем на их основе. Хотя первоначальная "идея RISC" подразумевала упрощение процессора за счет уменьшения числа команд и их фиксированной длины, реальные RISC-чипы начала 90-х обычно были крупнее и дороже, чем процессоры Intel. Более того, среди них встречались даже целые наборы из микросхем (IBM POWER), поскольку полупроводниковые технологии тех времен не позволяли разместить на одном кристалле столько транзисторов, сколько требовалось. К тому же шина данных этих процессоров частенько была шириной 128 или даже 256 бит (сравним с 32 битами у i486 и 64 битами у Pentium), что означало усложнение чипсета и системной платы. RISC-процессоры предназначались для рабочих станций стоимостью десятки тысяч долларов, поэтому разработчики могли применять схемотехнические решения, слишком дорогие для использования в ПК. Но даже специальные, "дешевые" варианты RISC-компьютеров стоили гораздо дороже сравнимых с ними Intel-ПК по причине малых объемов производства.
Отсутствие интереса у самих производителей RISC-систем. Многие "серьезные" фирмы вроде DEC или Sun полагали, что нет нужды удешевлять свои RISC-станции, потому что пользователи все равно выберут их системы из-за очевидных технических преимуществ.
Преимущества и недостатки Risc
Сравнивая достоинства и недостатки CISC и RISC, невозможно сделать однозначный вывод о неоспоримом преимуществе одной архитектуры над другой. Для отдельных сфер использования ВМ лучшей оказывается та или иная. Тем не менее ниже приводится основная аргументация «за» и «против» RISC-архитектуры.
Для технологии RISC характерна сравнительно простая структура устройства управления. Площадь, выделяемая на кристалле микросхемы для реализации УУ, существенно меньше. Так, в RISC I она составляет 6%,а в RISC II - 10%. Как следствие, появляется возможность разместить на кристалле большое число регистров ЦП (138 в RISC II). Кроме того, остается больше места для других узлов ЦП и для дополнительных устройств: кэш-памяти, блока арифметики с плавающей запятой, части основной памяти, блока управления памятью, портов ввода/вывода.
Унификация набора команд, ориентация на потоковую конвейерную обработку, унификация размера команд и длительности их выполнения, устранение периодов ожидания в конвейере — все эти факторы положительно сказываются на общем быстродействии. Простое устройство управления имеет немного вентилей и, следовательно, короткие линии связи для прохождения сигналов управления. Малое число команд, форматов и режимов приводит к упрощению схемы декодирования, и оно происходит быстрее. Применяемое в RISC УУ с «жесткой»логикой быстрее микропрограммного. Высокой производительности способствует и упрощение передачи параметров между процедурами. Таким образом, применение RISC ведет к сокращению времени выполнения программы или увеличению скорости, за счет сокращения числа циклов на команду.
Простота У У, сопровождаемая снижением стоимости и повышением надежности, также говорит в пользу RISC. Разработка УУ занимает меньше времени. Простое УУ будет содержать меньше конструктивных ошибок и поэтому более надежно.
Многие современные CISC-машины, такие как VAX 11/780, VА Х-8600, имеют много средств для прямой поддержки функций ЯВУ, наиболее частых в этих языках (управление процедурами, операции с массивами, проверка индексов массивов, защита информации, управление памятью и т. д.). RISC также обладает рядом средств для непосредственной поддержки ЯВУ и упрощения разработки компиляторов ЯВУ, благодаря чему эта архитектура в плане поддержки ЯВУ ни в чем не уступает CISC.
Недостатки RISC прямо связаны с некоторыми преимуществами этой архитектуры. Принципиальный недостаток - сокращенное число команд: на выполнение ряда функций приходится тратить несколько команд вместо одной в CISC. Это удлиняет код программы, увеличивает загрузку памяти и трафик команд между памятью и ЦП. Недавние исследования показали, что RISC-программа в среднем на 30% длиннее CISC-программы, реализующей те же функции.
Хотя большое число регистров дает существенные преимущества, само по себе оно усложняет схему декодирования номера регистра, тем самым увеличивается время доступа к регистрам, УУ с «жесткой» логикой, реализованное в большинстве RISC-систем, менее гибко, более склонно к ошибкам, затрудняет поиск и исправление ошибок, уступает при выполнении сложных команд. Однословная команда исключает прямую адресацию для полного 32-битового адреса Поэтому ряд производителей допускают небольшую часть команд двойной длины, например в Intel 80960.
Суперскалярные процессоры
Суперскалярный процессор - процессор, способный параллельно выполнять несколько команд за один такт. Такой режим работы стал возможен, благодаря наличию в современных процессорах нескольких функциональных устройств.
Суперскалярным (термин впервые был использован в 1987 году) называется центральный процессор (ЦП), который одновременно выполняет более чем одну скалярную команду. Это достигается за счет включения в состав ЦП нескольких самостоятельных функциональных блоков, каждый из которых отвечает за свой класс операций и может присутствовать в процессоре в нескольких экземплярах. Так, в микропроцессоре Pentium III блоки целочисленной арифметики и операций с плавающей запятой дублированы, а в микропроцессорах Pentium 4 и Athlon - троированы. Суперскалярность предполагает параллельную работу нескольких функциональных блоков, что возможно лишь при одновременном выполнении нескольких скалярных команд. Последнее условие хорошо сочетается с конвейерной обработкой, при этом желательно, чтобы таких конвейеров было несколько, например два или три. Разумеется, в этом случае ступень выборки команд, общая для всех конвейеров, должна в каждом такте извлекать из памяти сразу несколько команд. За этой ступенью располагается блок диспетчеризации, отвечающий за распределение команд по конвейерам. Появление этой технологии привело к существенному увеличению производительности, в то же время существует определенный предел роста числа функциональных устройств, при превышении которого производительность практически перестает расти, а функциональные устройства простаивают. Частичным решением этой проблемы являются, например, гиперпотоковая технология.
Аппаратное и программное обеспечение обмена информацией.
Аппаратное обеспечение персонального компьютера включает электронные компоненты и различные внешние устройства для обработки, хранения данных, обмена информацией с пользователем и связи с другими электронными устройствами. Обмен информацией между компьютерами осуществляет системная шина. Стандартная конфигурация компьютера – это системный блок, монитор и клавиатура. Все остальное аппаратное обеспечение относится к периферийному оборудованию и подключается к компьютеру через порты: последовательный, параллельный и игровой порты (или интерфейсы).
К последовательному порту обычно подсоединяют медленно действующие или достаточно удалённые устройства, такие, как мышь и модем. К параллельному порту подсоединяют более "быстрые" устройства — принтер и сканер. Через игровой порт подсоединяется джойстик. Клавиатура и монитор подключаются к своим специализированным портам, которые представляют собой просто разъёмы.
