Computer Organisation (B-KUL-G0Q33C)
Aims
Upon completion of this course, the student will be able to …
- describe the differences and relationships between a high programming language, an assembly language and machine language,
- convert a program written in a high level language into assembly language,
- explain the components of a computer, both functionally and technologically,
- explain the working of a processor,
- understand the specs of computers and to interpret the numbers,
- explain the working of RAM, ROM and auxiliary memories and describe how they are technically realized,
- describe techniques that speed up the processor, such as cache memories and pipelines,
- understand and explain the working of software that supports the execution of other programs: assemblers, compilers, linkage editors, loaders, debuggers, etc.
- describe the different ways in which input and output can be organized,
- understand the components of an operating system and what their function is,
- explain the basic concepts of computer networks and communication,
- understand the different ways to represent both numerial and non-numerical data, and to perform operations on these numbers.
Practical work sessions:
In this learning activity, the concepts of the first chapter are thoroughly trained. After completing this activity the student is able to translate a C program into assembly language (DRAMA). The C program can specify both local and global variables, it may contain variables of different types; also the usual control structures (if, while, for, ...), functions and function calls (with parameters and return values) may be used. Moreover, dynamic data structures may be used. The student knows the working of the stack and the heap.
Previous knowledge
The student should be somewhat familiar with algorithms and data structures (cfr. any basic course on programming).
Identical courses
This course is identical to the following courses:
H01P5A : Computer Architecture and Software Systems (No longer offered this academic year)
H01P5B : Computer Architecture and Software Systems
X0E31A : Computer organization
X0A29B : Computer Organisation (No longer offered this academic year)
Is included in these courses of study
- Bachelor of Informatics (Leuven) 180 ects.
Activities
4 ects. Computer Organisation (B-KUL-G0Q33a)
Content
This course focusses on the main tool of the IT specialist: the computer system, which consists of hardware and software that manages the computer as efficiently as possible and makes it user-friendly and accessible to everybody. This course aims to provide students insight into what is under the "hood" of computer systems and how it works. Although some attention is given to technology, the emphasis lays on functional description.
The course consists of six parts:
- In the first part we study machine language and related assembly. At the same time, we also explain how a program written in a higher imperative programming language (i.c. the C language) must be converted into assembly language. We also study the execution environment for such a program.
- The second part of the course is more technologically oriented. We study the working of RAM and ROM and describe how they are realized by electronic circuits. Also auxiliary memory (hard disks, optical media such as CDs and DVDs and cartridges) are discussed. Computer buses are explained and some techniques introduced to speed up the computer such as cache memories and pipelines.
- Part three of the course is devoted to software: we study programs that are necessary to get other programs executed: assemblers, compilers, linkage editors, loaders, preprocessors, interpreters and debuggers are treated.
- The fourth part explains some concepts that are necessary to support a modern operating system: an interrupt mechanism, execution states and privileged instructions. Then we elaborate on how input and output operations can be organized, how the efficiency can be improved through multi-programming. This part ends with a functional description of the components of an operating system.
- Section five gives an introduction to computer networks. The OSI model is explained, and the complexity of communication software is illustrated by a designing a (simplified) protocol for data link layer. Some time is devoted to wireless communication (WiFi).
- The last part of the course deals with the representation of data in a computer and describes how this data can be processed. The emphasis is on numerical data, but the text also discusses how non-numeric symbols are represented.For the first part of the course, we use a hypothetical computer for which an assembly has been defined (DRAMA). The language is also used in parts 3 (basic software), 4 (operating systems) and 6 (data representation) to clearly illustrate concepts.An assembly program and a simulator is available so that DRAMA-programs can be translated and executed.
Course material
Syllabus:
Structuur en Organisatie van Computersystemen, parts 1-4, published by Acco.
Format: more information
Interactive lectures (in Dutch) where students are invited to contribute ideas and find solutions for simple problems.
2 ects. Computer Organisation: Exercises and Laboratory Sessions (B-KUL-G0Q34a)
Content
The exercises start with very simple C programs that the student needs to translate into assembly langauge (DRAMA). Gradually, the complexity of these C programs is increased. The following topics are handled: arrays and pointers, matrices and linearization, functions and function calls, functions with parameters and local variables, records (structs), list structures, dynamic allocation and macros.
Course material
The first chapter of the course text. Additional exercises may be distributed via Toledo.
Format: more information
During the exercise sessions, programming in assembly language is trained. The exercises focus on how simple and complex data structures and language constructs in a high level programming language (the language C) are translated into assembly language (DRAMA).
It is possible that the sessions will be organized online.
Students should solve part of the exercises before the sessions.
Evaluation
Evaluation: Computer Organisation (B-KUL-G2Q33c)
Explanation
Written, closed book exam for chapters 2 to 6.
For chapter 1, we use a variant of continuous assessment: There are two written tests scheduled during the semester. The first test will be organized in week 6 or 7, the second test in week 13. FOR THE EXACT DATES: SEE TOLEDO. Participation is mandatory! Anyone who does not attend the two tests, cannot and should not participate in the written exam.
The written exam counts for half of the points; the two tests count for the other half.
A student cannot "pass", with a total score for the 2 interim test that is lower than 3/10 or with a total score for the written exam that is lower than 3/10.
(E.g. 2/10 for the interim tests and 9/10 for the exam does not suffice to pass!)
If the evaluation indicates that the student has not sufficiently met one or several of the aims of the course unit, the global result may deviate from the weighted average of all subcomponents.
Information about retaking exams
During the third examination period, students can participate in a retake test which sustitutes for the two interim tests of the first semester. The retake test is required for those who missed one or both interim tests or who did not receive a total score of at least 3/10.
Students with a total score for these tests of at least 3/10, can choose whether or not to participate in the retake test. If you decide not to participate, the results of the interim tests are retained.
For the written retake test, which will be similar to the two interim tests, a formulary is provided.
There will also be an opportunity to retake the written (closed book) exam. It will be similar to the exam of the first examination period. Students who did not receive a total score of at least 3/10 in the first examination period, are required to retake the exam. If you decide not to participate, your score of first examination period will be retained.
IMPORTANT: Students who did not pass for this course, are assumed to redo both parts: the retake test and the written exam. Students who wish to retain one of the results, need to indicate their wish on a special forum that will be available on Toledo. You can unsubscribe for the retake test or the written exam up to 1 week before the test/exam. Failing to do so and subsequently not showing up at the test/exam will result in a "NA" score (not available) for that part, and hence, also "NA" as end result (since your exam is incomplete).
Note: The rule in the examination regulations stipulating the "preservation of the highest exam result" in the third examination period, will never be applied to partial results for this course (i.e. the points earned in the retake test always substitute for the points achieved with the interim tests, even if they are lower, the same applies for the exam).