The aim of the course is to familiarise students with the operation of computers and peripherals, the main interfaces, with particular emphasis on machine instruction execution and machine data types.
Computer Architectures I (GAINBAN-SZAMARC1-1)
Basic data
Instructors
Course objectives
Course content
Lectures
1. Number systems, conversions (2,8,10,16; whole parts and fractions). Representation of unsigned integers (2,16). Number range for 8, 16, 32, 64 and N bits. MSB, LSB. Representation of signed integers in two's complement code (2, 16). Range of numbers for 8, 16, 32, 64 and N bits. Sign expansion, determining (-1) times of a number, related instructions. 2. Floating point number notation (IEEE-754). The normalized form. Binary representation of the sign ("natural") exponent. Implicit and explicit bit representation. Structure of a number in the 32-bit case. 3. Floating point register/stack organization, operation, RPN formula. Useful floating point constants. 4. BCD number representation (packed, unpacked, tetrad, pseudo-tetrad, half-byte carry). Support for BCD arithmetic at ISA level. Two's complement code addition/subtraction for multi-bit operands. Carry bit, sign bit, overflow bit, zero sign, borrow bit. 5. Number of logic functions with N variables. Functionally complete system. Boolean algebra. Algebraic simplification of logic functions. Writing the algebraic form of a logic function given by a truth table, implementation. Logical statements. 6. Main parts of the Neumann machine, their functions. Program area, data area. Stack area. B/K handling. Concept of self modifying code. The Harvard machine. Machine instruction execution flow on the Neumann machine. ILP and pipeline, hazards (WAW, WAR, RAW, RAR) and their handling. Unconditional branching, conditional branching after comparison instruction, conditional branching by state bits, conditional and unconditional procedure call and return, role of stack. 7. Static and dynamic branch prediction, implementation with finite state machine. Vector interrupt system and its operation. Maskable and non-maskable interrupt, software interrupt, interrupt instructions. Interrupt and exception. Structure of machine instructions (four address, three address, two address, 1.5 address, one address, zero address). RISC and CISC. Four address machine and microprogrammed controller. 8. SRAM and DRAM organization and addressing. Parity protected main memory. Error correction code protected main memory (SECDED ECC). Possibilities of bus design, comparison (TP, OC, TS). Data transfer in synchronous and asynchronous bus, examples. The concept of bus arbitration (decentralised, centralised, priorities). 9. Main parts of the 1-bit ALU (decoder, logic executor, aggregator, inputs, outputs) and schematic circuit diagram. Memory hierarchy (capacity, access time). Principles of cache operation, calculation of average access time, cache organisation methods, operation in read/write. Digital comparator schematic example, caching application. 10. Data storage on moving magnetic media (read/write, organisation, application). Increasing reliability (RAID). HDD and SSD. 11. Possibilities and limitations of increasing computing power. MIPS and FLOPS. Possibilities and limitations to reduce electrical power consumption. From high-level language to HW implementation of machine instructions with examples (levels, languages, virtual machines, interpreter, compiler). 12. Midterm Task for lecture part 13. Midterm Task retake for lecture part
Labs
1. Introduction to Assembly programming in Visual Studio part 1: C++ repetition, Assembly settings, project creation and tools 2. Introduction to Assembly programming in Visual Studio part 2: Differences between types of Assemblers with examples 3. Basic instructions: data movements, arithmetic and logical instructions 4. Branching and loop instructions 5. Pointers, arrays, multi-dimensional arrays in assembly (using direct, indirect memory addressing) 6. First Midterm Task 6. Procedures and functions: methods, calling conventions 7. Call C/C++ functions inside assembly language 8. FPU instructions, RPN formula usage inside code 9. Connect FPU and non-FPU instructions with examples, complex task solving with assembly 10. Complex task solving with assembly part 1. 11. Complex task solving with assembly part 2. 12. Second Midterm Task 13. Retakes of the Midterm Tasks
Acquired competences
Knowledge
- He/she knows the operations of hardware and software elements, the technology of their implementation, how to solve problems related to their operation and the possibilities of the interconnection of IT and other technical systems. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.
Skills
- He/she is abile to specify and implement embedded systems using the knowledge gained from his/her studies. He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she cooperates with other computer science engineers, electrical engineers during team work, and with other experts during the analysis and solution of a problems. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.
Attitude
- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she aims to see through the entire engineering system not only his/her own field. - He/she makes an effort to work efficiently and to high standards.
Autonomy and responsibilities
- He/she feels responsible for IT systems analysis, development and operation, both individually and as part of a team. - He/she reveals the weaknesses of the technologies applied, risks of processes and initiates measures which reduce them.
Additional professional competences
- Efficient use of digital technology, knowledge of digital solutions to fulfill educational objectives
Requirements, evaluation and grading
Mid-term study requirements
Scoring papers, study of the subject material. Criteria for awarding a practical grade: based on the sum of the marks awarded for the papers and the study, in accordance with the Regulations on Studies and Examinations. Criteria for awarding a signature: based on the sum of the marks awarded for the papers and the study, min 50% needed from the overall summation, in accordance with the Regulations on Studies and Examinations. Offered grade is possible in accordance with the Regulations on Studies and Examinations.
Exam requirements
Exam is 60 minutes long, paper-based. 100 points can be given, and the grading is possible at min. 50 points. Other grades are stated in the Regulations on Studies and Examinations.
Generative AI usage
2nd position: The use of GAI tools is permitted when solving tasks, but a declaration about their use is mandatory. This means that GAI tools can be used when creating or solving formative or summative assessment elements, but a declaration about their use is mandatory.
Study aids, laboratory background
Subject materials published on Teams channels, Visual Studio 2026 is needed for the practical part.
Readings
Compulsory readings
Jim Ledin: Modern Computer Architecture and Organization - Second Edition: Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers 2nd ed., ISBN: 978-1803234519, Packt Publishing, 2022.
Recommended readings
A. S. T. Tanenbaum: Structured Computer Organization (6th Edition), Prentice Hall, 2013. ISBN-13: 978-0-13-291652-3