Computer Architecture
Faculteit  Science and Engineering 
Jaar  2021/22 
Vakcode  WBCS01005 
Vaknaam  Computer Architecture 
Niveau(s)  propedeuse 
Voertaal  Engels 
Periode  semester I b 
ECTS  5 
Rooster  rooster.rug.nl 
Uitgebreide vaknaam  Computer Architecture  
Leerdoelen  At the end of the course, the student is able to: 1) Discuss the main concepts, design techniques, issues, and solutions across the abstraction layers of modern computer architectures; 2) Apply the acquired knowledge in order to solve basic design problems in computer architecture; 3) Describe the basic concepts of structured information storage and the techniques to get the information in and out of the computer. 

Omschrijving  In this course we start with binary representation, transistors, logic gates & digital circuits, latches & memory circuits, and Finite State Machines. We cover the von Neumann model of computing, and then use all these tools to understand thoroughly the Instruction Set Architecture of a simple computer, the LC3. At the same time, we will also be learning assembly language programming of the LC3. This course comprises two parallel tracks: i) Machine Organization, which will be developed in lecture; and ii) Assembly Language Programming, which you will learn in lab. Machine Organization topics (Lectures): ● Microprocessors and their Instruction Set Architectures ● Overview of Assembly Language programming ● The binary representation of information: numbers, text, images, states, instructions ● Mathematical logic and Boolean algebra; transistors and simple logic gates ● Combinational Logic circuit design ● Storage circuits and memory ● Finite State Machines ● The von Neumann model of computing ● The data paths implementing the ISA of the LC3 processor ● Basic Input/Output (polling); memory mapping ● I/O by Interrupt ● Making the leap from assembly to Higher Level Languages Assembly Language Programming topics (Labs): ● The LC3 instruction Set ● Use of conditional & unconditional branches to create basic control structures ● Basic I/O ● Representing and manipulating character data ● Representing and manipulating numeric data (integer data type) 

Uren per week  
Onderwijsvorm  Hoorcollege (LC), Opdracht (ASM)  
Toetsvorm 
Opdracht (AST), Schriftelijk tentamen (WE)
((The final course grade is calculated by the formula g = max(e, 0.6*e + 0.4*a), iff e >= 5.0; g=e otherwise, where g: final grade, e: written exam grade, a: assignments grade. A minimum of 5.0 (before rounding) on the written exam (e) is required to pass the course. Please find more information in the remarks section.)) 

Vaksoort  bachelor  
Coördinator  prof. dr. ir. G. Gaydadjiev  
Docent(en)  prof. dr. ir. G. Gaydadjiev  
Verplichte literatuur 


Entreevoorwaarden  Imperative Programming (INBIMP09): basic programming concepts Introduction to Computing Science (INBOI08): Turing machine, data representation Introduction to Logic (WPAI14002): Boolean algebra, normal forms 

Opmerkingen  Final course grades (g) are rounded up to the next .5 point, except from grades in the [5.0,5.5) interval that are rounded down. With respect to the assignments grade (a), the overall assignment grade is calculated as a weighted sum of each assignment result. All CS bachelor courses have limited enrollment:  CS students can always enter each course, regardless of whether the course is mandatory for them or not.  A maximum of only 20 places per course is available for nonCS students. These places are filled on a firstcomefirstserved basis, with priority given to students with a strong CSrelated background (e.g., CS exchange students, AI students, etc.). These students need to meet the course prerequisite requirements as mentioned on Ocasys. Six weeks before the course starts, the 20 students that can join are selected and added to the course. If you enroll after this date, you will be placed on the waiting list. For more info about the enrollment procedure, see https://student.portal.rug.nl/infonet/studenten/fse/programmes/bsccs/general/vakintekeningprocedure#cap 

Opgenomen in 
