Презентация Системы счисления. Что такое «архитектура» компьютера

Смотреть слайды в полном размере
Презентация Системы счисления. Что такое «архитектура» компьютера


Вашему вниманию предлагается презентация «Системы счисления. Что такое «архитектура» компьютера», с которой можно предварительно ознакомиться, просмотреть текст и слайды к ней, а так же, в случае, если она вам подходит - скачать файл для редактирования или печати.

Презентация содержит 31 слайд и доступна для скачивания в формате ppt. Размер скачиваемого файла: 276.03 KB

Просмотреть и скачать

Pic.1
Есть ли у вас вопросы?
Есть ли у вас вопросы?
Pic.2
Краткое содержание предыдущей серии Что такое ассемблер? Что такое процессорные регистры и зачем они
Краткое содержание предыдущей серии Что такое ассемблер? Что такое процессорные регистры и зачем они нужны? Как организована память? Где хранится код? А как он при этом выглядит?
Pic.3
Краткое содержание сегодняшней серии Системы счисления Что такое «архитектура» компьютера Регистры в
Краткое содержание сегодняшней серии Системы счисления Что такое «архитектура» компьютера Регистры в ARM Cortex M3 Набор команд Thumb 2 Способы адресации в ARM Cortex M3
Pic.4
Системы счисления Что такое система счисления? Метод записи чисел. В зависимости от основания систем
Системы счисления Что такое система счисления? Метод записи чисел. В зависимости от основания системы одна и та же запись означает разное число: 1005 = 1002 =
Pic.5
Двоичная система Широко применяется в информатике, программировании и т. д. Но почему? Потому что ко
Двоичная система Широко применяется в информатике, программировании и т. д. Но почему? Потому что компьютеры очень удобно делать из двоичных электронных компонентов.
Pic.6
Двоичная система Почему люди не пользуются двоичной системой? По историческим причинам Относительно
Двоичная система Почему люди не пользуются двоичной системой? По историческим причинам Относительно небольшие числа в ней записываются очень длинно: 10 0111 0000 11112 = 999910
Pic.7
А программисту зачем двоичная система? В низкоуровневом программировании бывает так, что число не не
А программисту зачем двоичная система? В низкоуровневом программировании бывает так, что число не несет количественного смысла. Вместо этого, каждый бит в двоичном представлении числа имеет свой смысл.
Pic.8
Что делать, если часто нужно считать в двоичной системе? Нужно научиться быстро переводить числа из
Что делать, если часто нужно считать в двоичной системе? Нужно научиться быстро переводить числа из одной системы в другую. Как? Быстро делить в уме Использовать специальный софт (напр. , калькулятор windows) Использовать шестнадцатеричную или восьмеричную систему
Pic.9
Шестнадцатеричная система (hexadecimal) В ней 16 цифр, 0. . 9, А,B,C,D,E и F. В языке С такие числа
Шестнадцатеричная система (hexadecimal) В ней 16 цифр, 0. . 9, А,B,C,D,E и F. В языке С такие числа записываются с префиксом 0x: 0xFF Но что все это дает?
Pic.10
Шестнадцатеричная система (hexadecimal) 16 – это 24, поэтому каждая цифра в hex’е – это 4 цифры в дв
Шестнадцатеричная система (hexadecimal) 16 – это 24, поэтому каждая цифра в hex’е – это 4 цифры в двоичной системе! И переводить числа очень легко: 0x1532
Pic.11
Если вам не легко То нужно научится считать в двоичной системе от 0 до F:
Если вам не легко То нужно научится считать в двоичной системе от 0 до F:
Pic.12
В языке С В языке С можно использовать три системы счисления: Десятичную – просто числа, без префикс
В языке С В языке С можно использовать три системы счисления: Десятичную – просто числа, без префиксов Шестнадцатеричную – числа с префиксом 0x Восьмеричную – с префиксом 0 В некоторых компиляторах есть нестандартный префикс 0b для двоичной системы
Pic.13
Подвох Программист для красоты выровнял колонку цифр. И десятичное 37 превратилось в восьмеричное 03
Подвох Программист для красоты выровнял колонку цифр. И десятичное 37 превратилось в восьмеричное 037 == 31.
Pic.14
ARM Advanced RISC Machines – британская компания ARMv1. . ARMv9 – архитектуры ЭВМ ARM2. . . ARM11 и
ARM Advanced RISC Machines – британская компания ARMv1. . ARMv9 – архитектуры ЭВМ ARM2. . . ARM11 и Cortex – микропроцессорные ядра ARM не производит физических устройств, только спецификации Мы изучаем микроконтроллер STM32F103 ST Microelectronics – производитель чипа 32 – «битность» F103 - серия Cortex M3 – ядро (М – означает микроконтроллер) с архитектурой ARMv7
Pic.15
Что же такое «архитектура компьютера»? Это сочетание многих системных решений об устройстве компьюте
Что же такое «архитектура компьютера»? Это сочетание многих системных решений об устройстве компьютера, концептуальная структура, которая включает в себя Набор ассемблерных команд (instruction set) «Битность» Тип памяти (Гарвард или фон Нейман) Количество и назначение шин Общие принципы работы И т. д.
Pic.16
Что такое «битность»? 32-битный компьютер обладает: 32-битными регистрами 32-битной шиной адреса 32-
Что такое «битность»? 32-битный компьютер обладает: 32-битными регистрами 32-битной шиной адреса 32-битной шиной данных Возможно, не все сразу – т. е. понятие это несколько расплывчато.
Pic.17
Типы архитектур CISC – Complex Instruction Set Computer RISC – Restricted Instruction Set Computer
Типы архитектур CISC – Complex Instruction Set Computer RISC – Restricted Instruction Set Computer
Pic.18
Типы архитектур
Типы архитектур
Pic.19
Архитектура ARMv7 RISC-подобная Набор команд Thumb-2 (совместим с Thumb из ARMv4) 32 бита фон Нейман
Архитектура ARMv7 RISC-подобная Набор команд Thumb-2 (совместим с Thumb из ARMv4) 32 бита фон Неймановская память (единое адресное пространство) 13 регистров общего назначения Endianness (и еще многое) на выбор производителя
Pic.20
Набор команд Thumb 2 Большая часть команд длиной 2 байта, есть команды в 4 байта (мнемоники единообр
Набор команд Thumb 2 Большая часть команд длиной 2 байта, есть команды в 4 байта (мнемоники единообразные) Большая часть команд выполняется за 2 такта (дольше – умножение, деление, множественная загрузка/сохранение и т. д. ) Только целочисленная арифметика Подробности - ARMv7-M Architecture Reference Manual
Pic.21
Регистры в ARM Cortex M3
Регистры в ARM Cortex M3
Pic.22
Помните машину Тьюринга?
Помните машину Тьюринга?
Pic.23
Как выглядит ассемблер в Keil
Как выглядит ассемблер в Keil
Pic.24
Подробнее о команде Итак, 0x080003A4 2005 MOVS r0,#0x05 означает «по адресу 0x8003A4 хранится: полож
Подробнее о команде Итак, 0x080003A4 2005 MOVS r0,#0x05 означает «по адресу 0x8003A4 хранится: положить в регистр R0 число 5» А откуда берется число пять? Оно лежит прямо в коде команды! 2005 Это называется «непосредственная» адресация (immediate)
Pic.25
Подробнее о команде Итак, 0x080003A4 2005 MOVS r0,#0x05 означает «по адресу 0x8003A4 хранится: полож
Подробнее о команде Итак, 0x080003A4 2005 MOVS r0,#0x05 означает «по адресу 0x8003A4 хранится: положить в регистр R0 число 5» А где написано, что R0? Тоже в команде! 2005 Это «регистровая адресация» – один из операндов – регистр и его номер указан прямо в команде.
Pic.26
Структура команды (на примере 16-битной mov) 0x2005 = 0010 0000 0000 0101 Пять старших бит показываю
Структура команды (на примере 16-битной mov) 0x2005 = 0010 0000 0000 0101 Пять старших бит показывают что это, собственно, команда mov Биты 10, 9 и 8 задают номер регистра Биты с 7 по 0 задают непосредственный операнд
Pic.27
А какая вообще бывает адресация? Косвенность, теоретически, может наращиваться бесконечно - по адрес
А какая вообще бывает адресация? Косвенность, теоретически, может наращиваться бесконечно - по адресу лежит адрес, по которому лежит адрес, по которому. . . (указатель на указатель на указатель. . . )
Pic.28
Абсолютная адресация в Cortex M3 Команды имеют длину 2 или 4 байта. Адреса имеют длину 4 байта. Как
Абсолютная адресация в Cortex M3 Команды имеют длину 2 или 4 байта. Адреса имеют длину 4 байта. Как же положить адрес прямо в команду? А никак. В Cortex M3 такого способа адресации нет! Что же делать?
Pic.29
Косвенно-регистровая адресация Синтаксис – квадратные скобки LDR R0, [R1,#0x00] – считать в регистр
Косвенно-регистровая адресация Синтаксис – квадратные скобки LDR R0, [R1,#0x00] – считать в регистр R0 значение, лежащее по адресу «то, что в R1 + 0» Смещение лежит прямо в команде и может быть от 0 до 4095. Для адресации глобальных переменных часто используется регистр РС. Но почему?
Pic.30
Немножко о компиляции языка С Каждый файл . c компилируется отдельно от остальных и превращается в ф
Немножко о компиляции языка С Каждый файл . c компилируется отдельно от остальных и превращается в файл . o – «объектный файл» Линкер разрешает зависимости между файлами, проставляет вызовы функций Линкер размещает объектные файлы в памяти Вывод? Линкеру удобно положить адрес переменной рядом с кодом, который к ней обращается. Если они в одном файле.
Pic.31
А где в ассемблере учитывается тип? У команд есть вариации: W – word – слово – 4 байта H – halfword
А где в ассемблере учитывается тип? У команд есть вариации: W – word – слово – 4 байта H – halfword – полуслово – 2 байта B – byte – байт – 1 байт S – signed – знаковый


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!