Лекция
Сразу хочу сказать, что здесь никакой воды про архитектура компьютера, и только нужная информация. Для того чтобы лучше понимать что такое архитектура компьютера, архитектура фон неймана, гарвардская архитектура, характеристики компьютера, архитектура процессоров , настоятельно рекомендую прочитать все из категории Компьютерная схемотехника и архитектура компьютеров.
Архитектура персонального компьютера — компоновка его основных частей, таких как процессор, ОЗУ, видеоподсистема, дисковая система, периферийные устройства и устройства ввода-вывода.
Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня. Архитектура описывает общую модель компьютера. Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры .
Выделяют несколько уровней организации компьютера (компьютерной архитектуры), от двух и более:
Архитектура ЭВМ характеризуется качествами машины, влияющими на ее взаимодействие с пользователем. Архитектуpa определяет совокупность свойств машины и характеристик, которые необходимо знать программисту для эффективного использования ЭВМ при решении задач.
В свою очередь, архитектура определяет принципы организации вычислительной системы и функции центрального вычислительного устройства. Однако она не показывает то, как эти принципы реализуются внутри машины. Архитектура не зависит от программно недоступных ресурсов машины. Если у компьютеров одинаковая архитектура, то любая программа в машинном коде, написанная для одного компьютера, на другом компьютере работает аналогично с получением одинаковых результатов.
Для выполнения своих функций любой ЭВМ необходим минимальный набор функциональных блоков.
Архитектура сегодняшних компьютеров имеет классические черты, однако есть и некоторые отличия. В частности, запоминающее устройство (ЗУ) первых ЭВМ классической структуры подразделялось на два вида:
1) внутреннее, содержащее информацию, которая обрабатывалась в нем за некоторый момент времени;
2) внешнее, являющееся хранилищем всей информации, необходимой для работы компьютера.
В ходе технического прогресса число уровней в иерархии памяти компьютеров увеличивалось.
Арифметико-логическое устройство и устройство управления образуют единый блок, называемый центральным процессором. Перечень устройств для ввода и вывода данных включает в себя различные накопители на магнитных, оптических и магнитооптических дисках, сканеры, клавиатуру, мышь, джойстик, принтеры, графопостроители и т. д. Структура современного ПК содержит две основные части: центральную и периферийную, при этом к центральной части принято относить центральный процессор и внутреннюю память.
Центральным процессором (ЦП) называется устройство, обрабатывающее данные и осуществляющее программное управление этим процессом. Центральный процессор состоит из АЛУ, УУ, иногда и собственной памяти процессора; он чаще всего выполняется в виде большой интегральной схемы и носит название микропроцессора.
Внутренняя память – это устройство, предназначенное для хранения информации в специальном закодированном виде.
Оперативное запоминающее устройство, или оперативная память (ОП), – это ЦП, взаимодействующий с внутренним ЗУ. Оперативная память используется для приема, хранения и выдачи всей информации, которая требуется для выполнения операций в ЦП.
Внешние запоминающие устройства необходимы для хранения больших объемов информации, не использующейся в данный момент времени процессором. К ним относятся: накопители на магнитных дисках, накопители на магнитных лентах, накопители на оптических и магнитооптических дисках.
Виртуальной памятью является совокупность ОП, ВЗУ и комплекса программно-аппаратных средств.
Конфигурация ЭВМ– это определенный состав ее устройств с учетом их особенностей.
Операцией ввода называется передача информации от периферийных устройств в центральные, операцией вывода – процесс передачи информации из центральных устройств в периферийные.
Интерфейсы представляют собой сопряжения, осуществляющие в вычислительной технике связь между устройствами ПК.
Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня. Архитектура связана с программными аспектами. Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры[
Выделяют несколько уровней организации компьютера (компьютерной архитектуры), от двух и более:[
Уровень 0
Цифровой логический уровень, это аппаратное обеспечение машины, состоящий из вентилей. См. Логические элементы (защелки), триггеры, регистры
Уровень 1
Микроархитектурный уровень, интерпретация (микропрограммы) или непосредственное выполнение. Электронные схемы исполняют машинно-зависимые программы. Совокупность регистров процессора формирует локальную память. См. арифметико-логическое устройство.
Уровень 2
Уровень архитектуры системы команд, трансляция (ассемблер).
Уровень 3
Уровень операционной системы, трансляция (ассемблер). Это гибридный уровень: одна часть команд интерпретируется операционной системой, а другая — микропрограммой. См. виртуальная память, файлы.
Уровень 4
Уровень языка ассемблера, трансляция (компилятор). Четвертый уровень и выше используется для написания прикладных программ, с первого по третий — системных программ. Программы в удобном для человека виде транслируются на язык уровней 1-3.
Уровень 5
Язык высокого уровня. Программы на языках высокого уровня транслируются обычно на уровни 3 и 4.
Схема, иллюстрирующая многоуровневую структуру компьютера
Архитектура фон Неймана — широко известный принцип совместного хранения команд и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования компьютеров.
Принципы фон Неймана:
Принцип программного управления
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов.
Гарвардская архитектура — архитектура ЭВМ, отличительными признаками которой являются:
Архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете.
В чистой архитектуре фон Неймана процессор в каждый момент времени может либо читать инструкцию, либо читать/записывать единицу данных из/в памяти. Оба действия одновременно происходить не могут, поскольку инструкции и данные используют один и тот же поток (шину).
В компьютере с использованием гарвардской архитектуры процессор может считывать очередную команду и оперировать памятью данных одновременно и без использования кэш-памяти. Таким образом, компьютер с гарвардской архитектурой при определенной сложности схемы быстрее, чем компьютер с архитектурой фон Неймана, поскольку потоки команд и данных расположены на раздельных физически не связанных между собой аппаратных каналах.
Исходя из физического разделения шин команд и данных, разрядности этих шин могут различаться и физически не могут пересекаться.
Первая документально оформленная компьютерная архитектура находилась в переписке между Чарльзом Бэббиджем и Адой Лавлейс, описывающим механизм анализа. При создании компьютера Z1 в 1936 году Конрад Цузе описал в двух патентных заявках свои будущие проекты. Два других ранних и важных примера:
Статья Джона фон Неймана 1945 года, первый проект отчета об EDVAC, в котором описана организация логических элементов;
Более подробный Предложенный Электронный Калькулятор Алана Тьюринга для Автоматического Вычислительного Двигателя, также 1945 и который привел статью Джона фон Неймана.
Термин «архитектура» в компьютерной литературе можно проследить до работы Лайла Р. Джонсона, Фридриха П. Брукса-младшего и Мохаммада Усмана-хана. Все они были членами отдела машинной организации в основном исследовательском центре IBM в 1959 году. У Джонсона была возможность написать собственное исследовательское сообщение о суперкомпьютере Stretch, разработанном IBM в Лос-Аламосской национальной лаборатории (в то время известном как Лос-Аламос Научная лаборатория). Чтобы описать уровень детализации для обсуждения роскошно украшенного компьютера, он отметил, что его описание форматов, типов команд, аппаратных параметров и улучшений скорости было на уровне «системной архитектуры» — термин, который казался более полезным, чем «машинная организация».
Впоследствии Брукс, дизайнер стретч, начал главу 2 книги («Планирование компьютерной системы: проект Stretch», изд., W. Buchholz, 1962), написав:
"Компьютерная архитектура, как и другая архитектура, — это искусство определения потребностей пользователя структуры, а затем проектирования для максимально эффективного удовлетворения этих потребностей в рамках экономических и технологических ограничений."
Брукс продолжал помогать в разработке линейки компьютеров IBM System / 360 (теперь называемой IBM zSeries), в которой «архитектура» стала существительным, определяющим «то, что пользователь должен знать».
Самые ранние компьютерные архитектуры были разработаны на бумаге, а затем непосредственно встроены в окончательную аппаратную форму. Позже прототипы компьютерной архитектуры были физически построены в виде транзисторно-транзисторной логической системы (TTL), такой как прототипы 6800 и испытанного PA-RISC, и исправлены, прежде чем перейти к окончательной аппаратной форме. Начиная с 1990-х годов, новые компьютерные архитектуры обычно «строятся», тестируются и настраиваются внутри какой-либо другой компьютерной архитектуры в симуляторе компьютерной архитектуры; или внутри ПЛИС в качестве мягкого микропроцессора; Или оба — перед тем, как совершить окончательную аппаратную форму.
Чипсет
Еще в середине прошлого века, платы компьютера содержали до двух сотен микросхем. Материнская плата, формирующая основу вычислительной системы современного компьютера общего назначения, содержат две основные большие микросхемы:
От микросхем чипсета зависят возможности работы установленных в вычислительной системе процессора внешних устройств (видеокарты, винчестера и др.).
С точки зрения функциональности, то северный мост выполняет следущее:
выполняет организацию взаимодействия следующего оборудования:
1. через Front Side Bus — микропроцессор, если в составе процессора нет контроллера памяти, тогда через шину контроллера памяти подключена— оперативная память.
2. через шину графического контроллера — видеоадаптер (в материнских платах нижнего ценового диапазона, видеоадаптер часто встроенный. В таком случае северный мост, произведенный Intel, называется GMCH (от англ. Chipset Graphics and Memory Controller Hub).
Исходя из назначения, северный мост определяет параметры (возможный тип, частоту, пропускную способность):
Почти всегда именно параметры и быстродействие северного моста определяют выбор реализованных на материнской плате шин расширения (PCI, PCI Express) системы.
С точки зрения функциональности южный мост включает в себя и обеспечивает работу:
Вычислительные системы современных компьютеров общего назначения чаще всего строят с использованием следующей архитектуры:
Помимо поддержки двух- и четырехъядерных процессоров новые чипсеты поддерживают совершенно новый тип памяти DDR4 или DDER5 (наряду с традиционной DDR3), а также новое поколение интерфейса PCI Express 4 увеличеннойпропускной способностью графики, а также работают с новой технологией новые видеочипы имеют полноценную аппаратной поддержкой DirectX и Open GL.
Производительность (быстродействие) компьютера– возможность компьютера обрабатывать большие объемы информации. Определяется быстродействием процессора, объемом ОП и скоростью доступа к ней (например, Pentium III обрабатывает информацию со скоростью в сотни миллионов операций в секунду)
Производительность (быстродействие) процессора – количество элементарных операций выполняемых за 1 секунду.
Тактовая частота процессора (частота синхронизации) - число тактов процессора в секунду, а такт – промежуток времени (микросекунды) за который выполняется элементарная операция (например сложение). Таким образом Тактовая частота - это число вырабатываемых за секунду импульсов, синхронизирующих работу узлов компьютера. Именно ТЧ определяет быстродействие компьютера
Задается ТЧ специальной микросхемой «генератор тактовой частота», который вырабатывает периодические импульсы. На выполнение процессором каждой операции отводится определенное количество тактов. Частота в 1Мгц = 1миллиону тактов в 1 секунду. Превышение порога тактовой частоты приводит к возникновению ошибок процессора и др. устройств. Поэтому существуют фиксированные величины тактовых частот для каждого типа процессоров, например: 2,8 ; 3,0 Ггц и тд
Разрядность процессора – max длина (кол-во разрядов) двоичного кода, который может обрабатываться и передаваться процессором целиком.
Разрядность связана с размером специальных ячеек памяти – регистрами. Регистр в 1байт (8бит) называют восьмиразрядным, в 2байта – 16-разрядным и тд. Высокопроизводительные компьютеры имеют 8-байтовые регистры (64разряда)
Количество и объемы кешей процессора — это внутренняя память процессора, которая ускоряет процесс обработки часто выполняемых операций для ПК. Есть 3 уровня, которые различают по объему памяти на ядро :
Кэш-память значительно быстрее оперативной .
Количесво ядер процессора процессоры с количеством ядер от 2 до 8 и больше. Наличие нескольких ядер — не единственное, от чего зависит работа ПК. Важно и количество потоко
Время доступа - Быстродействие модулей оперативно , это период времени, необходимый для считывание min порции информации из ячеек памяти или записи в память. Современные модули обладают скоростью доступа свыше 10нс (1нс=10-9с)
Объем памяти (емкость) – max объем информации, который может храниться в ней.
Плотность записи – объем информации, записанной на единице длины дорожки (бит/мм)
Скорость обмена информации – скорость записи/считывания на носитель, которая определяется скоростью вращения и перемещения этого носителя в устройстве.
Оперативная (внутренняя) память. RAM Оперативная память представляет собой множество ячеек, причем каждая ячейка имеет свой уникальный двоичный адрес. Каждая ячейка памяти имеет объем 1 байт.
В персональных компьютерах величина адресного пространства процессора и величина фактически установленной оперативной памяти практически всегда различаются.
Оперативная память аппаратно реализуется в виде модулей памяти различных типов (SIMM, DIMM) и разного объема (от 1 до 256 Мбайт). Модули различаются по своим геометрическим размерам: устаревшие модули SIMM имеют 30 или 72 контакта, а современные модули DIMM — 168 контактов.
Долговременная (постоянная) память ROM. В качестве внешней памяти используются носители информации различной информационной емкости:
Частота системно шины Front Side Bus (FSB, системная шина) — шина, обеспечивающая соединение между x86/x86-64-совместимым центральным процессором и внутренними устройствами.
Как правило, современный персональный компьютер на базе x86- и x64-совместимого микропроцессора устроен следующим образом:
Поскольку процессор работает с памятью через FSB, то производительность FSB является одним из важнейших параметров такой системы.
жесткие диски (до несколтких террабайт),
Рисунок 2 - структура МПС с гарвардской архитектурой
Рис. 1. Структура МПС с принстонской (фон-неймановской) архитектурой.
посмотрим на топологию современного процессора от Intel.
Клиентская конфигурация Skylake ( SKL ) является преемником Intel Broadwell , 14-нм микроархитектуры для обычных рабочих станций, настольных компьютеров и мобильных устройств. Скайлейк сменил недолговечный Broadwell , у которого возникли серьезные задержки. Skylake — это этап «Архитектуры» в рамках модели Intel PAO . Микроархитектура была разработана центром исследований и разработок Intel в Хайфе, Израиль .
Для настольных компьютеров и мобильных устройств Skylake маркируется как процессоры Intel Core i3 , Core i5 , Core i7 6-го поколения. Для рабочих станций он обозначается как Xeon E3 v5 .
Модели t доступны в конфигурации с 2 или 4 ядрами.
Изображение двухъядерных процессоров GT2 Skylake Они встречаются в мобильных моделях и процессорах начального/бюджетного уровня:
Рис. Intel
С момента появления современного блока управления питанием на микропроцессоре роль операционной системы фактически заключалась в определении желаемой рабочей частоты и напряжения (т. е. p-состояния ) для текущей рабочей нагрузки. Когда загрузка ЦП достигла пика, роль операционной системы заключалась в повышении частоты, чтобы справиться с этим. Проблема всегда заключалась в ограничениях операционной системы. Одним из таких серьезных ограничений является степень детализации времени ответа операционной системы — обычно он составляет 10 миллисекунд (все, что меньше этого значения, вероятно, будет слишком интенсивным и не даст лучшего результата). Вторая серьезная проблема заключается в том, что операционная система не имеет возможности мгновенного наблюдения за микроархитектурным поведением рабочей нагрузки.
Системный агент (SA) содержит блок обработки изображений (IPU), механизм отображения (DE), шину ввода-вывода и различные другие общие функции. Обратите внимание, что обычные настольные компьютеры (т. е. четырехъядерные процессоры) не имеют IPU (контроллер памяти фактически занимает часть того места, где он в противном случае находился бы).
включает в себя новый встроенный блок обработки изображений (IPU). IPU представляет собой готовое решение для всей подсистемы визуализации (т. е. ISP + функциональность аппаратного манипулирования), требующее только камеры с внешним датчиком. Эта функция доступна только на двухъядерных мобильных моделях. Мотивацией этой интеграции является, прежде всего, форм-фактор: встроенный IPU обеспечивает более высокий уровень удобства для пользователя и дополнительную оптимизацию энергопотребления.
Skylake разделен на несколько тактовых доменов , каждый из которых управляет тактовой частотой соответствующего блока процессора. Все тактовые домены кратны тактовой частоте [виртуальной] шины ( BCLK ).
Из рисунка мы видим, что значительная часть площади кристалла отводится не под вычислительные ресурсы, а под сложную логику определения зависимостей, спекулятивного исполнения (out-of-order speculative execution) и составления расписания (scheduling). В сумме накладные расходы приводят к тому, что “КПД” процессора, т.е. энергия, затрачиваемая на выполнение реальных вычислений, составляет менее 1%:
While a simple arithmetic operation requires around 0.5–20 pJ, modern cores spend about 2000 pJ to schedule it.
Conventional multicore processors consume 157–707 times more energy than customized hardware designs.
(из статьи “Rise and Fall of Dark Silicon”, приведенной в списке литературы).
Чтобы сделать сравнение более конкретным, возьмем мощный процессор общего назначения от Intel и мощный DSP фирмы Texas Instruments (например Skylake Xeon Platinum 8180M и TMS320C6713BZDP300):
|
CPU (Intel) |
DSP (TI) |
Частота |
2.5 ГГц |
500 МГц |
Число ядер |
28 |
1 |
Пиковая производительность |
560 GIPS |
1.8 GIPS |
Энергопотребление |
205 Вт |
1 Вт |
Out-of-order |
Да |
Нет |
Цена |
$13K (+ система охлаждения) |
$35 (оптовая цена) |
Target applications |
Любые |
- Большое число циклов - Высокий параллелизм по данным - Регулярный паттерн доступа в память |
Производительность / Вт / ядро |
0.097 GIPS/Вт/ядро |
1.7 GIPS/Вт/ядро (в 17 раз лучше Intel) |
Производительность / Вт / ядро / $ |
0.0075 MIPS/Вт/ядро/$ |
0.051 GIPS/Вт/ядро/$ (в 7000 раз лучше Intel) |
Пожалуйста, пиши комментарии, если ты обнаружил что-то неправильное или если ты желаешь поделиться дополнительной информацией про архитектура компьютера Надеюсь, что теперь ты понял что такое архитектура компьютера, архитектура фон неймана, гарвардская архитектура, характеристики компьютера, архитектура процессоров и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная схемотехника и архитектура компьютеров
Комментарии
Оставить комментарий
Компьютерная схемотехника и архитектура компьютеров
Термины: Компьютерная схемотехника и архитектура компьютеров