Галерея диаграмм связей Принципы компьютерной композиции
Краткое изложение знаний по принципам компьютерной композиции. Он включает в себя многие аспекты знаний, такие как компьютерные инструкции, числовое представление, принципы умножения и делителя, систему инструкций MIPS и т. д. Он помогает изучающим принципы компьютерной композиции разобраться в структуре знаний, быстро освоить принципы и технологию компьютерной композиции и заложить прочную основу. компьютерный фундамент.
Отредактировано в 2024-03-02 22:24:43Принципы компьютерной композиции
Обзор компьютеров и технологии
введение
Классификация компьютеров и их характеристики
Персональный компьютер
сервер
Выполнение задач с большой нагрузкой с доступом к сети
суперкомпьютер
Высокопроизводительный сервер
Уведомление
ТБ: 10^12 байт
ТиБ: 2^40 байт
Встраиваемый компьютер
Самая большая сумма
Пост-ПК эпоха
Персональное мобильное устройство ПМД
Смартфоны, планшеты
облачные вычисления
Большой кластер серверов, предоставляющий услуги в сети.
8 замечательных идей в архитектуре компьютерных систем
Проектирование по закону Мура
Уровень интеграции одного чипа удваивается каждые 18–24 месяца, и разработчики компьютеров должны прогнозировать уровень процесса на момент завершения проектирования, а не на момент его запуска.
Используйте абстракции для упрощения дизайна
Используйте абстракцию для представления различных уровней проекта. Детали низкого уровня невозможно увидеть на высоком уровне, и можно увидеть только упрощенную модель.
Ускорение событий с высокой вероятностью
Гораздо более высокая производительность, чем при оптимизации событий с низкой вероятностью.
Повышение производительности за счет параллелизма
Повышение производительности с помощью конвейеризации
Особый параллельный сценарий, аналогичный эстафетной передаче корзин.
Повышайте производительность с помощью прогнозов
Предполагая, что восстановление после ошибочных прогнозов не требует больших затрат и точность прогнозов относительно высока, заранее выполните определенные операции, угадав
иерархия памяти
Верхний уровень быстрый, имеет небольшую емкость и дорогой, а нижний уровень — наоборот.
Повышение надежности за счет резервирования
Резервные детали могут заменить вышедшие из строя детали и помочь обнаружить ошибки.
Введение в концепции программирования
иерархия компьютерной системы
компьютер фон Неймана
Аппаратная система компьютера состоит из арифметических блоков, контроллеров, памяти и устройств ввода-вывода.
Используйте двоичную кодировку для представления данных
Унифицируйте программы и данные
Компьютеры обладают способностью обрабатывать последовательные инструкции.
программное обеспечение
Прикладной уровень
Принципы системы баз данных
слой алгоритма
Структура данных, разработка алгоритмов и анализ
языковой уровень высокого уровня
Основы программирования, программирование на C
уровень операционной системы
Принципы компиляции, операционные системы
программное обеспечение
Операционная система
Обработка базового ввода и вывода
Выделить внешнюю деревню и память
Предоставляет услуги по совместному использованию компьютерных ресурсов несколькими приложениями.
Компилятор
Перевести программы, написанные на языках высокого уровня, в инструкции, которые могут выполняться аппаратно.
Уровень системы инструкций: набор инструкций
Принципы компьютерной композиции
аппаратное обеспечение
Уровень системы инструкций: набор инструкций
Принципы компьютерной композиции
Логический уровень: логические операции, вентильные схемы.
Дискретная математика, цифровая логика
От языка высокого уровня к аппаратному языку
Двоичный бит
основные элементы информации
инструкция
Команды, которые компьютерное оборудование понимает и выполняет
ассемблер
Автоматически переводить инструкции в мнемонической форме в соответствующий двоичный код.
язык ассемблера
Машинные инструкции, выраженные в мнемонической форме.
машинный язык
Машинная инструкция, выраженная в виде двоичного элемента.
язык программирования высокого уровня
Портативные языки, такие как C, C, Java, Visual и Visual Basic, состоят из слов и алгебраических символов и могут быть преобразованы в язык ассемблера с помощью компилятора.
производительность компьютера
критерии оценки эффективности
Пропускная способность и время отклика
время ответа время ответа
Время выполнения — общее время, необходимое компьютеру для выполнения задачи, включая доступ к жесткому диску, доступ к памяти, операции ввода-вывода, накладные расходы операционной системы, время выполнения ЦП и т. д.
пропускная способность
Пропускная способность представляет собой количество задач, выполненных в единицу времени.
относительная производительность
Измерение производительности
Тактовый период и тактовая частота
тактовый цикл
Компьютерные системы используют часы для управления различными процессами, происходящими в оборудовании.
Тактовый цикл – это время тактового интервала, то есть время одного такта часов.
Тактовая частота
обратная тактовому периоду
Время выполнения процессора
Время, затраченное процессором на выполнение определенной задачи (исключая операции ввода-вывода и время, затраченное на другие задачи).
Время процессора пользователя
Время, необходимое процессору для выполнения пользовательских программ
Время процессора системы
Время процессора, затрачиваемое операционной системой на обслуживание пользователей
Выполнение инструкций
ИПЦ
Тактов на инструкцию
Среднее количество тактов процессора на инструкцию
Классическая формула производительности процессора
Время выполнения программы процессором =Количество тактовых циклов ЦП для программы x время тактового цикла =Количество тактовых циклов ЦП для программы/тактовой частоты
Количество тактов процессора для программы = Количество инструкций в программе x среднее количество тактов на инструкцию (CPI)
Время процессора = количество инструкций, время тактового цикла xCPIx = количество инструкций xCPI/тактовая частота
Уведомление
Количество инструкций зависит от архитектуры компьютера и не зависит от мощности компьютера. Выполнение
CPI тесно связан с различными деталями конструкции компьютера, включая систему хранения данных. и архитектура процессора
CPI различен для разных приложений, а также для разных реализаций одного и того же набора команд.
При сравнении двух компьютеров необходимо учитывать все три фактора.
Факторы, связанные с эффективностью программы
Введение в концепции аппаратного обеспечения
компьютерные компоненты
путь к данным
Полные арифметические и логические операции, обычно включая регистры.
контроль
Компонент ЦП, он управляет путями данных, памятью и операциями ввода-вывода в соответствии с инструкциями программы для совместного выполнения программных функций.
Память
Место, где хранятся исполняемые программы и необходимые им данные.
вход
Компьютерное оборудование для передачи информации, такое как клавиатура, мышь и т. д.
сенсорный экран
емкостное зондирование
выход
Устройства, отображающие результаты вычислений пользователям, такие как мониторы, диски, принтеры, динамики и т. д.
монитор
ЖК-дисплей
ЖК-дисплей — это не источник света, а устройство управления светопропусканием.
Динамический матричный дисплей
Использование транзисторов для управления передачей света на отдельные пиксели
Пиксель
Наименьшая единица элементов изображения
аппаратное обеспечение
Процессор
путь к данным
Полные арифметические операции
контроллер
Направляйте пути данных, память и устройства ввода-вывода для правильной работы в соответствии с инструкциями программы.
Кэш
Статическая оперативная память (SRAM)
Быстро, дорого
Память
Время доступа и емкость
Принципы построения, чтения и письма
основная память
Динамическая оперативная память DRAM
базовая единица хранения
строительство и представительство
Информация хранится на конденсаторе CS, а Т — это трубка управления затвором, которая управляет вводом и выводом данных. Его ворота подключены к выбору чтения/записи. линия (линия слов), сток и исток подключаются к линии данных (битовой линии) и конденсатору памяти CS соответственно. данные 1 или 0 на конденсаторе CS Об этом можно судить по наличию или отсутствию электрического заряда.
Принципы чтения и письма.
Добавьте высокий уровень в строку выбора (слово), чтобы включить Т-образную трубку. При записи «0» добавьте низкий уровень к линии данных, чтобы заряд CS разряжался в линию данных; При записи «1» добавьте высокий уровень к линии данных, чтобы зарядить линию данных CS; При чтении на линии данных присутствует напряжение чтения. Он пропорционален сумме начисления на CS.
Основной компонент: МОП-транзистор
Иллюстрация операций чтения, записи и обновления
Логическая структура чипа
полоска модуля памяти
Он использует определенное количество микросхем памяти на небольшой печатной плате в форме полоски для формирования модуля памяти с фиксированной емкостью.
Классификация
30 футов
8-битная линия передачи данных, емкость 256 КБ~32 МБ
72 фута
32-битная шина данных
Более 100 футов
Используется как для 32-битной, так и для 64-битной шины данных, емкость 4–512 МБ.
Другая динамическая память с произвольным доступом
Синхронная динамическая оперативная память SDRAM
Динамическая оперативная память с синхронным интерфейсом. Обычно динамическая память произвольного доступа (DRAM) имеет асинхронный интерфейс, поэтому она может реагировать на изменения управляющего входа в любое время. SDRAM имеет интерфейс синхронизации, который ожидает тактового сигнала, прежде чем реагировать на управляющий вход, поэтому его можно синхронизировать с системной шиной компьютера. Часы используются для управления конечным автоматом, который передает входящие инструкции. Это позволяет SDRAM иметь более сложный режим работы по сравнению с асинхронной DRAM без синхронного интерфейса.
Синхронная динамическая оперативная память с двойной скоростью передачи данных DDR SDRAM
Это SDRAM с двойной скоростью передачи данных. Ее скорость передачи данных в два раза превышает тактовую частоту системы. Благодаря увеличенной скорости ее производительность передачи выше, чем у традиционной SDRAM.
Количество контактов на одной стороне памяти — 92 (по 184 с обеих сторон), с левой стороны выреза — 52 контакта, с правой стороны выреза — 40 контактов;
Второе поколение синхронной динамической оперативной памяти с двойной скоростью передачи данных DDR2 SDRAM.
Он обеспечивает более высокую производительность и более низкое напряжение, чем DDR SDRAM, и является преемником DDR SDRAM (синхронная динамическая память произвольного доступа с двойной скоростью передачи данных).
На одной стороне памяти имеется 120 контактов (240 контактов на двойной стороне), 64 контакта на левой стороне выреза и 56 контактов на правой стороне выреза;
Третье поколение синхронной динамической оперативной памяти с двойной скоростью передачи данных DDR3 SDRAM.
Он обеспечивает более высокую рабочую производительность и более низкое напряжение, чем DDR2 SDRAM, и является преемником DDR2 SDRAM (синхронная динамическая память произвольного доступа с четырехскоростной передачей данных) (увеличена в восемь раз).
Также имеется 120 контактов на одинарной стороне памяти (240 контактов на двойной стороне), 72 контакта на левой стороне выреза и 48 контактов на правой стороне выреза.
диск
Принципиальная схема внешнего вида и строения
Принцип работы
Запись 1: катушка пропускает прямой ток, переводя ее в состояние N-S.
Запись 0: катушка пропускает обратный ток, переводя ее в состояние S-N.
Чтение: Магнитная головка неподвижна, а держатель движется. Поскольку силовые линии магнитного поля за пределами небольшого намагниченного блока на носителе образуют замкнутый контур через сердечник магнитной головки, на обоих концах сердечника возникает индуцированное напряжение. В зависимости от полярности можно считать 1 или 0.
структура хранения
флэш-память
Энергонезависимая память чтения/записи высокой плотности, разработанная на основе элементов хранения EPROM.
Высокая плотность означает, что он имеет огромное количество бит памяти.
Энергонезависимый означает, что сохраненные данные могут храниться в течение длительного времени без питания.
Он обладает преимуществами как ОЗУ, так и ПЗУ, что можно рассматривать как эпохальный прогресс в технологии хранения данных.
CD
Принцип чтения
Все системы оптических дисков только для чтения (CD-ROM) основаны на общем принципе, то есть информация на компакт-диске распределяется в виде питов, причем питы обозначаются как «1», а без питов — как «0». ряд ямок (элемент памяти) образует запись информации.
Для дисков CDROM, используемых для хранения данных, это распределение ячеек служит меткой записи или чтения цифровых кодов «1» и «0». Для этой цели в качестве источника света необходимо использовать лазер, а для этого можно использовать хорошую оптическую систему.
Записанная информация на оптическом диске постоянно сохраняется в виде питов. При считывании, когда точка фокусировки лазерного луча попадает на ямку Возникнет дифракция и низкая отражательная способность; большая часть света вернется, когда фокус попадет на выпуклую поверхность. на основе отраженного света Записанную информацию можно считывать, изменяя интенсивность света и выполняя фотоэлектрическое преобразование.
структура хранения
Дорожка, на которой записывается информация, называется световой дорожкой. Оптическая дорожка разделена на сектора, которые представляют собой наименьшие адресуемые единицы оптического диска. Структура сектора представлена на рисунке.
лента
Принцип записи на ленточном накопителе в основном такой же, как и на магнитном накопителе, за исключением того, что его магнитный носитель представляет собой полоску пластика, называемую магнитной лентой. При записи информационный код может быть записан на ленту через магнитную головку. При движении ленты с записанным на ней кодом под магнитной головкой на катушку магнитной головки может индуцироваться электродвижущая сила, то есть считываться информационный код. Ленточное оборудование для хранения данных состоит из двух частей: ленточного накопителя и ленты. Обычно оно используется в качестве резервного копирования данных для устройств хранения данных.
Лента работает медленнее, чем диск, поскольку доступ к данным на ленте осуществляется последовательно, тогда как доступ к диску осуществляется случайным образом.
Классификация
Лента 1/4 дюйма (QIC)
36-72 дорожки, параллельная запись данных
Емкость 80 МБ ~ 1,2 ГБ
Цифровая аудиокассета (DAT)
вращательное сканирование
Емкость 12 ГБ
лента 8 мм
Емкость 25 ГБ
Цифровая линейная лента (DLT)
Максимальная емкость 35 ГБ
Технология производства процессоров и памяти
транзистор
Простой переключатель, управляемый электрическим сигналом
Интегральная схема
Чип из тысяч транзисторов
крупномасштабная интегральная схема
Схемы, состоящие из сотен тысяч и миллионов транзисторов.
Стена энергопотребления процессора
Проблема со стеной питания
Доминирующей технологией интегральных схем является КМОП, основное энергопотребление которой Источником является динамическая рассеиваемая мощность, то есть мощность, рассеиваемая в процессе переключения транзистора. Потребляемая мощность = емкость нагрузки x напряжение² x частота коммутации ▪ Частота переключения как функция тактовой частоты ▪ Емкость нагрузки зависит от количества транзисторов, подключенных к выходу, и процесса ▪ В настоящее время каждое поколение ЦП снижает напряжение, чтобы компенсировать энергопотребление, вызванное увеличением частоты. Рост, за 20 лет напряжение снизилось с 5В до 1В.
Как еще улучшить производительность компьютера
Использование более мощной технологии охлаждения обходится дорого.
Переход от однопроцессора к многопроцессору
■В прошлом программисты могли полагаться на инновации в аппаратном обеспечении, архитектуре и компиляторах, чтобы удваивать возможности своих программ каждые 18 месяцев без изменения кода. ■Теперь программисты, которые хотят значительно улучшить время отклика, должны переписывать свои программы, а поскольку число ядер продолжает удваиваться, программисты должны продолжать совершенствовать свой код.
Пример изготовления процессора
Полупроводниковый материал: кремний
Добавление определенных материалов к кремнию с использованием специальных химических веществ может превратить крошечные участки в
хороший дирижер
хороший изолятор
управляемый проводник или изолятор
Схемы СБИС состоят из сотен миллионов комбинаций вышеперечисленных материалов.
компьютерные инструкции
Основные понятия, система инструкций MIPS
Основные понятия инструкций
Три уровня компьютерного языка
язык высокого уровня
Язык ассемблера (написание программ с использованием мнемоники инструкций)
Машинный язык (написание программ с кодами инструкций)
Это система наборов команд. Этот набор инструкций называется машинным кодом и представляет собой данные, которые ЦП может напрямую интерпретировать.
Команды и системы командования
инструкция
Наименьшая функциональная единица работы компьютера — это команда, управляющая работой компьютерного оборудования. Это битовая строка, состоящая из нескольких двоичных битов.
Все инструкции, предоставляемые компьютером, составляют систему инструкций компьютера. Инструкции используются программистами, чтобы сообщить компьютеру о необходимости выполнения основных операций и функций обработки. Несколько инструкций могут сформировать программу для выполнения ожидаемой задачи.
система команд
определение
Все инструкции, предоставляемые компьютером, составляют систему инструкций компьютера.
Инструкции используются программистами, чтобы сообщить компьютеру о необходимости выполнения основной операции или функции обработки.
пример
х86
система
винда, линукс
чип
Интел, АМД
ЦИСК
РУКА
система
Android, iOS, Windows Mobile
чип
Snapdragon, Apple, Кирин
МИПС
система
Линукс
чип
Крестник №3
РИСЦ
CISC и RISC
Разработка командных систем
Компьютер со сложным набором команд CISC
Сотни инструкций и огромная система инструкций удлиняют цикл разработки компьютера, затрудняя обеспечение точности, а также затрудняя отладку и обслуживание. Используется большое количество сложных инструкций с низкой частотой использования, что приводит к пустой трате аппаратных ресурсов.
РИСЦ
Сумма частот использования десяти наиболее часто используемых инструкций в наборе команд X86 достигает 96%.
Набор инструкций MIPS
Операции с компьютерным оборудованием MIPS
значение
Микропроцессор RISC без каскада внутренней блокировки
приложение
Суперкомпьютер SGI
Встроенные системы
маршрутизатор
игровое оборудование
Китайский Лунгсон
Схема 32-битной компьютерной системы MIPS
Основные понятия и базовые знания
бит, байт, слово
Битбит
Один бит в двоичном формате — наименьшая единица информации.
байтбайт
8бит
Слово слово
Термин, обозначающий единицу данных
Число битов в слове (длина слова) является важной характеристикой архитектуры компьютерной системы.
Длина слова современных компьютеров обычно составляет 32 или 64 бита.
Хранение данных в памяти
Память
Можно рассматривать как массив байтов
Каждый байт имеет уникальный индекс: адрес
При доступе к байту памяти требуется адрес
Одно слово занимает несколько байт
32 бит
1 слово=4 байта
64 бит
1 слово=8 байт
Адрес слова — это адрес первого содержащегося в нем байта.
Начальный адрес слова должен быть кратен 4.
Порядок хранения байтов
адресация с прямым порядком байтов
Байты с прямым порядком байтов в качестве адреса слова
адресация с прямым порядком байтов
Байт с прямым порядком байтов в качестве адреса слова
Двоичное представление инструкций MIPS
Все инструкции MIPS представляют собой однословные инструкции (длина инструкции = длине машинного слова).
Аппаратное обеспечение MIPS
MIPS-процессор
32 регистра общего назначения
Размер каждого регистра равен размеру одного слова, 32 бита.
Регистр MIPS
MIPS (32-битная) компьютерная память
В компьютерных системах MIPS (32-бит) адреса представляют собой 32-битные двоичные строки.
Максимальный объем памяти составляет 2 ^ 32 байта/2 ^ 30 слов.
Начальный адрес слова должен быть кратен 4.
Возможности 32-битного компьютера MIPS
Регистры используются для быстрого доступа к данным. В MIPS над числами, хранящимися в регистрах, можно выполнять только арифметические операции. Регистр $zero всегда равен 0, а регистр $at зарезервирован ассемблером для обработки больших констант.
Доступ к памяти возможен только через инструкции передачи данных. MIPS использует байтовую адресацию, поэтому адреса последовательных слов отличаются на 4. Память, используемая для хранения структур данных, массивов и регистров переполнения.
Операнды компьютерного оборудования MIPS
Регистрация операндов и операндов памяти
Зарегистрировать операнд
Операнды для арифметических операций должны поступать из регистров.
Компьютеры MIPS имеют 32 регистра, каждый регистр имеет размер 32 бита.
например
операнд памяти
инструкции по передаче данных
определение
Инструкции, передающие данные между памятью и регистрами
Классификация
Получить инструкцию lw (загрузочное слово)
Слово сохранения sw (слово сохранения)
Переполнение регистра
определение
Количество переменных программы намного превышает количество регистров. Процесс хранения необычных переменных в памяти.
Данные в регистрах проще использовать
Арифметическая инструкция MIPS может читать два регистра, выполнять операции и сохранять результат обратно.
Инструкция передачи данных MIPS может читать или записывать только один операнд.
По сравнению с памятью, регистры имеют более короткое время доступа и более высокую пропускную способность. Доступ к регистрам потребляет меньше энергии, чем память.
Для достижения более высокой производительности и экономии энергии компилятор должен эффективно использовать регистры.
Постоянный или непосредственный операнд
Укажите операнд непосредственно в инструкции
Регистр $zero всегда равен 0.
Постоянные или немедленные операции
добавить немедленно
Немедленные номера и andi rt rs,imm
Инструкция немедленной выборки старших битов lui rt,imm
Получите немедленный номер li rest,imm
краткое содержание
Полный ассемблер MIPS в книге.
Операнды MIPS
Язык ассемблера MIPS
Формат инструкции MIPS
Представление инструкций в компьютерах
командное слово
Полное двоичное представление инструкции
Длина слова инструкции
Количество цифр двоичного кода в командном слове
Формат команды
код операции
Укажите функцию операции этой инструкции. Каждая инструкция имеет определенный код операции.
адрес операнда
Указывает адрес, по которому хранится операнд, иногда сам операнд (непосредственное значение).
Иллюстрация
Числовая форма инструкций становится машинным языком, а такая последовательность инструкций становится машинным кодом.
Инструкции в компьютерах представлены последовательностью нескольких электрических сигналов высокого и низкого уровня.
Регистрация правил кодирования на языке ассемблера MIPS
$s0-$s7 соответствует 16-23
$t0-$t7 соответствует 8-15
Машинная инструкция на языке ассемблера MIPS.
язык ассемблера
добавить $t0, $s1, $s2
Десятичная форма
двоичная форма
шестнадцатеричный
Формат инструкции MIPS
Распределение места для хранения
объяснять
оп
Основные операции инструкций (опкодов)
РС
регистр первого исходного операнда
рт
регистр операнда второго источника
р-д
Регистр назначения, используемый для хранения результатов операции.
черт возьми
Величина смещения, используемая в инструкциях смены
функция
Код функции, используемый для указания конкретного варианта операции в поле op.
Существует проблема
Два регистра и одна константа, константа ограничена 2^5.
компромисс
Чтобы сохранить все инструкции одинаковой длины, разрешите различным типам инструкций иметь разные форматы инструкций.
Три типа формата
краткое содержание
инструкция
пример
Логические инструкции по эксплуатации
Логические операции
определение
Оперировать несколькими битами или одним битом в слове
тип
пример
Логический сдвиг влево, логический сдвиг вправо
Побитовое И
Побитовое ИЛИ
Побитовое отрицание
код операции
Логический сдвиг влево
слл
Логический сдвиг вправо
срл
Побитовое И
и, Энди
Побитовое ИЛИ
или, ори
Побитовое отрицание
ни
Инструкции по принятию решений
определение
Выполнение различных инструкций на основе входных данных и значений, полученных в ходе вычислений.
Классификация
инструкции условного перехода
разветвление, если равно
beq регистр1,регистр2,L1
разветвить, если не равно
bne регистр1,регистр2,L1
пример
язык высокого уровня
если (я == j) е = г ч; еще е = г-ч;
язык ассемблера
bne $s3,$s4,Else #Если ij не равен, перейти к Else добавить $s0,$s1,$s2 #gh сложить и сохранить в f j Выход #Перейти к выходу Иначе: sub $s0,$s1,$s2 #gh вычитает и сохраняет в f Выход:
Скомпилировать оператор цикла while
язык высокого уровня
в то время как (сава [i] == k) я = 1;
язык ассемблера
Цикл: sll $t1,$s3,2 #$t1=4*i добавить $t1,$t1,$s6 #$t1=адрес сохранения[i] ($s6 содержит адрес сохранения) lw $t0,0($t1) #$t0=сохранить[i] bne $t0,$s5,Exit #save[i] выйти, когда оно не равно k добавить $s3,$s3,1 #i=i 1 j Loop #Вернуться к циклу Выход:
Установить, если меньше
эффект
Сравнивает, меньше ли одна переменная другой
грамматика
slt $t0,$s3,$s4
объяснять
Когда значение в $s3 меньше значения $s4, $t0 устанавливается в 1, в противном случае ему присваивается 0.
краткое содержание
Компьютерная аппаратная поддержка процессов, режим адресации инструкций MIPS
Компьютерная поддержка MIPS для процессов
Правила распределения регистров
$а0~$а3
Передать параметры
$v0~$v1
возвращаемое значение
$ра
Регистр обратного адреса для возврата в исходную точку
Инструкции по переходу и связыванию
Перейти по адресу и сохранить адрес следующей инструкции в регистре $ra.
jal Адрес процедуры
зарегистрировать команду перехода
Безоговорочный переход по адресу, указанному в регистре
младший $ра
Числовое представление и операции
Кодирование и представление данных
Предметы, которые необходимо хранить в компьютере
Представлено кодировкой
фундаментальный элемент
0, 1
характер
Количество цифр
26 букв->5 цифр
Прочие символы верхнего и нижнего регистра -> 7 бит
Текст на других языках мира -> 16-бит (Юникод)
Важный человеко-машинный интерфейс
Состоит из символов
Каждый символ кодируется и окончательно преобразуется устройством ввода и вывода.
Обычно хранится в памяти компьютера в виде строки.
Различные стандарты кодирования набора символов
ASCII
Американский стандартный код для обмена информацией
Использование 7-битной двоичной кодировки плюс четный проверочный бит, всего 8 бит, занимающих 1 байт.
Представляет 128 западных персонажей.
английский алфавит
Десятичная дробь
Пунктуация
подробности
ЮНИКОД
Используя 16 бит для представления символа, можно представить 65536 символов.
Разделите все пространство кодирования на блоки, каждый блок представляет собой целое число, кратное 16, и распределите его по блокам.
Зарезервируйте 6400 кодовых точек для использования при локализации.
Все еще не могу охватить всех персонажей
числовое представление данных
Обзор: связанные с базовой системой
Кэрри-метод подсчета (любое основание расширяется по десятичной системе)
формула
значение
N представляет собой числовое значение
r — основание этой системы счисления
я представляет номер бита этих символов, начиная с 0
Di — это символ в бите номер i.
r^i — значение, представленное цифрой 1 в номере бита i.
Часто используемые базы
Двоичный код используется внутри компьютеров.
Восьмерично-шестнадцатеричная система — это сокращение от двоичной системы.
Десятичная система для использования человеком
Преобразование системы счисления
Факторы, связанные с выбором способа представления ваших данных
тип данных
Десятичные, целые, действительные числа, комплексные числа
Числовой диапазон
Максимальные и минимальные значения, с которыми могут столкнуться данные
Численная точность
Количество значащих цифр, которое может дать действительное число; для чисел с плавающей запятой недостаточная точность приведет к ошибкам, а накопление ошибок приведет к проблемам.
Стоимость оборудования для хранения, обработки и передачи
Занятое место для хранения, скорость передачи
Два часто используемых формата данных
номер с фиксированной точкой
Функции
Фиксированное положение десятичной точки
целое число с фиксированной запятой
Десятичная с фиксированной запятой
Ограниченный числовой диапазон, требующий простого оборудования обработки.
Метод представления чисел с фиксированной точкой
Формат фиксированной точки
Согласовано, что положение десятичной точки во всех данных фиксировано.
Поскольку согласовано, что десятичная точка находится в фиксированном положении, она больше не обозначается символом.
Данные обычно представляются в виде чистых десятичных дробей или чистых целых чисел.
метод отображения
чистая десятичная дробь
Десятичная точка находится между Xn и Xn-1.
[0,1-2^(-n)]
чистое целое число
Десятичная точка находится справа от X0.
[0,2^n-1]
целочисленное кодирование
Исходный код
состав
Знаковые биты Абсолютное значение числа
Положительные числа выражаются следующим образом
Отрицательные числа выражаются следующим образом
объем
Функции
Представление простое, его легко преобразовать между одинаковыми истинными значениями, а правила операций умножения и деления просты.
Операции сложения и вычитания являются громоздкими.
Дополнение: Добавляйте значения с одинаковым знаком и сохраняйте значения с разными знаками.
Вычитание: сначала сравните абсолютные значения, затем используйте тот, у которого большее абсолютное значение, в качестве вычитаемого, а другой в качестве вычитаемого, чтобы получить разницу, и используйте символ с большим абсолютным значением в качестве символа.
Есть 0 и -0
Понимаете, это очень сбивает с толку.
10000000
00000000
обратный код
Знаковое поразрядное отрицание значения
Функции
Дополнение до 0 не уникально
Диапазоны
дополнять
Дополнение к одному 1
Дополнением положительного числа является само положительное число, а дополнением отрицательного числа является исходное отрицательное число плюс модуль.
бит знака дополнения
Функции
Преобразование операций вычитания в операции сложения
Дополнение истинного значения 0 уникально.
Диапазоны
подписанный номер
беззнаковое число
Подведем итог
Исходный код и дополнение положительного числа совпадают.
Знаковый бит равен 0, а числовой бит является истинным значением.
Исходный обратный код 0 имеет два кода, а дополнительный код — только один.
Исходный код и дополнение отрицательного числа различны.
Знаковый бит 1
Числовые биты
Исходный код: абсолютное значение числа
Отрицательный код: отрицание абсолютного значения.
Дополнение до двух: дополнение к одному 1
число с плавающей запятой
Положение десятичной точки плавающее
Числовой диапазон очень велик, а необходимое для обработки оборудование сложное.
метод отображения
Десятичная научная запись
Двоичная научная запись
Как представлять числа с плавающей запятой
Нормализованный метод представления
Если значение мантиссы не равно 0, самый левый бит поля мантиссы всегда равен 1.
Самый старший бит всегда равен 1, поэтому этот бит не сохраняется и считается скрытым слева от десятичной точки.
стандарт IEEE754
стандарт арифметики с плавающей запятой
Система счисления указана как 2, код экспоненты E представлен сдвигом кадра, а мантисса M представлена исходным кодом. Согласно методу двоичной нормализации, старший бит значения всегда равен 1. Этот стандарт хранит. по умолчанию это 1, что делает диапазон представления мантиссы больше, чем фактическое хранилище, еще на один
Подведем итог
нормализованная форма
Число одинарной точности с плавающей запятой
Число двойной точности с плавающей запятой
Вычисление истинности с плавающей запятой
Нормализованное 32-битное число с плавающей запятой
Нормализованное 64-битное число с плавающей запятой
специальные правила
E все равно 0, M все равно 0, тогда x=0 в сочетании со знаковым битом, есть 0 и -0;
E все равно 1, M все равно 0, тогда x = бесконечность в сочетании со знаковым битом, есть положительная и отрицательная бесконечность;
Числовой диапазон (32 бита)
Код Е
8-битное двоичное число
Диапазон истинных значений экспоненты: -126~127.
Особый случай
код обнаружения и исправления ошибок
кодовое расстояние
Между любыми двумя юридическими кодами существует как минимум несколько различий в двоичных битах.
Три часто используемых кода обнаружения и исправления ошибок
код четности
для параллельной передачи данных
принцип
Добавьте 1 контрольный бит в дополнение к k-битному коду данных, чтобы количество цифр со значением 1 в k 1-битном кодовом слове всегда оставалось четным или нечетным числом.
Вычислительное представление
Схема реализации
Проверочный код Хэмминга
для параллельной передачи данных
код проверки циклическим избыточным кодом
для последовательной передачи данных
Процесс доставки и проверки
логическое значение
0->Ложь, 1->Истина
цвет
Местоположение, адрес, инструкция
Операция
Принципы сложения и вычитания с фиксированной точкой
Сложение и вычитание двух дополнений
формула
Аддитивные функции
Для участия в операции знаковый бит должен рассматриваться как часть числа.
Переносы, превышающие по модулю 2^(n 1), отбрасываются.
Обнаружение переполнения
Понятие переполнения
В целочисленных машинах с фиксированной запятой абсолютное значение диапазона представления чисел составляет <2^(n-1).
Во время операции явление, когда результат операции выходит за пределы диапазона, который может представлять длина машинного слова, называется переполнением.
Может произойти переполнение
Сложить два положительных числа, стать отрицательными, переполниться
Добавьте два отрицательных числа, чтобы сделать их положительными и отрицательными.
Метод обнаружения
метод бита с двойным знаком
Числа, участвующие в операциях сложения и вычитания, выражаются с использованием деформированных дополнительных кодов.
Правила расчета
Оба знаковых бита рассматриваются как числа и участвуют в операциях.
Два числа складываются по модулю 2^(n 2), а перенос, сгенерированный в бите старшего знака, отбрасывается.
Обнаружение
метод однознакового бита
Генерируется старший бит
Состав калькулятора
основные навыки
Полные арифметические и логические операции
Получить операнды: банк регистров, шина данных.
Вывод и сохранение результатов работы: группа регистров, шина данных.
Временное хранение промежуточных результатов операций: сдвиговый регистр
Получить статус результата операции
Понимать и реагировать на управляющие сигналы
базовая логическая схема
схема логического вентиля
Полная логическая операция
Сумматор
Завершить операцию сложения
курок
сохранить данные
Мультиплексор, шифтер
выбрать, подключить
путь к данным
Функциональность и дизайн ALU
Функция
Полные арифметические и логические операции с операндами.
ДОБАВИТЬ, И, ИЛИ
дизайн
Арифметические операции
Сумматор
логическая операция
И ворота или ворота
Принцип умножения и множители
Описание алгоритма двоичного умножения
базовый алгоритм
Если текущий бит множителя == 1, просуммируйте множимое и частичное произведение.
Если текущий бит множителя == 0, пропустите и сдвиньте частичное произведение.
Как только все биты заполнены, частичный продукт является окончательным результатом.
N-значный множитель*M-значное множимое
Произведение N M битов
Алгоритм умножения первый
процесс
Улучшать
Каждый раз, когда получается X*yi, оно суммируется с предыдущим результатом для получения числа Pi, которое называется частичным произведением. Поскольку мы не ждем последнего суммирования, стоимость сохранения результатов умножения X*yi каждого раза снижается.
Каждый раз, когда получается X*yi, вместо того, чтобы сдвигать его влево и добавлять к предыдущему частичному продукту Pi, перемещайте частичный продукт Pi вправо и добавляйте его к X*yi. Поскольку операция сложения всегда выполняется над старшими n битами частичного произведения, для умножения двух n-значных чисел можно использовать n-битный сумматор.
Выполните сложение и сдвиг вправо для битов, равных 1 в множителе, выполните сдвиг вправо для битов, равных 0, и не выполняйте операции сложения.
Алгоритм умножения 2
процесс
Принцип деления и делитель
Исходное правило разделения кода
При делении двух чисел, представленных исходными кодами, знак частного получается путем побитового сложения знаков двух чисел, а числовая часть частного получается путем деления числовых частей двух чисел.
десятичное деление с фиксированной запятой
Аппаратная структура дивизиона
Процесс разделения
Проблемы
При взаимодействии сумматора и регистра цифры делимого становятся длиннее, и частное необходимо вычислять побитно.
Эту проблему можно решить, удалив число слева, и нижняя часть делимого может находиться в одном регистре с конечным частным, а остаток и частное сдвигаются влево одновременно.
Реализация дивизиона
Исходный метод разделения кода
восстановительный метод остатка
Когда вычитания недостаточно, исходный остаток восстанавливается для продолжения операции.
Текущий остаток плюс делитель
попеременное сложение и вычитание
Если в ходе операции произошло недостаточное вычитание, то восстанавливать остаток нет необходимости и продолжать операцию по знаку остатка.
Остаток > 0, сдвиньте остаток на одну позицию влево и вычтите делитель
Остаток > 0, сдвиньте остаток на одну позицию влево и добавьте делитель
Арифметические операции с плавающей запятой
Сложение и вычитание с плавающей запятой
Сложение и вычитание с плавающей запятой
Арифметические правила
процесс
0 проверка операнда
Для порядка найдите разность порядков, сдвиньте мантиссу числа с меньшим кодом заказа вправо и возьмите большее значение кода заказа (смещение мантиссы влево приводит к потере наиболее значимого бита, что является большая потеря, поэтому сдвиньте мантиссу вправо)
Сложение и вычитание мантиссы
Нормализация результатов
Округление
Почему
При выравнивании или нормализации это может привести к смещению мантиссы вправо и потере младших битов, что приведет к ошибкам.
Округление также требуется при преобразовании типов данных.
Стандартный метод округления IEEE754
Округлить до ближайшего (от 0 до 1)
Самый старший отброшенный бит равен 1 к 1.
округлить в сторону 0
Цензура
округление в сторону положительной бесконечности
Если не все дополнительные цифры положительного числа равны 0, они округляются до 1, если число отрицательное, они усекаются.
Округление в сторону отрицательной бесконечности
Если не все дополнительные цифры отрицательного числа равны 0, они округляются до 1, если положительное число усекается;
проверка переполнения
Переполнение плавающей точки
переполнение
Значение слишком велико
Значение кода экспоненты превышает диапазон представления в 8 двоичных битов.
перелив
Значение слишком мало
Код экспоненты превышает диапазон представления 8-битного двоичного кода.
Иллюстрация
Оценка и обработка переполнения
Переполнение чисел с плавающей запятой выражается как переполнение кода.
Левый тайминг (перемещение мантиссы влево, код экспоненты -1)
Сначала определите, равен ли весь код экспоненты 0, если да, то код экспоненты опустошается; в противном случае, после кода экспоненты -1, определите, равен ли весь код экспоненты 0, если да, то код экспоненты опустошается.
Правый тайминг (перемещение мантиссы вправо, код экспоненты 1)
Сначала определите, равен ли весь код экспоненты 1, если да, то код экспоненты становится пустым; в противном случае, после того, как код экспоненты равен 1, определите, равен ли весь код экспоненты 1, если да, то код экспоненты опустошается.
Компоненты сложения и вычитания с плавающей запятой
Умножение и деление с плавающей запятой
формула
Этапы работы
0 проверка операнда
Операции сложения и вычитания кода
умножение
Если старший бит ExEy равен 1, а старший бит Ez равен 0 или если Ez полностью равен 1, код экспоненты переполнится;
Если старший бит ExEy равен 0, а старший бит Ez равен 1 или если Ez полностью равен 0, код экспоненты переполняется;
разделение
Если старший бит Ex равен 1, старший бит Ey равен 0, а старший бит Ez равен 0 или если все Ez равны 1, код экспоненты переполняется;
Если старший бит Ex равен 0, старший бит Ey равен 1, а старший бит Ez равен 1 или все Ez равны 0, код экспоненты переполняется;
Операции умножения и деления мантиссы
Нормализация результатов
Округление
Сложение и вычитание кода
Дополнительные биты
эффект
Защитите промежуточный результат побитовой операции ИЛИ со сдвигом вправо во время выравнивания.
иметь дело с
В левой руке он перемещается в мантиссу.
как основа для округления
Правила IEEE754
Промежуточный результат должен иметь два дополнительных бита, добавленных справа.
защитный бит
Биты справа от мантиссы
бит округления
Бит справа от бита защиты
Конвейер операций с плавающей запятой
Два канала для улучшения параллелизма
пространственный параллелизм
Добавляйте резервные компоненты, такие как многооперационные процессоры и суперскалярные процессоры.
временной параллелизм
Улучшите операционные процессы, такие как технология сборочной линии.
Характеристики трубопровода
Конвейерная обработка не уменьшает задержку отдельной задачи, но повышает пропускную способность всей системы.
Несколько задач выполняются одновременно и занимают разные ресурсы.
Возможный коэффициент ускорения = количество этапов конвейера
Эффективность трубопровода ограничена самой длинной стадией.
Если каждый этап занимает разное время, эффективность конвейера снизится.
Линии загрузки и опорожнения также снижают скорость
Конфликты приведут к остановке трубопровода
Основные понятия сборочной линии
Принцип сборочной линии
Тактовый цикл конвейера
Анализ ускорения
представлять
Задачи должны быть непрерывными в конвейере. Только при непрерывном предоставлении задач можно полностью использовать эффективность конвейера.
Разбейте задачу на несколько связанных подзадач. Каждая подзадача реализуется выделенным функциональным компонентом.
После каждой функциональной единицы в конвейере должен быть буферный регистр или защелка.
Время работы каждого участка сборочной линии должно быть как можно более одинаковым, иначе это приведет к засорению и прерыванию потока.
У трубопровода должно быть время загрузки и время опорожнения. Он может быть полностью эффективным только тогда, когда трубопровод полностью заполнен.
арифметический блок с плавающей запятой