Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

Краткое содержание предыдущей серииЧто такое ассемблер?Что такое процессорные регистры и зачем они нужны?Как организована память?Где хранится код?А как он при этом выглядит?
Есть ли у вас вопросы? Краткое содержание предыдущей серииЧто такое ассемблер?Что такое процессорные регистры и зачем они Краткое содержание сегодняшней серииСистемы счисленияЧто такое «архитектура» компьютераРегистры в ARM Cortex M3Набор Системы счисленияЧто такое система счисления?Метод записи чисел.В зависимости от основания системы одна Двоичная системаШироко применяется в информатике, программировании и т.д. Но почему?Потому что компьютеры Двоичная системаПочему люди не пользуются двоичной системой?По историческим причинамОтносительно небольшие числа в А программисту зачем двоичная система?В низкоуровневом программировании бывает так, что число не Что делать, если часто нужно считать в двоичной системе?Нужно научиться быстро переводить Шестнадцатеричная система (hexadecimal)В ней 16 цифр, 0..9, А,B,C,D,E и F.В языке С Шестнадцатеричная система (hexadecimal)16 – это 24, поэтому каждая цифра в hex’е – Если вам не легкоТо нужно научится считать в двоичной системе от 0 до F: В языке СВ языке С можно использовать три системы счисления:Десятичную – просто ПодвохПрограммист для красоты выровнял колонку цифр. И десятичное 37 превратилось в восьмеричное 037 == 31. ARMAdvanced RISC Machines – британская компанияARMv1.. ARMv9 – архитектуры ЭВМARM2...ARM11 и Cortex Что же такое «архитектура компьютера»?Это сочетание многих системных решений об устройстве компьютера, Что такое «битность»?32-битный компьютер обладает:32-битными регистрами32-битной шиной адреса32-битной шиной данныхВозможно, не все Типы архитектурCISC – Complex Instruction Set ComputerRISC – Restricted Instruction Set Computer Типы архитектур Архитектура ARMv7RISC-подобнаяНабор команд Thumb-2 (совместим с Thumb из ARMv4)32 битафон Неймановская память Набор команд Thumb 2Большая часть команд длиной 2 байта, есть команды в Регистры в ARM Cortex M3 Помните машину Тьюринга? Как выглядит ассемблер в KeilКоманда movs r0, #0x05 – поместить (от слова Подробнее о командеИтак, 0x080003A4 2005   MOVS  r0,#0x05означает «по адресу Подробнее о командеИтак, 0x080003A4 2005   MOVS  r0,#0x05означает «по адресу Структура команды (на примере  16-битной mov)0x2005 = 0010 0000 0000 0101Пять А какая вообще бывает адресация?Косвенность, теоретически, может наращиваться бесконечно - по адресу Абсолютная адресация в Cortex M3Команды имеют длину 2 или 4 байта. Адреса Косвенно-регистровая адресацияСинтаксис – квадратные скобкиLDR  R0, [R1,#0x00] – считать в регистр Немножко о компиляции языка СКаждый файл .c компилируется отдельно от остальных и А где в ассемблере учитывается тип?У команд есть вариации:W – word –
Слайды презентации

Слайд 2 Краткое содержание предыдущей серии
Что такое ассемблер?

Что такое процессорные

Краткое содержание предыдущей серииЧто такое ассемблер?Что такое процессорные регистры и зачем

регистры и зачем они нужны?

Как организована память?

Где хранится код?

А

как он при этом выглядит?

Слайд 3 Краткое содержание сегодняшней серии

Системы счисления

Что такое «архитектура» компьютера

Регистры

Краткое содержание сегодняшней серииСистемы счисленияЧто такое «архитектура» компьютераРегистры в ARM Cortex

в ARM Cortex M3

Набор команд Thumb 2

Способы адресации в

ARM Cortex M3


Слайд 4 Системы счисления
Что такое система счисления?
Метод записи чисел.

В зависимости

Системы счисленияЧто такое система счисления?Метод записи чисел.В зависимости от основания системы

от основания системы одна и та же запись означает

разное число:

1005 =

1002 =

2510

410


Слайд 5 Двоичная система
Широко применяется в информатике, программировании и т.д.

Двоичная системаШироко применяется в информатике, программировании и т.д. Но почему?Потому что


Но почему?

Потому что компьютеры очень удобно делать из двоичных

электронных компонентов.

Слайд 6 Двоичная система
Почему люди не пользуются двоичной системой?

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

Двоичная системаПочему люди не пользуются двоичной системой?По историческим причинамОтносительно небольшие числа

причинам

Относительно небольшие числа в ней записываются очень длинно:
10 0111

0000 11112 = 999910

Слайд 7 А программисту зачем двоичная система?

В низкоуровневом программировании бывает

А программисту зачем двоичная система?В низкоуровневом программировании бывает так, что число

так, что число не несет количественного смысла.

Вместо этого, каждый

бит в двоичном представлении числа имеет свой смысл.


Слайд 8 Что делать, если часто нужно считать в двоичной

Что делать, если часто нужно считать в двоичной системе?Нужно научиться быстро

системе?
Нужно научиться быстро переводить числа из одной системы в

другую.
Как?

Быстро делить в уме

Использовать специальный софт (напр., калькулятор windows)

Использовать шестнадцатеричную или восьмеричную систему

Слайд 9 Шестнадцатеричная система (hexadecimal)
В ней 16 цифр, 0..9, А,B,C,D,E

Шестнадцатеричная система (hexadecimal)В ней 16 цифр, 0..9, А,B,C,D,E и F.В языке

и F.

В языке С такие числа записываются с префиксом

0x:
0xFF

Но что все это дает?

Слайд 10 Шестнадцатеричная система (hexadecimal)
16 – это 24, поэтому каждая

Шестнадцатеричная система (hexadecimal)16 – это 24, поэтому каждая цифра в hex’е

цифра в hex’е – это 4 цифры в двоичной

системе!

И переводить числа очень легко:
0x1532

0001

0101

0011

0010

542610 перевести в двоичную систему в уме сложнее


Слайд 11 Если вам не легко
То нужно научится считать в

Если вам не легкоТо нужно научится считать в двоичной системе от 0 до F:

двоичной системе от 0 до F:


Слайд 12 В языке С
В языке С можно использовать три

В языке СВ языке С можно использовать три системы счисления:Десятичную –

системы счисления:

Десятичную – просто числа, без префиксов

Шестнадцатеричную – числа

с префиксом 0x

Восьмеричную – с префиксом 0

В некоторых компиляторах есть нестандартный префикс 0b для двоичной системы

Слайд 13 Подвох
Программист для красоты выровнял колонку цифр.
И десятичное

ПодвохПрограммист для красоты выровнял колонку цифр. И десятичное 37 превратилось в восьмеричное 037 == 31.

37 превратилось в восьмеричное 037 == 31.


Слайд 14 ARM
Advanced RISC Machines – британская компания
ARMv1.. ARMv9 –

ARMAdvanced RISC Machines – британская компанияARMv1.. ARMv9 – архитектуры ЭВМARM2...ARM11 и

архитектуры ЭВМ
ARM2...ARM11 и Cortex – микропроцессорные ядра

ARM не производит

физических устройств, только спецификации

Мы изучаем микроконтроллер STM32F103
ST Microelectronics – производитель чипа
32 – «битность»
F103 - серия

Cortex M3 – ядро (М – означает микроконтроллер) с архитектурой ARMv7


Слайд 15 Что же такое «архитектура компьютера»?
Это сочетание многих системных

Что же такое «архитектура компьютера»?Это сочетание многих системных решений об устройстве

решений об устройстве компьютера, концептуальная структура, которая включает в

себя

Набор ассемблерных команд (instruction set)
«Битность»
Тип памяти (Гарвард или фон Нейман)
Количество и назначение шин
Общие принципы работы
И т. д.


Слайд 16 Что такое «битность»?
32-битный компьютер обладает:
32-битными регистрами
32-битной шиной адреса
32-битной

Что такое «битность»?32-битный компьютер обладает:32-битными регистрами32-битной шиной адреса32-битной шиной данныхВозможно, не

шиной данных

Возможно, не все сразу – т.е. понятие это

несколько расплывчато.

Слайд 17 Типы архитектур
CISC – Complex Instruction Set Computer

RISC –

Типы архитектурCISC – Complex Instruction Set ComputerRISC – Restricted Instruction Set Computer

Restricted Instruction Set Computer


Слайд 18 Типы архитектур

Типы архитектур

Слайд 19 Архитектура ARMv7
RISC-подобная
Набор команд Thumb-2 (совместим с Thumb из

Архитектура ARMv7RISC-подобнаяНабор команд Thumb-2 (совместим с Thumb из ARMv4)32 битафон Неймановская

ARMv4)
32 бита
фон Неймановская память (единое адресное пространство)
13 регистров общего

назначения
Endianness (и еще многое) на выбор производителя


Слайд 20 Набор команд Thumb 2
Большая часть команд длиной 2

Набор команд Thumb 2Большая часть команд длиной 2 байта, есть команды

байта, есть команды в 4 байта (мнемоники единообразные)

Большая часть

команд выполняется за 2 такта (дольше – умножение, деление, множественная загрузка/сохранение и т.д.)

Только целочисленная арифметика


Подробности - ARMv7-M Architecture Reference Manual


Слайд 21 Регистры в ARM Cortex M3

Регистры в ARM Cortex M3

Слайд 22 Помните машину Тьюринга?

Помните машину Тьюринга?

Слайд 23 Как выглядит ассемблер в Keil
Команда movs r0, #0x05

Как выглядит ассемблер в KeilКоманда movs r0, #0x05 – поместить (от

– поместить (от слова move) в регистр R0 число

5

Слайд 24 Подробнее о команде
Итак, 0x080003A4 2005 MOVS

Подробнее о командеИтак, 0x080003A4 2005  MOVS r0,#0x05означает «по адресу 0x8003A4

r0,#0x05
означает «по адресу 0x8003A4 хранится: положить в регистр

R0 число 5»

А откуда берется число пять?
Оно лежит прямо в коде команды! 2005

Это называется «непосредственная» адресация (immediate)


Слайд 25 Подробнее о команде
Итак, 0x080003A4 2005 MOVS

Подробнее о командеИтак, 0x080003A4 2005  MOVS r0,#0x05означает «по адресу 0x8003A4

r0,#0x05
означает «по адресу 0x8003A4 хранится: положить в регистр

R0 число 5»

А где написано, что R0?
Тоже в команде! 2005

Это «регистровая адресация» – один из операндов – регистр и его номер указан прямо в команде.

Слайд 26 Структура команды (на примере 16-битной mov)
0x2005 =

Структура команды (на примере 16-битной mov)0x2005 = 0010 0000 0000 0101Пять

0010 0000 0000 0101

Пять старших бит показывают что это,

собственно, команда mov

Биты 10, 9 и 8 задают номер регистра

Биты с 7 по 0 задают непосредственный операнд

Поразительным образом все, что делает команда, указано прямо в команде!


Слайд 27 А какая вообще бывает адресация?
Косвенность, теоретически, может наращиваться

А какая вообще бывает адресация?Косвенность, теоретически, может наращиваться бесконечно - по

бесконечно - по адресу лежит адрес, по которому лежит

адрес, по которому...
(указатель на указатель на указатель...)


Слайд 28 Абсолютная адресация в Cortex M3
Команды имеют длину 2

Абсолютная адресация в Cortex M3Команды имеют длину 2 или 4 байта.

или 4 байта.
Адреса имеют длину 4 байта.
Как

же положить адрес прямо в команду?

А никак. В Cortex M3 такого способа адресации нет!

Что же делать?

Слайд 29 Косвенно-регистровая адресация
Синтаксис – квадратные скобки
LDR R0, [R1,#0x00]

Косвенно-регистровая адресацияСинтаксис – квадратные скобкиLDR R0, [R1,#0x00] – считать в регистр

– считать в регистр R0 значение, лежащее по адресу

«то, что в R1 + 0»

Смещение лежит прямо в команде и может быть от 0 до 4095.

Для адресации глобальных переменных часто используется регистр РС. Но почему?

Слайд 30 Немножко о компиляции языка С
Каждый файл .c компилируется

Немножко о компиляции языка СКаждый файл .c компилируется отдельно от остальных

отдельно от остальных и превращается в файл .o –

«объектный файл»

Линкер разрешает зависимости между файлами, проставляет вызовы функций

Линкер размещает объектные файлы в памяти

Вывод?
Линкеру удобно положить адрес переменной рядом с кодом, который к ней обращается. Если они в одном файле.


  • Имя файла: sistemy-schisleniya-chto-takoe-arhitektura-kompyutera.pptx
  • Количество просмотров: 118
  • Количество скачиваний: 0