• Где подробно описывается GPIO STN32?

    AlanDrakes
    @AlanDrakes
    Reference Manual - самый подробный вариант описания.
    Пользуюсь именно этим документом всегда.
    Ответ написан
    Комментировать
  • Что такое битность команды?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Битность команды - это сколько бит (обычно байт) она занимает.

    В зависимости от архитектуры процессора, команда может быть выполнена за один такт, если это позволяет разрядность процессора, или за несколько тактов.

    На 8-битном "псевдопроцессоре" можно предположить например такие команды

    Поместить 16-битное значение в регистр AX (двумя командами)
    mov AX, 0xFFFF ( 3 байта)
    lea 0x1234, AX (3 байта)

    Поместить 16-битное значение по 16-битному адресу (одной командой)
    lea 0x1234, 0xFFFF (5 байт)

    1) С точки зрения логики - в первом случае 2 команды, во втором одна команда - то есть вроде как второй случай должен работать в два раза быстрее.

    2) С точки зрения 8-битного процессора, в первом случае у нас 6 тактов, во втором 5 тактов, то есть быстрее не в два раза, а на 20%.

    3) С точки зрения логики 16-битного процессора, количество тактов меньше, но
    В первом случае 3 байта - два такта + 3 байта - еще два такта, 4 такта всего
    во втором случае 5 байт - 3 такта всего. Быстрее на 25%

    4) С точки зрения логики 32-битного процессора количество тактов еще меньше, при этом
    в первом случае 3 байта + 3 байта - 2 такта
    во втором случае 5 байт - 2 такта, разницы нет.

    Примеры выше - утрированы.
    Ответ написан
    3 комментария
  • Что такое битность команды?

    Therapyx
    @Therapyx
    Data Science
    вот хороший скрипт, то что тебе надо на 10-й странице
    users.ece.utexas.edu/~valvano/EE345M/Arm_EE382N_4.pdf
    Все разжовывать долго, а уже ночь ))
    82ab4bc5cacb44cba5e7e7f57cedf22f.png

    а насчет 16 битных инструкциях. Это ты скорее о Thumb instructions set.
    тут - https://stackoverflow.com/questions/10638130/what-... тут описаны плюсы, минусы итд)

    А так вот наглядный пример:
    ARM:
    mov r3, #0
    loop
     subs r0, r0, r1
     addge r3,r3,#1
     bge loop
     add r2, r0, r1

    => 5 * 4 байта = 20 байт.
    А теперь тоже самое на Thumb
    mov r3, #0
    loop
     add r3, #1
     sub r0, r1
     bge loop
     sub r3, #1
     add r2,r0,r1

    => 6 * 2 байта = 12 байт.
    Ответ написан
    4 комментария