Similar presentations:
Основы архитектуры ЭВМ: выполнение программ и обмен данными
1. Лекция 14. Основы архитектуры ЭВМ: выполнение программ и обмен данными
2.
Исходный принцип, отличающий компьютер от любойдругой
машины: программируемость и универсальность.
Любые данные сводятся к бинарному коду — нулям
и единицам.
Любая задача декомпозируется
на последовательность простейших арифметикологических операций.
Аппаратное обеспечение (hardware) постоянно,
а программное обеспечение (software) меняет его
функцию. Это основа архитектуры фон Неймана.
3. Архитектура фон Неймана — это основополагающая концепция в проектировании компьютеров, которая описывает структуру и
Архитектура фон Неймана — это основополагающаяконцепция в проектировании компьютеров, которая
описывает структуру и организацию вычислительных
систем.
Основные принципы Архитектуры фон Неймана:
1.Принцип двоичности.
Для представления данных и команд используется двоичная
система счисления.
2. Принцип программного управления.
Программа состоит из набора команд, которые выполняются
процессором друг за другом в определённой
последовательности.
3.Принцип однородности памяти.
Как программы (команды), так и данные хранятся в одной и
той же памяти. Над командами можно выполнять такие же
действия, как и над данными.
4.
4. Принцип адресуемости памяти.Структурно основная память состоит из пронумерованных
ячеек; процессору в произвольный момент времени доступна
любая ячейка.
5. Принцип последовательного программного управления.
Все команды располагаются в памяти и выполняются
последовательно, одна после завершения другой.
6. Принцип условного перехода.
Kоманды из программы не всегда выполняются одна за
другой. Возможно присутствие в программе команд
условного перехода, которые изменяют последовательность
выполнения команд в зависимости от значений данных.
5. Преимущества архитектуры фон Неймана:
1. Простота и универсальность: Архитектура фон Нейманапредлагает простую и понятную модель, которая может
быть применена к различным типам вычислительных задач.
2. Единая память: Программа и данные хранятся в одной и
той же памяти, что упрощает процесс передачи данных
между программами и их инструкциями.
3. Легкость в реализации: Архитектура фон Неймана
достаточно проста для реализации, что сделало ее
популярной в ранних вычислительных системах.
4. Гибкость: Позволяет динамически загружать и изменять
программы, что облегчает разработку и обновление
программного обеспечения.
5. Широкая поддержка: Большинство современных языков
программирования и операционных систем основаны на
принципах архитектуры фон Неймана.
6. Недостатки архитектуры фон Неймана:
1. Узкое место шины: Поскольку программа и данныеиспользуют одну и ту же шину для передачи
информации, это может привести к узкому месту,
когда процессор ожидает данные, что снижает
производительность.
2. Проблемы с параллелизмом: Архитектура фон Неймана
не поддерживает эффективное выполнение нескольких
инструкций одновременно, что ограничивает
производительность в многозадачных средах.
3. Ограниченная производительность: В современных
системах, где требуются высокие вычислительные
мощности, архитектура фон Неймана может оказаться
недостаточной для достижения необходимой
производительности.
7.
Системная архитектура: Магистрально-модульныйпринцип
Магистрально-модульный принцип — это способ построения компьютера,
где:
• есть магистраль (общий “канал связи” — шина/интерфейс)
• и есть модули (узлы/устройства), которые к этой магистрали
подключаются и обмениваются данными по единым правилам
Современный ПК — это набор модулей на материнской плате. Их
взаимодействие строится по магистрально-модульному принципу.
Ключевые модули:
• Центральный процессор (CPU) — исполнение инструкций.
• Оперативная память (RAM) — рабочая область для программ и данных.
• Контроллеры ввода-вывода (I/O) — связь с периферией (диски, сеть).
• Графический процессор (GPU) — специализированный ускоритель для
параллельных вычислений, часто со своей видеопамятью (VRAM).
8. Процессор — это центр управления всем компьютером.
Это сложнейшая интегральнаясхема, реализованная на одном
кристалле кремния. Именно такая
реализация, появившаяся в
начале 1970-х, сделала
персональные компьютеры
возможными, положив начало
эпохе микропроцессоров
Основные блоки:
• Устройство управления (Control
Unit).
• Арифметико-логическое
устройство (АЛУ / ALU).
• Регистры (Registers).
9.
Устройство управления (Control Unit) — компонентаппаратного обеспечения компьютеров, который
координирует выполнение инструкций и управляет
передачей данных между различными частями
процессора.
Некоторые компоненты устройства управления:
1.Декодер инструкций — переводит машинные инструкции
из машинного кода в управляющие сигналы, которые
указывают, какие операции должны быть выполнены.
2.Генератор сигналов управления — создаёт сигналы,
которые управляют различными функциями процессора,
такими как чтение/запись в регистры, выбор
источников данных для выполнения операций,
управление памятью и так далее.
10.
3. Счётчик инструкций — отслеживает текущуювыполняемую инструкцию и управляет
последовательностью исполнения инструкций внутри
процессора.
4. Управляющие регистры — хранят состояние
процессора, включая информацию о текущей инструкции,
режиме работы процессора и т. д.
5. Предсказатель переходов — в некоторых процессорах
устройство управления включает предсказатель
переходов, который анализирует последовательность
инструкций для предсказания условных переходов, что
улучшает предсказуемость ветвлений и оптимизирует
выполнение программ.
11. Арифметико-логическое устройство (Arithmetic Logic Unit, АЛУ)
Арифметико-логическое устройство — это цифроваяэлектронная схема внутри процессора, выполняющая
арифметические и логические (побитовые) операции над
двоичными числами. Ключевая функция — проведение
вычислений по командам устройства управления.
АЛУ функционирует на уровне комбинационной логики
(основные компоненты: сумматоры, сдвигатели,
логические вентили).
12.
Работа выполняется по строго определённому алгоритму:• Приём операндов: На входы АЛУ подаются два операнда
(исходных числа) — обычно из регистров процессора или
напрямую из памяти.
• Выбор операции: Одновременно с операндами на
специальный вход АЛУ поступает управляющий код
(селектор), задающий конкретную операцию (например,
«сложение», «логическое И», «сравнение»). Этот код
формируется УУ на основе декодированной инструкции.
• Выполнение вычислений: Внутренняя схема АЛУ преобразует
входные данные в соответствии с выбранной операцией.
Например, для сложения используется комбинация полных
сумматоров.
• Формирование результата и флагов: Результат операции
выводится на выход АЛУ. Параллельно с этим формируются
статусные флаги — специальные биты в регистре флагов,
отражающие свойства результата (был ли результат
нулевым, отрицательным, произошло ли переполнение, был
ли перенос).
13. Регистры процессора (Processor Registers)
Регистры процессора — это сверхбыстрая памятьминимального объёма, расположенная непосредственно
внутри ядра ЦПУ. Она используется для временного
хранения данных и результатов, с которыми процессор
работает в текущий момент.
Регистры представляют собой наборы триггеров
(элементарных ячеек памяти). В отличие от ОЗУ,
доступ к ним осуществляется напрямую, без
использования шины адреса/данных, что обеспечивает
максимальную скорость.
14.
Тип регистраНазначение (функция)
Регистр данных
Временное хранение обрабатываемых данных.
Аккумулятор
Специализированный регистр, в котором
автоматически сохраняется результат операции
АЛУ (в исторической и некоторых современных
архитектурах).
Регистр адреса
Хранение адресов ячеек памяти для операций
чтения/записи.
Счётчик команд
Хранение адреса следующей исполняемой
инструкции в памяти.
Регистр команд
Хранение текущей декодируемой инструкции.
Регистр состояния
Хранение флагов (статусных битов),
устанавливаемых АЛУ после операций.
15.
ЦПУ работает как синхронизированный конечный автомат,где УУ — дирижёр, АЛУ — исполнитель, а регистры —
сверхбыстрая рабочая память. Процесс представляет собой
строгий цикл:
Выборка (Fetch): УУ считывает адрес из
счётчика команд (PC) и загружает инструкцию из
памяти в регистр команд (IR).
Декодирование (Decode): УУ (через дешифратор)
расшифровывает код операции из IR и
определяет, какие операнды нужны.
Исполнение (Execute): УУ подаёт управляющие
сигналы: данные из указанных регистров
поступают на входы АЛУ, а код операции — на
его селектор. АЛУ выполняет вычисление и
формирует результат и статусные флаги.
Запись (Writeback): УУ направляет результат с
выхода АЛУ обратно в целевой регистр.
16.
Иерархия памяти — термин, который означает структурухранения и доступа к данным в вычислительной системе.
Она состоит из различных уровней памяти, каждая из
которых обладает разными скоростями, ёмкостью и
стоимостью. Основная цель иерархии — обеспечить
максимально быстрый доступ к наиболее часто
используемым данным.
Можно представить память компьютера как пирамиду:
наверху мало места, но доступ быстрый, чем ниже — тем
больше объём, но медленнее работа.
17. Кэш-память (Cache)
Высокоскоростная буферная память, расположенная на томже кристалле, что и CPU. Её цель —
хранить копии данных и инструкций из основной памяти,
которые с наибольшей вероятностью понадобятся
процессору в ближайшее время.
L1 (Level 1): Самый быстрый и маленький. Разделен
на L1i (кэш инструкций) и L1d (кэш данных). Расположен
в каждом ядре. Объём: 32-64 КБ на ядро.
L2 (Level 2): Больше и чуть медленнее. Может быть
индивидуальным для ядра или общим для пары ядер.
Объём: 256 КБ — 1 МБ на ядро/кластер.
L3 (Level 3, Last-Level Cache — LLC): Самый большой
кэш на процессоре, общий для всех ядер. Служит
синхронизирующим буфером и защищает от частых
обращений к RAM. Объём: 8-128 МБ на процессор.
18.
Как работает (принцип кэширования):При запросе данных CPU сначала
проверяет кэш L1.
Если данные найдены — это попадание в
кэш (cache hit), доступ мгновенный.
Если не найдены — промах (cache
miss), поиск опускается на уровень
L2, затем L3.
При промахе на всех уровнях блок
данных (обычно 64 байта — размер
строки кэша, cache line)
подкачивается из RAM в L3, затем в L2
и L1, вытесняя оттуда менее
используемые данные.
19.
Оперативная память (ОЗУ, RAM — Random Access Memory) —это временное хранилище данных, которое обеспечивает
быстрый доступ к информации для процессора. В ней
хранятся данные, необходимые для выполнения текущих
задач: временные файлы, открытые программы, вебстраницы, игры и другие.
Подавляющее большинство современной оперативной
памяти использует технологию DRAM (Dynamic Random
Access Memory) . Её ячейка — это пара из
одного транзистора (ключ) и
одного конденсатора (хранилище заряда) . Наличие
заряда в конденсаторе интерпретируется как
логическая «1», отсутствие — как «0».
20.
Эта конструкция дешёвая и позволяет достичьвысокой плотности размещения ячеек на чипе, но
имеет два фундаментальных следствия:
Динамичность и необходимость регенерации:
Конденсаторы постепенно теряют заряд. Чтобы данные
не «растаяли», контроллер памяти циклически
обновляет (регенерирует) их заряд тысячи раз в
секунду. Отсюда и название — динамическая память .
Энергозависимость: Для поддержания заряда
требуется постоянное электропитание. Выключили
компьютер — конденсаторы разрядились — все данные
из оперативной памяти исчезли. Вот почему
несохранённый документ в Word теряется при
отключении света .
21.
22.
Что означает «произвольный доступ» (Random Access)?Это способ организации памяти, при котором время
доступа к любой её ячейке не зависит от её
физического расположения. Можно мгновенно
«перепрыгнуть» с первой ячейки на тысячную, не
перебирая все промежуточные. Это отличает RAM от,
например, магнитной ленты, где для доступа к концу
нужно промотать начало.
Задача RAM: быть буфером скорости
Главная миссия оперативной памяти — сгладить
колоссальный разрыв в скорости между быстрым
процессором и медленным накопителем (SSD/HDD).
23.
Путь данных: Накопитель → RAM → Процессор (черезкэш).
Если бы процессор ждал данные прямо с диска, он бы
простаивал львиную долю времени. Поэтому при запуске
программы операционная система загружает её
исполняемый код и необходимые данные из медленного
накопителя в быструю оперативную память . Оттуда самые
востребованные фрагменты попадают в сверхбыстрые кэши
процессора. Таким образом, RAM выступает в роли
высокоскоростного буфера, из которого CPU может
мгновенно черпать информацию.
24.
В оперативной памяти в каждый момент времени находятся:• Ядро операционной системы и её сервисы.
• Запущенные программы и их данные (текстовые документы,
таблицы, вкладки браузера).
• Промежуточные результаты вычислений.
Проще говоря, объём RAM определяет, сколько задач вы
можете выполнять одновременно без заметного падения
производительности. Если на RAM не хватает места, системе
приходится часть данных временно сбрасывать в очень медленный
файл подкачки на диске (это называется «своппинг»), что приводит
к резким «подтормаживаниям».
25. Работа оперативной памяти изнутри
Чтобы понять, как “работает” DRAM, удобнопредставить её как огромную таблицу строк и
столбцов. Когда процессор/контроллер памяти
обращается к адресу, DRAM обычно сначала
открывает строку (активация), эта строка
попадает в буфер (часто называют row buffer), а
потом уже выбираются нужные столбцы. Если
потом нужно читать данные, которые лежат в
этой же открытой строке — это относительно
выгодно. А если нужно постоянно прыгать по
разным строкам — возникают дополнительные
действия “закрыть/подготовить (precharge) →
открыть новую строку”, и это заметно дороже по
задержке. Именно поэтому так важны кэш,
локальность данных и вообще грамотная работа
с памятью
26.
Раньше, до SDRAM, оперативная память была асинхронной: онане была жёстко привязана к общему такту шины и работала
больше как устройство, которое отвечает на набор управляющих
сигналов. Из популярных старых разновидностей FPM (Fast Page
Mode) и EDO (Extended Data Out). Их смысл можно объяснить так:
они пытались ускорить чтение “рядом” в пределах одной открытой
страницы/строки. EDO была улучшением FPM: данные
удерживались валидными дольше и можно было частично
перекрывать операции, из-за чего память работала заметно
бодрее при похожих условиях.
27.
Дальше появился важный шаг — SDRAM (SynchronousDRAM). Самое главное отличие: SDRAM стала
синхронной, то есть работала в ритме тактового
сигнала и лучше поддерживала предсказуемые
“пакетные” передачи. Здесь появляется очень
полезное слово burst: это когда память после
команды чтения выдаёт не одно слово, а сразу
последовательность (например, 4 или 8 слов
подряд). Для процессора это идеально, потому что
он часто забирает данные из памяти блоками
(например, чтобы заполнить кэш-линию).
28.
DDR-память (Double Data Rate) работает так:вместо того чтобы передавать данные один раз за
такт, она передаёт их дважды — на фронте и на
спаде тактового сигнала. За счёт этого при той
же “частоте такта” получается больше передач
данных в секунду, поэтому скорость обычно
указывают в MT/s (миллионах передач в секунду).
Для процессора это важно, потому что ему нужно
постоянно подвозить инструкции и данные из RAM:
чем больше “полоса пропускания” памяти, тем реже
процессор простаивает в ожидании.
29.
Главная идея, почему DDR лучше предыдущихпоколений памяти (до DDR): старые типы RAM
передавали данные один раз за такт и хуже
“подстраивались” под современный режим работы
процессора, где данные часто читаются пакетами
(например, чтобы заполнить кэш-линию). DDR
вместе с синхронной организацией памяти лучше
поддерживает такие пакетные передачи: один
запрос — и память выдаёт сразу
последовательность слов, что эффективнее, чем
много отдельных мелких операций.
30. Накопители
Накопитель нужен для долговременного хранения: нанём лежат ОС, программы и файлы, и они сохраняются
без питания. Но когда вы запускаете приложение,
оно обычно идёт по цепочке накопитель → RAM → CPU
(кэш): система читает нужные блоки с диска в
оперативную память, и уже оттуда процессор берёт
инструкции и данные. Поэтому “скорость диска”
часто ощущается как “скорость запуска и отклика”
системы.
31.
HDD (жёсткий диск) — это механика:внутри есть вращающиеся пластины
(platters) и головки на подвижном
рычаге (актуатор), которые читают
и записывают данные магнитным
способом. Чтобы прочитать кусочек
данных, HDD обычно тратит время на
перемещение головки к нужной
дорожке и ожидание, пока нужный
сектор “подъедет” из-за вращения
(rotational latency), и только
потом идёт передача данных
потоком. Из-за этой механики HDD
хорошо справляется с большими
последовательными файлами, но
заметно тормозит на мелких и
разрозненных чтениях (например,
запуск ОС/программ, работа с
тысячами маленьких файлов).
32.
SSD устроен иначе: механикинет, данные хранятся во flashпамяти NAND, поэтому нет
“поездок” головки и ожидания
вращения — отсюда сильно
меньшая задержка на мелких
запросах, и система
“ощущается” быстрее. Но SSD —
не просто набор чипов: у него
есть контроллер, который
управляет записью и ресурсом
памяти. Он делает “уборку”
свободного места и равномерно
распределяет записи, потому
что у флэш-ячеек ограничено
число циклов перезаписи.
33.
Почему один SSD быстрее другого — часто дело винтерфейсе. SATA — более старый “дисковый” интерфейс;
NVMe — протокол, изначально рассчитанный на SSD и
обычно работающий поверх PCI Express, поэтому у него
выше потенциальная пропускная способность и меньше
узких мест, чем у SATA-решений
SATA — это способ подключать накопители
(кабель/разъём + правила обмена данными). Исторически
SATA делали для жёстких дисков (HDD), а потом на него
же стали ставить SATA-SSD.
PCI Express (PCIe) — это главная “скоростная
магистраль” внутри современного ПК для устройств:
видеокарт, быстрых SSD, сетевых карт и т.д.
NVMe — это набор правил общения именно для SSD,
сделанный под очень быстрые накопители и параллельную
работу.
NVMe почти всегда работает поверх PCIe.
34. Видеокарта
Видеокарта — это устройство, которое берёт на себязадачи, где выгодно делать много однотипных операций
параллельно. Внутри видеокарты есть GPU (графический
процессор) и обычно своя память — VRAM. GPU
отличается от CPU тем, что CPU хорош в “сложной
логике и последовательных шагах”, а GPU — в “массовой
параллельной работе”: обработка пикселей/вершин,
фильтры, математика для 3D, а также вычисления вроде
нейросетей и обработки видео.
35.
Видеокарта подключается к компьютеру через PCIExpress (PCIe) — это высокоскоростная внутренняя
магистраль. Для видеокарт обычно используют слот
PCIe x16, потому что видеокарте нужно быстро
обмениваться данными с системой (например,
загрузить текстуры, модели, кадры, команды).
PCIe “даёт полосу”, а VRAM хранит то, что
видеокарта обрабатывает “на месте”, не бегая
каждый раз в обычную RAM. Поэтому важная мысль
для студентов: GPU работает быстрее, когда
данные уже в VRAM, а гонять всё туда-сюда по
PCIe постоянно — невыгодно.
36.
Материнская плата— это главная печатная платакомпьютера. Она физически объединяет и электрически
соединяет все компоненты системы (CPU, RAM, GPU,
накопители) в единое целое. Её ключевая роль —
обеспечивать их взаимодействие через систему
проводников и логических микросхем.
На поверхности материнской платы расположены тонкие
медные дорожки-проводники, чипы, радиоэлементы и
разъёмы. Однако большая часть проводников скрыта
внутри, поскольку плата состоит из нескольких
слоёв. Каждый слой отвечает за свою функцию:
питание, заземление или передачу данных.
37.
Плата решает три главные задачи:1. Коммутация и управление (Чипсет): Две микросхемы
(северный и южный мост или современный контроллерконцентратор Platform Controller Hub в Intel)
управляют потоками данных между высокоскоростными
(CPU, RAM, GPU) и низкоскоростными (USB, SATA)
компонентами.
2. Синхронизация (System Clock): Кварцевый генератор
задает базовую тактовую частоту, от которой
синхронизируется работа процессора, памяти и шин.
3. Расширение (Слоты и разъемы):
Сокет CPU — интерфейс для установки процессора.
Слоты RAM (DIMM) — каналы для оперативной памяти.
Слоты расширения (PCIe) — для видеокарт и других
плат.
Разъемы SATA/M.2 — для подключения накопителей.
Порты ввода-вывода (USB, Ethernet, Audio).
38.
39.
40.
Магистрально-модульный принцип построениякомпьютера (ПК) — это концепция архитектуры
вычислительных устройств, при которой компоненты
системы соединяются между собой посредством общей
шины передачи данных — магистрали. Этот принцип
лежит в основе архитектуры современных ПК.
41. Системная шина
Шина (bus) — это набор проводников для обмена сигналами.• Шина адреса (Address Bus): Односторонняя. CPU выставляет
на неё адрес ячейки памяти или порта устройства, к
которому хочет обратиться. Определяет адресное
пространство.
• Шина данных (Data Bus): Двунаправленная. По ней
передаются сами данные или код. Её разрядность (битность)
определяет, сколько данных можно передать за один такт.
• Шина управления (Control Bus): Передаёт синхронизирующие
и управляющие сигналы (например, "чтение", "запись",
"подтверждение").
Пропускная способность шины — критический параметр. Это
узкое место (bottleneck) системы. Современные шины
(например, PCI Express) используют высокоскоростные
последовательные соединения "точка-точка", а не общую
informatics