RISC, CISC и конвейеризация
| English | Русский |
|---|---|
| CISC/sɪsk/ | CISC |
| RISC/rɪsk/ | RISC |
| pipelining/ˈpaɪplaɪnɪŋ/ | конвейеризация |
| Flynn's taxonomy/flɪnz tækˈsɒnəmi/ | Таксономия Флинна |
| register/ˈredʒɪstə/ | регистром |
| ALU/ˌeɪ el ˈjuː/ | АЛУ |
| hazard/ˈhæzəd/ | конфликт |
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | масштабно параллельная обработка |
| supercomputers/ˌsuːpəkəmˈpjuːtəz/ | суперкомпьютеры |
Телефон в вашем кармане не работает на Intel
- Тридцать лет самые быстрые процессоры были самыми сложными: добавьте инструкции, и каждая выполняет больше работы. Intel построила империю на этом.
- Затем небольшая британская компания поместила в телефон преднамеренно простой процессор. Меньше инструкций, все одинаковой длины, почти без обращения к памяти. Он мог выполнять меньше за одну инструкцию, но всё равно победил.
- Он победил, потому что простые, однородные инструкции можно перекрывать, а перекрытие важнее сложности.
- Этот урок касается CISC и RISC, ** конвейеризации**, четырех архитектур таксономии Флинна и того, куда ведут ограничения тепла и скорости процессора.
CISC и RISC
- CISC (Complex Instruction Set Computer) имеет множество, часто сложных инструкций: одна может выполнять несколько обращений к памяти и операций. Они имеют переменную длину, поэтому декодирование сложное. Он выполняет больше за одну инструкцию в аппаратном обеспечении. Пример: Intel x86.
- RISC (Reduced Instruction Set Computer) имеет малый набор простых инструкций, каждая выполняет одну базовую операцию, все они фиксированной длины и быстро декодируются. Только загрузка и выгрузка обращаются к памяти; всё остальное происходит между регистрами. Пример: ARM.
- Программы RISC длиннее, но каждая инструкция выполняется быстро и предсказуемо, что именно необходимо конвейеру.

Больше на одну инструкцию, либо быстрее и более предсказуемо на одну инструкцию
Процессор RISC характеризуется:
RISC сохраняет инструкции малыми, простыми и фиксированной длины (обычно 1 такт); CISC имеет множество сложных инструкций переменной длины.
Различия, которые требуются в экзамене
| Характеристика | CISC | RISC |
|---|---|---|
| Набор инструкций | много, сложные | мало, простые |
| Длина инструкции | переменная | фиксированная |
| Доступ к памяти | многие инструкции могут обращаться к памяти | только загрузка и выгрузка |
| Регистры | меньше | много |
| Такты на инструкцию | варьируется | обычно один |
| Конвейеризация | сложнее | естественна |
- Современные процессоры Intel преобразуют свои инструкции CISC во внутренние упрощённые микрооперации, напоминающие RISC, что является наиболее явным доказательством того, какой подход победил в споре.
Сопоставьте каждый термин с его описанием.
RISC = просто + фиксированная длина + загрузка/запись; CISC = сложно + переменная длина; конвейеризация накладывает этапы для скорости.
В процессоре RISC единственные инструкции, обращающиеся к памяти, — это загрузка и ____.
Все остальное — регистр в регистр. Именно это ограничение делает инструкции фиксированной длины, однородными по времени выполнения и простыми для конвейеризации.
Конвейеризация
- Конвейер обрабатывает инструкции на перекрывающихся этапах, как сборочная линия: выборка, декодирование, выполнение в АЛУ, доступ к памяти, запись результата.
- Каждый этап работает над различными инструкциями одновременно, поэтому после заполнения конвейера одна инструкция завершается за такт.
- Это не делает ни одну отдельную инструкцию быстрее. Оно увеличивает производительность: больше инструкций завершается в секунду.
- Фиксированная длина и простота инструкций RISC обеспечивают одинаковое время выполнения для каждого этапа, благодаря чему конвейеры RISC работают чисто, а CISC — нет.

Шесть инструкций находятся в работе, одна завершается каждый такт
Как заполняется конвейер
Процесс заполнения тактовых циклов. Как только конвейер заполнен, новая инструкция завершается каждый цикл — даже если каждая занимает несколько этапов, потому что этапы разных инструкций накладываются друг на друга.
Когда конвейер заполнен, он завершает примерно:
Наложение стадий означает, что после заполнения конвейера каждая инструкция завершается на каждом такте.
Конвейеризация ускоряет процессор благодаря:
Стадии разных инструкций выполняются одновременно.
Разобранное решение: почему конвейеризация быстрее
- Пятиэтапный конвейер работает с одним тактом на этап. Объясните, почему он быстрее последовательного выполнения инструкций.
- Без конвейера каждая инструкция занимает процессор на всех пяти этапах, поэтому одна завершается каждые пять тактов.
- С конвейером блок выборки начинает следующую инструкцию, пока текущая ещё находится на этапе декодирования, поэтому одновременно выполняются пять инструкций, и после заполнения конвейера одна завершается каждый такт.
- Отдельные инструкции не выполняются быстрее; возрастает производительность примерно в пять раз. Укажите это явно: это самый частый пункт, который забывают отметить.
Что именно улучшает конвейеризация?
Стадии перекрываются, поэтому пять инструкций находятся в процессе выполнения одновременно, а одна завершается за цикл. Отдельная инструкция не выполняется быстрее.
Зависимости
- Зависимость вызывает простой конвейера. Зависимость по данным возникает, когда инструкция требует результат, который предыдущая ещё не выдала, поэтому она должна ждать.
- Управляющая зависимость возникает при ветвлении: до разрешения перехода процессор не знает, какую инструкцию выбирать следующей.
- Обе тратят такты, поэтому процессоры предсказывают переходы и передают результаты между этапами.
Зависимость данных останавливает конвейер, когда инструкция требует результат, который еще не готов; зависимость управления возникает из-за ветвления, меняющего следующую выполняемую инструкцию.
Зависимости вынуждают конвейер останавливаться (или сбрасывать его), поэтому они снижают идеальную пропускную способность «одна инструкция за такт».
Сопоставьте каждую зависимость конвейера с причиной её возникновения.
Обе останавливают конвейер и тратят такты, поэтому процессоры передают результаты между стадиями и предсказывают ветвления.
Таксономия Фlynna
- Таксономия Фlynna классифицирует компьютеры по количеству инструкционных потоков и потоков данных.
- SISD: один инструкционный поток, один поток данных, традиционное одноядерное устройство.
- SIMD: одна инструкция обрабатывает множество элементов данных одновременно. Это видеокарта или векторный блок процессора, подходящий для изображений, видео и научных массивов.
- MISD: несколько операций над одними данными; редко встречается и чаще всего теоретичен. MIMD: множество процессоров выполняют различные инструкции над разными данными, что представляет собой многоядерный процессор или кластер, и является наиболее универсальным.

Одна инструкция, множество элементов данных
Какие характеристики описывают SIMD? Выберите все подходящие варианты.
Разные программы на разных данных — это MIMD, случай многоядерных систем. SIMD — это один поток инструкций над множеством потоков данных.
Масштабно параллельные компьютеры
- Масштабно параллельная система использует тысячи процессоров, соединённых быстрой сетью, каждый из которых имеет собственную память, обмениваясь данными посредством сообщений, а не разделяя память.
- Это MIMD, требующее специально написанного программного обеспечения, поскольку программист должен разделить задачу и управлять коммуникацией.
- Именно такими являются крупнейшие суперкомпьютеры: моделирование климата, обучение машинного обучения и астрофизика работают таким образом.
В massively parallel компьютере процессоры имеют общий блок памяти.
У каждого процессора своя память, и они обмениваются данными через сообщения по быстрой сети. Именно распределённая память и есть то, что подразумевается под этим термином.
Разобранное решение: определите тип машины
- Видеокарта применяет одинаковую коррекцию яркости к двум миллионам пикселей. SIMD: одна инструкция, множество элементов данных, что именно предназначено для тысяч малых ядер GPU.
- Четырёхъядерный ноутбук одновременно запускает браузер, компилятор и музыкальный плеер. MIMD: различные инструкции над разными данными, один поток на ядро.
- Метеостанция делит атмосферу на сетку across ten thousand processors, each with its own memory, passing boundary values as messages. Масштабно параллельная, что является формой MIMD.
- Назовите категорию, затем обоснуйте количеством инструкционных и потоков данных.
Потерянные баллы
- Конвейеризация повышает производительность; она не сокращает длительность отдельной инструкции. Укажите это.
- В RISC только загрузка и выгрузка обращаются к памяти. Этот один факт объясняет фиксированную длину, большое количество регистров и чистоту конвейера.
- SIMD — одна инструкция над многими данными; MIMD — множество инструкций над многими данными. Посчитайте потоки перед ответом.
- Масштабно параллельная означает тысячи процессоров с распределённой памятью и обменом сообщениями, а не просто «быстрый компьютер».
Вы поняли
- CISC: много сложных переменных инструкций, больше на одну инструкцию · RISC: мало простых фиксированных инструкций, только загрузка и выгрузка, много регистров, один такт каждая
- ** конвейер ** перекрывает выборку, декодирование, выполнение, обращение к памяти и запись результата, поэтому при полной загрузке каждый такт завершается одна инструкция: выше ** пропускная способность **, но не более быстрые инструкции; ** данные ** и ** управляющие помехи ** останавливают его
- ** Флинн **: SISD, ** SIMD ** (GPU), MISD, ** MIMD ** (многопотоковые процессоры)
- ** массовая параллельность **: тысячи процессоров, распределённая память, обмен сообщениями, MIMD, используются суперкомпьютерами