Микропроцесорски системи/Пробни тест 2022
Пробни тест 2022. године дат је на почетку семестра на Moodle курсу предмета и на њему је дато градиво целог предмета, као припрема за теорију на испиту.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
Задатак 1
Која вредност се налази у регистру R1 након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у C програмском језику ширине 32 бита.
mov r0, 4
mov r1, 7
cmp r1, r0
iteet eq
subeq r1, r1, r1
subsne r1, r0, r0
addsne r1, r1, r1
addeq r1, r0, r0
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:
0x00000001
Одговор: 0x00000008
Објашњење: На почетку програма регистру R0 додељује се вредност 4, а регистру R1 вредност 7. Затим се та два регистра упоређују, па се прелази на извршавање инструкција које зависе од једнакости (бит Z у програмском статусном регистру је 1 када су два регистра једнака). Прва инструкција у низу, subeq
, не извршава се јер претходно упоређени регистри нису били једнаки. Инструкција subsne
се, из истог тог разлога, извршава, па се у регистар R1 уписује разлика регистара R0 и R0, односно нула. Како ова инструкција има суфикс s
, значи да се у програмској статусној речи бит Z сада поставио на 1, па се инструкција addsne
неће извршити, док инструкција addeq
хоће, уписујући збир R0 и R0 у регистар R1, односно вредност 8. Релевантна страница у Cortex-M3 Programming Manual је 56 (3.3.7 Conditional execution).
Задатак 2
Kоја је bit band alias адреса бита 3 (бит најмање тежине је бит 0) унутар бајта који се налази на aдреси 0x20000001 SRAM-а?
Одговор унети према формату неозначених хексадецималних литерала у C програмском језику ширине 32 бита.
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:
0x00000001
Одговор: 0x2200002C
Објашњење: Почетна адреса SRAM је 0x20000000, тако да је 0x20000001 бајт број 1 у том региону. Према формули са странице 28. у Cortex-M3 Programming Manual, bit band alias адреса рачуна се као , тако да у овом случају добијамо .
Задатак 3
Који пинови микроконтролера STM32F103R6 могу да се користе као пинови чија одговарајућа промена окида односно стартује бројање на тајмеру 2 (TIM2)?
- PA1
- PA15
- PA3
- PA0
- PA14
Објашњење: На страни 179 од STM32F103 Reference Manual можемо видети све могуће пинове за канале TIM2 као и пинове за спољашње окидаче. На дијаграму на страни 367. може се видети да у сигналу TRGI могу да учествују сигнали са TIMx_ETR
, као и TIMx_CH1
и TIMx_CH2
(преко TI1FP1 и TI1FP2). Из овог разлога, бирамо као одговор све понуђене пинове у табели са стране 179 а који се налазе у реду TIM2_CH1_ETR
или TIM2_CH2
.
Задатак 4
Колика је максимална радна фреквенција (HCLK) микроконтролера STM32F103R6 уколико се користи HSI осцилатор? Одговор унети изражен у мегахерцима без навођења ознаке јединице.
Одговор: 64
Објашњење:
Одговор се може наћи испод слике на страни 93 од STM32F103 Reference Manual:When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is 64 MHz.