Home » Bachelor » Internet of Things, Big Data, Machine Learning » Study Plan » COMPUTER ARCHITECTURE
Teachers
Scoring criteria are listed in https://www.uniud.it/it/didattica/corsi/area-scientifica/scienze-matematiche-informatiche-multimediali-fisiche/laurea/informatica/studiare/criteri.pdf
architectures. To better highlight the relations between the hardware and software level, the course deals with assembly programming, digital circuit design, and a low-level explanation of an IoT architecture.
The expected learning outcomes are, as reflected in the following Dublin Descriptors. (Skills related to the disciplines)
Core skills
1.1 Knowledge and comprehension skills: past the exam, students will understand how computer hardware works; furthermore they will know the main factors that influence the performance of a computer.
1.2 Knowledge and comprehension applied skills: the laboratory activity
will allow students to get used with the low-level design of both simple digital systems and programs in machine language, i.e. directly executable by the computer.
Soft skills
2.1 Judgement skills: students will learn tools for evaluating with ponder and choosing a hardware architecture.
2.2 Communication skills: students will learn the exact meaning of the different words used for properly describing characteristics and specifications of a computer.
2.3 Learning skills: the course aims at providing a conceptual framework, precise enough to secure a detailed study of the diverse components finding place in a computer.
– Logic Circuits: logic gates, Boolean algebra, most frequently used combinatorial circuits, synthesis of sequential circuits, memory chips.
– Data Representation: binary representations, conversions, integer and
floating-point numbers, character representation, error detection and correction.
– Processor: fetch-decode-execute cycle, data path, control unit, pipeline,
superscalar processor, branch prediction, MIC meta-processor, Intel Core and AMD ARM in few
words.
– Machine language: evolution, data types, addressing, instruction types,
instruction formats.
– Input/Output: programmed I/O, Interrupt, direct memory access, peripheral devices, bus, bus arbitration, strobe control, PCI, SCSI, USB.
– Memory hierarchies: cache memory, virtual memory, pagination and segmentation, MMU.
– Assembly programming: ARM architecture. ARM assembly: assignment,
branch instructions, arithmetic and logic instructions, subroutines.
– The Arduino board architecture and its Assembly programming for IoT applications.
Laboratory
The course consists also of 24 hours of laboratory activity. Subjects of this activity are the design of digital circuits and programming in assembly language by using the LogiSim and ARMsim software.
Laboratory program:
– L1: Introduction to the laboratory and application installation
– L2: Combinatorial circuits in Logisim
– L3: Decoders and multiplexers
– L4: Adder
– L5: Design of sequential circuits 1
– L6: Design of sequential circuits 2
– L7: Design of sequential circuits 3
– L8: ARM Assembly: introduction to ARMSim, examples of arithmetic
– L9 Assembly ARM: Arrays
– L10: ARM assembly: procedure call
– L11: Assembly ARM: file access
– L12: Assembly ARM: creation and management of simple lists.
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: dmif@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)