|
||||||
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 first semester of the academic year 2023/2024. 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 and Operting Systems. Additionally, subjects related to programming. The required working environment needs a Personal Computer based on processors x86-64 (Intel 64 or AMD 64) and the Operating System to be executed is Linux of 64 bits. The proposed version of the OS is Linux Mint of 64 bits (based on Ubuntu), but it is available to use others versions of Linux of 64 bits. The programming languages are: C and assembler x86-64.
|
||||||
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
|
||||||
|
||||||
The student will be able to access to the material available in electronic format. Additionally, the student will find examples of final practical projects (Pr) and continuous assessment activities (CAA) of previous courses, as well as, other support tools in 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 students' own work and the assumption that this work is original and has been carried out by them. In assessment activities, the following irregular behaviours, among others, may have serious academic and disciplinary consequences: someone else being involved in carrying out the student's assessment test or activity, or the work being not entirely original; copying another's work or committing plagiarism; attempting to cheat to obtain better academic results; collaborating in, covering up or encouraging copying; or using unauthorized material, software or devices during assessment. If students are caught engaging in any of these irregular behaviours, they may receive a fail mark (D/0) for the assessable activities set out in the course plan (including the final tests) or in the final mark for the course. This could be because they have used unauthorized materials, software or devices (e.g. social networking sites or internet search engines) during the tests, because they have copied text fragments from an external source (internet, notes, books, articles, other student's projects or activities, etc.) without correctly citing the source, or because they have engaged in any other irregular conduct. In accordance with the UOC's academic regulations , irregular conduct during assessment, besides leading to a failing mark for the course, may be grounds for disciplinary proceedings and, where appropriate, the corresponding punishment, as established in the UOC's coexistence regulations. In its assessment process, the UOC reserves the right to:
|
||||||
|