Computer Architecture
- Overview
- Assessment methods
- Learning objectives
- Contents
- Full programme
- Teaching methods
- Contacts/Info
No specific technical or scientific knowledge is required. It is only suggested a good basic knowledge of mathematical and physical concepts coming from high school courses.
Comprehending written English is useful to get access the huge amount of available documentation.
The main objective of the final exam is to verify the knowledge, abilities, and skills described in the Course Objectives section, by evaluating the knowledge level and the practical abilities of each student in solving real problems.
The learning is verified by 2 hours written test dispensed in traditional rooms, without the help of books, slides or notes. The written test includes 4 or 5 exercises. Every exercise refers clearly to one specific argument and learning objective.
The final mark is expressed in a 0 to 30 scale.
The course provides the minimum knowledge and skills that are necessary to design electronic computer components. All the topics for the course are selected starting from a consolidated tradition in teaching computer architectures, where the computing machine is seen as a hierarchy of layers, involving abstract and/or concrete machines.
In detail, the course aims at providing the following competencies:
1. fundamentals of logic electronic circuits and the related design skills;
2. the knowledge of the basic computer hardware organization;
3. the basic understanding of the functionality provided by hardware and used by operating systems and application programs at the memory level;
4. the basic knowledge of a real machine, namely the MIPS CPU.
Hence, the student acquires knowledge and ability to understand, with reference to:
• building principles and characteristics of memory circuits commonly used in electronic computers;
• building principles and characteristics of cache memory circuits;
• building principles of elaboration units (datapaths) and control units.
The skills and applied knowledge acquired by the student at the end of the course are the following:
• ability to analyze, design and optimize combinatorial circuits, both using Boolean algebra and using library components;
• ability to evaluate the performance of simple circuits;
• skills in analyzing, designing and optimizing sequential circuits, possibly using library components;
• elementary ability to performance analysis of cache memories;
• ability to evaluate trade-off concerning design issues involving cost of design, cost of components and performance.
The ability to relate techniques, methods and tools to the characteristics of computer organization and components –developed throughout the course– enables students to understand and learn new techniques, methods and tools, as well as to adapt and refine their knowledge and skills.
Moreover, the student will be able to use properly the circuit and computer component description notations, and he/she will adopt the correct computer design English terminology and slang.
The following topics will be addressed:
• Layered computer architecture (Lesson: 14h + Exercise: 4h – Objective 1)
o Main concepts and components for a computer
o Binary representation of characters and other types of information
o Boolean algebra. Equivalence of Boolean operators and logic ports
• Combinatorial and Sequential circuits (Lesson: 20h + Exercise: 10h – Objective 2)
o Synthesis, normal forms, Karnaugh maps
o Combinatorial library circuits; ALU; synthesis of combinatorial circuits via library components
o Flip-flop, sequential library components. Design of sequential circuits
• Memories and building memories (Lesson: 10h + Exercise: 6h – Objective 3)
o Memory hierarchy and main principles (Cache memory)
o Virtual memory and Paging
• Building a data path (Lesson: 12h + Exercise: 4h – Objective 4)
o Single-cycle CPU
o Multiple-cycle CPU
o Hardwired and microprogrammed Control Unit.
See section Contents.
The course is composed of lessons (56 hours) and exercise sessions (24 hours) in traditional rooms, as illustrated in the Course Content section of this syllabus.
Lessons provide the students with all the theoretical skills to understand and solve real problems in building computer architectures. Exercise sessions provide the students with practical application of theoretical topics in real contexts. Students autonomy will be the main key during exercise sessions.
The student is expected to work autonomously according to the equivalence 1 CFU = 25 hours.
Professor Office hours: by appointment.
Send an e-email to davide.tosi@uninsubria.it from students’ official uninsubria e-mail.