Лекция 14. Основы архитектуры ЭВМ: выполнение программ и обмен данными
Архитектура фон Неймана — это основополагающая концепция в проектировании компьютеров, которая описывает структуру и
Преимущества архитектуры фон Неймана:
Недостатки архитектуры фон Неймана:
Процессор — это центр управления всем компьютером.
Арифметико-логическое устройство (Arithmetic Logic Unit, АЛУ)
Регистры процессора (Processor Registers)
Кэш-память (Cache)
Работа оперативной памяти изнутри
Накопители
Видеокарта
Системная шина
2.23M
Category: informaticsinformatics

Основы архитектуры ЭВМ: выполнение программ и обмен данными

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 (Synchronous
DRAM). Самое главное отличие: 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.

Видеокарта подключается к компьютеру через PCI
Express (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) используют высокоскоростные
последовательные соединения "точка-точка", а не общую
English     Русский Rules