- •1. Загальна структура і функції комп’ютера
- •2. Продуктивність комп’ютера
- •3. Швидкодія мікропроцесорів
- •4. Система магістралі
- •5.Зв’язок між компонентами комп’ютера через магістраль
- •6.Магістраль рсі
- •7. Внутрішня пам’ять
- •8.Функції і характеристики підсистеми пам’яті
- •Размещение
- •10. Сучасні тенденції в організації модулів пам’яті
- •11. Стек
- •12.Зовнішня память
- •13.Збереження інформації на магнітних дисках
- •15.Оптична пам'ять
- •16. Збереження інформації на магнітних стрічках
- •17. Введення – виведення
- •18.Програмне введення –виведення
- •19. Введення-виведення по прериванню
- •20.Прямий доступ до пам’яті
- •Зовнішні інтерфейси….. Типы интерфейсов
- •Концепція організації операційних систем
- •Планування завдань
- •Керування розподілом пам’яті
- •Вектори обчислень
- •Арифметико-логічний пристрій
- •Система команд комп’ютера
- •Характеристики та функції команд
- •Структура і функції центрального процесора
- •30.Структура центрального процесора
- •31.Організація набору регістрів
- •32. Конвеєрна обробка команд
- •33. Комп’ютери зі скороченим набором команд
- •34. Організація конвеєру в risc-процесорах
- •35. Порівняльні характеристики risc і сisc комп’ютерів
- •36. Суперскалярні процесори
- •37. Паралелізм на рівні машинних команд
- •38. Функції пристрою керування
- •39. Мікрооперації
- •40. Управління роботою процесора
- •41. Пристрої управління із жорсткою логікою
- •42. Мікропрограмне керування
- •43. Управління послідовністю виконання мікрокоманд
- •44. Використання мікропрограмування
- •45. Параллельна обробка
- •46. Організація мікропроцесорних систем
- •47. Симетричні мультипроцесорні системи
- •48. Інформаційна цілісність кешів та протокол mesi
- •49. Кластери
- •50. Системи зі змінним часом звернення до пам’яті
2. Продуктивність комп’ютера
Из года в год стоимость компьютерных систем снижается, а их функциональные возможности возрастают. В ближайшем специализированном магазине можно меньше чем за $1 000 приобрести персональный компьютер, который по возможностям не уступает большой вычислительной машине, выпущенной IBM всего-навсего десяток лет назад. Под кожухом системного блока этого компьютера, где находятся СБИС микропроцессора, памяти и других функциональных узлов, "спрятались" свыше 100 млн. транзисторов. Сложно представить себе, 100 млн. чего еще можно купить за эти деньги. Даже за 100 млн. бумажных салфеток придется выложить не менее $100 000.
Следовательно, в наших руках действительно оказалась ни с чем не сравнимая мощь. Наличие таких вычислительных ресурсов способствовало появлению приложений, о которых в виду их сложности совсем недавно мы не могли и мечтать. Например, современный персональный компьютер, который свободно умещается на письменном столе, способен решать такие задачи:
обработка изображений;
распознавание речи;
проведение видеоконференций;
создание звуковой и видеоаннотаций к файлам.
Вычислительные комплексы, объединяющие множество рабочих станций, стали непременной принадлежностью любой конструкторской или исследовательской организации, на их основе создаются системы научных расчетов, автоматизированного проектирования, моделирования реальных физических процессов и множество других приложений. Обширной областью применения современных компьютеров является и сфера бизнеса.
Если же на все это великолепие взглянуть с точки зрения архитектуры и структурной организации компьютерных систем, то следует отметить, что, с одной стороны, современный компьютер в самых общих чертах не намного отличается от компьютера IAS, разработанного фон Нейманом еще 50 лет назад, а с другой — методы "выдавливания" всех потенциальных возможностей из новой технологии за эти 50 лет стали намного более изощренными.
Это наблюдение следует все время держать в голове, углубляясь в те или иные частные вопросы при изучении материала данной книги. Во-первых, рассматривая любой компонент компьютера, мы будем обращать ваше внимание на его базовые функции в системе, а во-вторых, покажем, каким образом при определенном уровне технологии можно добиться наиболее высокой производительности при выполнении компонентом этих функций. В настоящем разделе мы остановимся на основных факторах, влияющих на производительность компьютера.
3. Швидкодія мікропроцесорів
Вичислительная мощь таких современных микропроцессоров, как Pentium или PowerPC, объясняется в первую очередь тем, что их изготовители неутомимо трудятся над повышением быстродействия чипов. Эволюция этих компонентов по-прежнему "вписывается" в закон Мура, о котором мы говорили выше. До тех пор пока этот закон будет соблюдаться, изготовители компонентов будут каждые три года переходить на выпуск продукции следующего поколения с количеством транзисторов вчетверо большим, чем у предшествующего. В области элементной базы устройств памяти емкость динамических микросхем (DRAM — dynamic random access memory) увеличивается в четыре раза каждые три года. С тех пор, как фирма Intel в 1978 году начала выпуск своих микропроцессоров семейства 80x86, каждые три года производительность новых изделий повышается в четыре-пять раз за счет новых схемных решений и сокращения расстояния между элементами.
Но включить в состав компьютера микропроцессор, обладающий потенциально высокой производительностью, — это только полдела. Нужно еще и обеспечить его "работой" в форме непрерывного потока машинных команд. Все, что будет препятствовать этому потоку, не позволит в полной мере использовать возможности нового микропроцессора. Поэтому, пока у технологов болит голова о том, как повысить плотность электронных компонентов на поверхности кристалла, схемотехники озабочены другим — как "накормить" этого монстра. Среди методов, которые используются в настоящее время для решения этой задачи, главными являются следующие.
• Прогнозирование ветвления (branch prediction). Процессор просматривает команды выполняемого фрагмента программы и прогнозирует, как пойдет вычислительный процесс после очередной команды условного перехода (команды ветвления). Процессор может заранее подготовиться к выполнению этого фрагмента, в частности извлечь соответствующие команды из оперативной памяти и записать их в свой буфер. В результате, если в большинстве случаев прогноз оправдывается, процессор не простаивает, дожидаясь формирования условия, на основании которого должен быть совершен переход, а занимается полезным делом. Существует и более сложный вариант этой стратегии, который предусматривает предварительный просмотр не только ближайшей команды условного
перехода, но и последующих в выбранной ветви. Таким образом, метод прогнозирования ветвления позволяет если не предотвратить, то хотя бы уменьшить простои определенных узлов процессора. у >
* Анализ потока данных (data flow analysis). Процессор анализирует, выполнение каких команд в текущем фрагменте программы зависит от результатов предшествующих команд, и формирует оптимизированный план выполнения. Этот план обеспечивает сокращение ненужных простоев в ожидании формирования промежуточных результатов.
• Предпочтительное выполнение (speculative execution). Этот, метод представляет собой дальнейшее развитие методов прогнозирования ветвления и анализа потока данных. Процессор не только извлекает команды прогнозируемой ветви программы, но и организует их выполнение, сохраняя результаты в отдельном массиве ячеек памяти. Если впоследствии окажется, что выбранная ветвь не отвечает сформированным условиям перехода, результат предпочтительного выполнения аннулируется» но если в среднем прогноз оправдывается, простои процессора сокращаются. Эти и другие методы способствуют повышению загрузки процессора и сокращению относительного времени его простоя, приближая его производительность к тому потенциальному пределу, который определяется динамическими характеристиками микросхемы.