Course logistics
- 13 weeks on campus class
- Classroom: Amphitheatre A3 – MI bloc
- Class meeting: Saturday 08h30 – 10h00 AM Tuesday 08h30 – 10h00 AM
- Teacher: Dr L. Saadi
- Reception hours: After class or by appointment
About the course:
This course is designed for the first-year engineer in the second term, it's titled “Computer architecture”, it is among the basics and elements of a computer.
This module aims to provide students with an in-depth understanding of computer architecture, combining theoretical and practical aspects. Pedagogical objectives include understanding the fundamentals of computer architecture, mastering the internal architecture of processors, analyzing and case-studying specific processors, and exploring modern processor architectures.
We will, also, study the architecture of a process and how the execution of an instruction happens and what we need for this operation. We will study different architectures including the 8086 machine, 80x86 machines and multicores architecture; their components, registers, presenting Information and interactions.
Using this type of machines, the students will learn the assembling language, they will learn how to write a program in a low language, compile it and execute it, and how use the components of the process directly in an instruction. After that they will study the stack and memory concept.
Aims and objectives:
The aim of this module is to bring the student closer to the operation of the machine and the understanding of a few system modules.
Master the elements of the computer generally and the elements of different types of processors to be able to resolve any problem requested as an engineer.
Learn the syntax of a machine language (assembling language) and master how it works. Students should be able to write programs, compile them and run them in machine language.
Practice all these studies using the 8086/80x86 machines via the emulator: emu8086 and other tools like NASM.
The students are expected to:
1/ know the structure of a computer, exactly the architecture of Van Neumann.
2/ Study the components of processor and how the information flows.
3/ differentiate between the different types of machine architectures.
4/ know how to create and develop a program from A to Z, and learn what means a process.
5/ study how the processor and OS manage the interrupts.
6/ learn the syntax of assembling language.
7/ learn how to use the instruction in assembling language by studying the 8086/80x86-instruction set.
8/ know how to write programs.
9/ take knowledge about procedure and interrupts and learn how write them in assembling language, exactly the use of the stack.
10/ Study the Multicore processors and their architecture,
11/ after all that, the students are expected to have abilities to write their program using a low-level language and approach to basic components of a computer.
Further Long -term objectives include
1/ The students must be capable to manage their machine and know the origin of all operation and they can explain what happen in the background of the hardware and software they have.
2/ prepare the students to learn more about the execution of an instruction by mastering the assembling language.
3/ Give more opportunities to the student to solve important and very accurate problems in a computer, even they can program their own chipsets.
Prerequisites for the course:
The students are required to:
1/ study the concepts of algorithms.
2/ master the binary language.
3/ program with the C language
Course elements: The course has
1/ tow lectures in the week
2/ one tutorial class in the week
3/ and one practical class in the week using the emulator emu8086 and NASM tools.
Attendance policy:
The attendance is important in the lecture class because the information will be very important to follow the tutorial and practical classes with the reason that the handout of the course doesn’t contain all details and explanations. Also, there will be some examples and problems done in the lecture class.
Communication protocol:
Students can contact the teacher by her email l.saadi@univ-batna2.dz
Grading and evaluation policy:
This course will be based on the following weightings:
1/ Continuous assessment calculated by formula: mark of tutorial class /20 + mark of practical class/20
Mark of tutorial class:
- Application exercises and assignments: 02/ 20
- Classroom presentations: 08/ 20
- Term exam : 10 / 20
Mark of practical class:
- Application exercises and assignments: 02/ 20
- Classroom presentations: 08/ 20
- Term exam : 10 / 20
2/ the final exam /20
Syllabus of the course:
Chapter 1: General organization of a computer's central processing unit (Computer basics, Essential components, Basic architecture, Harvard model and Von Neumann model, processor, memory, bus)
Chapter 2: Internal processor architecture (registers, arithmetic and logic unit, control unit, instruction set, Addressing mode)
Chapter 3: Internal program structure (program creation, translation, link editing, loading, instruction execution, memory structure, interrupts.)
Chapter 4: Case study: Intel 8086 processor (source file structure, directives, transfer instructions, arithmetic instructions, logic instructions, jump instructions, procedure, interrupts, etc.)
Chapter 5: Case study: 32 bits and 64-bit processors (Introduction, registers, Advanced addressing modes, instruction set, Instruction execution cycle, etc.)
Chapter 6: Recent processor architectures (multi-core and parallelism, Cache memory and memory hierarchy)