<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://andromeda.df.lu.lv/wiki/index.php?action=history&amp;feed=atom&amp;title=MCU-bitl21</id>
	<title>MCU-bitl21 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://andromeda.df.lu.lv/wiki/index.php?action=history&amp;feed=atom&amp;title=MCU-bitl21"/>
	<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MCU-bitl21&amp;action=history"/>
	<updated>2026-05-13T14:08:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MCU-bitl21&amp;diff=10198&amp;oldid=prev</id>
		<title>Leo: Created page with &quot;__NOTOC__ &lt;!--{{TocRight|2}}--&gt; &lt;big&gt; &#039;&#039;&#039;Shortcuts:&#039;&#039;&#039;  Calendar |   Assignments |   Resources |  #{{CURRENTDAY2}}.{{CURRENT...&quot;</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MCU-bitl21&amp;diff=10198&amp;oldid=prev"/>
		<updated>2022-08-28T19:05:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ &amp;lt;!--{{TocRight|2}}--&amp;gt; &amp;lt;big&amp;gt; &amp;#039;&amp;#039;&amp;#039;Shortcuts:&amp;#039;&amp;#039;&amp;#039; &lt;a href=&quot;#Calendar&quot;&gt; Calendar&lt;/a&gt; |  &lt;a href=&quot;#Assignments&quot;&gt; Assignments&lt;/a&gt; |  &lt;a href=&quot;#Resources&quot;&gt; Resources&lt;/a&gt; |  #{{CURRENTDAY2}}.{{CURRENT...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;!--{{TocRight|2}}--&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Shortcuts:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Calendar | Calendar]] | &lt;br /&gt;
[[#Assignments | Assignments]] | &lt;br /&gt;
[[#Resources | Resources]] | &lt;br /&gt;
[[#{{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}} | Today &amp;lt;small&amp;gt;(if there is a class)&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Course: Introduction to Processors&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
===Introduction===&lt;br /&gt;
The course is about low level hardware architecture of the computers and the programming at that level. In particular, we study ARM Assembly programming language and techniques while discussing the microprocessor resources and features that implement the instructions. The students learn how to develop a code in Assembly and what to consider when implementing efficient programs in higher level languages. &lt;br /&gt;
&lt;br /&gt;
===Deliverables===&lt;br /&gt;
* All assignments are due by the end of the day on the due date, unless otherwise specified.&lt;br /&gt;
&lt;br /&gt;
=Calendar=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Topic, content&lt;br /&gt;
! Deliverables&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====03.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Introduction&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Microprocessors and microcontrollers. Applications. Architectures.  Coourse outline.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====14.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Hexadecimal arithmetic&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Representation of non-negative numbers in hardware, registers and memory. Decimal, binary, octal, and hexadecimal systems. Converting between the systems.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====17.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab :: Quiz 1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Practicing the conversion between the systems with different bases&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Quiz 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Decimal, binary, octal and hexadecimal systems. &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====21.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Two&amp;#039;s complement&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Representing negative numbers in hardware. Register size, and why it is important.  Methods for encoding negative numbers: packed, signed, bias, one&amp;#039;s complement and two&amp;#039;s complement. Converting between the value and two&amp;#039;s complement in binary and hexadecimal systems.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====24.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab :: Quiz 2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Exercises with the two&amp;#039;s complement&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Quiz 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Two&amp;#039;s complement.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====28.09.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Processor architecture&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Architecture of a processor. Registers, register file, ALU, datapath. CISC vs. RISC architectures.  x86 architecture as CISC representative. ARM architecture as RISC. Instruction encoding. &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====01.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Developing and testing a simple Assembly program.  Using cross-compilation tools. Introduction to the Make system.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====05.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Computing environment&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Environment and tools for compiling and debugging Assembly programs. Compiler, preprocessor, assembly, linker, loader, debugger. Cross-compilation and toolchains. Emulators and virtual machines.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====08.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Advanced features of the Make system.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====12.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;ARM Assembly and arithmetic&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Introduction to ARM Assembly language and programming. Instruction types. Arithmetic instructions.  MOV, ADD, SUB. MVN, ADC, SBC, RSB, RSC.  Barrel Shifter.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====15.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Evaluating and following the code &amp;quot;on paper&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====19.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Flow control and tests&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Flow control in Assembly.  Branch instructions. B, BL, BX, BLX. Working directly with PC register. CPSR flags. Condition field. Bit operations. AND, ORR, EOR, BIC, shift and rotation. CMP, CMN, TST, TEQ. Fast flags and the S postfix.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====22.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab :: Quiz 3&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Quiz 3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Code comprehension.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;HW1&amp;#039;&amp;#039;&amp;#039; - Arithmetic progression&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Memory instructions&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Reading and writing data to memory. Memory access instructions. STR, LDR, STRB, STRH, LDRB, LDRH, LDRSB, LDRSH. Addressing modes: offset, pre-indexed and post-indexed. Using barrel shifter with addressing. Data alignment in memory.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====29.10.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Debugging Assembly programs. Gnu debugger gdb.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====02.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Calling subroutines and interfacing with C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Variable types in C: static, automatic and dynamic. Calling subroutines and parameter passing conventions. Parameters and return value. Stack and registers. Saving the registers, the context. Loading and storing multiple registers: LDM, STM. Interfacing between Assembly and C.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====05.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Practice passing parameters and working with buffers.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Symbols&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Symbol encoding in hardware and software. Code tables. ASCII. EBCDIC. ISO code tables. Foreign letter symbols. UTF-8, UTF-16. Strings in C and memory. Converting values to symbols and strings.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;HW2&amp;#039;&amp;#039;&amp;#039; - Matrix multiplication&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Midterm&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Data representation in memory. &lt;br /&gt;
Assembly code comprehension. &lt;br /&gt;
Two programming tasks.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====16.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Expressions and Macro commands&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Expressions in Assembly. Operators in expressions. Constants. Assigning values to symbols.  Directives: .set, .equiv, .eqv. Conditional compilation. Directives .if, .ifdef, .endif., ifb, .ifc, .ifeqs. More conditionals .ifeq, .ifge, .ifne and others. Macro commands: .macro, .endm., .rept. Recursive macros. Local macros. Macros across sections.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;M1P1&amp;#039;&amp;#039;&amp;#039; - Midterm 1 programming task 1, tested&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;M1P2&amp;#039;&amp;#039;&amp;#039; - Midterm 1 programming task 2, tested&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====23.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Inline Assembly&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Including Assembly in C code. Inline code and Assembly code operands. Tasks for the compiler, linker and loader.  Dynamic loaders and libraries. &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Midterm review.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====30.11.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Optimizations&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Execution time for instructions. Case study for code optimization. Leveraging the documentation and specification of instructions. Reordering the code. Unrolling loops.  Taking advantage of branch prediction. Cache memory and the code performance.&lt;br /&gt;
&lt;br /&gt;
Documentation: [http://download.intel.com/design/intelxscale/27347302.pdf Intel XScale R Core Developer’s Manual]. &lt;br /&gt;
&lt;br /&gt;
The section and focus:&lt;br /&gt;
* A.2.1.2 — Processor execution pipe diagram. Instruction and data flow description.&lt;br /&gt;
* 10.4 — Instruction execution time. For example, multiplication vs. addition.&lt;br /&gt;
* 5 — Branch prediction mechanism&lt;br /&gt;
* 4 and 6 — Cache memory. Instruction cache and Data cache.&lt;br /&gt;
* A.3–A.5 — Optimizations as suggested by Intel.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Due: Choose the format of your exam: Project vs. Test.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====03.12.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lab&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Review of the course topics&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13-22.12.2021====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Exam week&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Time for exams&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====16.12.2021====&lt;br /&gt;
11:10&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Exam&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Data representation in memory. &lt;br /&gt;
Assembly code comprehension. &lt;br /&gt;
Multiple choice questions and a programming task.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due by midnight&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;ExP1&amp;#039;&amp;#039;&amp;#039; - Exam programming task, tested&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Due by midnight&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Proj&amp;#039;&amp;#039;&amp;#039; - Project&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Assignments=&lt;br /&gt;
* Homeworks are available from e-Studijas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MCU_resources}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
</feed>