Computer Structure Code:  22.630    :  6
View general information   Description   The subject within the syllabus as a whole   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the second semester of the academic year 2022/2023. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.
The objective of Computer Structure is to extend the vision of the basics of computer architecture and organization in order to describe the low-level language (assembly language). The computer programming will be performed in assembly language with calls to I/O functions in C. The student will learn to develop subroutines in assembly language and to add calls to these functions in higher-level languages using their own structures in C language.


This subject has a strong relation with the optional subject of Fundamentals of Computers. 

Computer Structure expands the knowledge on the hardware components that a programmer needs to know to successfully perform her tasks, such as, information processing in a computer.


The established prerequisite to study Computer Structure is the optional subject Fundamentals of Computers.

Computer Structure extends the concepts that have been seen in Fundamentals of Computers. Therefore, we assume that the student has acquired the basic knowledge such as: data representation and numbering systems; the different types of digital circuits; the basic structure of a computer; computer algorithms and programming fundamentals.


The course needs the background knowledge of the optional subject Fundamentals of Computers.


Specific Bachelor Computer Engineering 

 [13] Competence to identify the computer elements and the functional principles of a computer. 
 [14] Competence to analyse the computer architecture and organization systems and network applications. 
 [15] Identify emerging communication technologies and their application to design and develop solutions based on information systems and information technologies.

Subject competences 

- Ability to analyse and synthesize.
- Problem solving. 
- Ability to plan and organize.
- Good written communication skill. 
- Critical reasoning. 

 Any professional career related to this subject will need, at the same time, the knowledge related to hardware. Therefore, the main goal is to learn necessary concepts to understand what a computer is and to be able to develop any professional activity using it.


The learning units are the following: 

Unit 1: The computer 

Section 1. The computer 
Section 2. The Von Neumann Architecture
Section 3. The Harvard Architecture 
Section 4. The evolution of computers 

Unit 2: Instructions set 

Section 1. Instructions set 
Section 2. Addressing modes

Unit 3: The processor
Section 1. Organisation of the processor 
Section 2. Instruction execution cycle 
Section 3. Registers 
Section 4. Arithmetic logic unit
Section 5. Control Unit
Section 6. CISC and RISC computers 

Unit 4: Memory System

Section 1. Memory features
Section 2. Memory Hierarchy 
Section 3. Cache Memory 
Section 4. Internal memory 
Section 5. External memory 

Unit 5: I/O System 

Section 1. Basic aspects of the I/O 
Section 2. Programmed I/O 
Section 3. I/O with interruptions by interrupts 
Section 4. I/O with direct memory access 
Section 5. Comparison of I/O techniques 

Unit 6: Assembly programming (x86-64) 

Section 1. Computer architecture
Section 2. Programming languages 
Section 3. The assembly language for x86-64 architecture 
Section 4. Introduction to the C language 
Section 5. Programming concepts in assembly language and C 

Unit 7: CISCA Architecture

Section 1. Computer organisation 
Section 2. Instruction Set 
Section 3. Format and encoding instructions 
Section 4. Execution of instructions


Logic and Boolean algebra PDF
Information representation PDF


The student will be able to access to the material available in electronic format in the section "Material". Additionally, the student will find examples of final projects (Pr) and continuous assessment activities (AC) of previous courses, as well as, other support tools, in the section Tools. Both sections can be found in the space of Resources of the Virtual Classroom. 

Besides, this course will use the following support tools: 

1. The necessary software for the final project: Virtual machine (VM) with the operating system Linux Mint (based on Ubuntu) of 64 bits with the necessary tools to perform the practical work. This virtual machine can be executed on top of any operating system already installed in the students¿ computer (Windows, Linux and Mac OS).

 2. The required tools will be: 

- Text editor (geany) 
- Assembler (yasm) 
- Linker (ld) 
- C compiler (gcc) 
- Debugger (kdbg)


The assessment process is based on the student's personal work and presupposes authenticity of authorship and originality of the exercises completed.

Lack of authenticity of authorship or originality of assessment tests, copying or plagiarism, the fraudulent attempt to obtain a better academic result, collusion to copy or concealing or abetting copying, use of unauthorized material or devices during assessment, inter alia, are offences that may lead to serious academic or other sanctions.

Firstly, you will fail the course (D/0) if you commit any of these offences when completing activities defined as assessable in the course plan, including the final tests. Offences considered to be misconduct include, among others, the use of unauthorized material or devices during the tests, such as social media or internet search engines, or the copying of text from external sources (internet, class notes, books, articles, other students' essays or tests, etc.) without including the corresponding reference.

And secondly, the UOC's academic regulations state that any misconduct during assessment, in addition to leading to the student failing the course, may also lead to disciplinary procedures and sanctions.

The UOC reserves the right to request that students identify themselves and/or provide evidence of the authorship of their work, throughout the assessment process, and by the means the UOC specifies (synchronous or asynchronous). For this purpose, the UOC may require students to use a microphone, webcam or other devices during the assessment process, and to make sure that they are working correctly.

The checking of students' knowledge to verify authorship of their work will under no circumstances constitute a second assessment.


This course can only be passed by taking a final exam (EX), whose mark is combined with the final mark of the compulsory practical (Pr). If the final practical mark is different from N (absent), the course mark will be different from N (absent). The continuous assessment mark (CA) complements the combined mark of the final exam (EX) and the practical (Pr). The formula for accrediting the course is as follows: (EX + Pr) + CA.