CCOM 4086 - Computer Architecture 1

Draft syllabus


Field Value
Name Humberto Ortiz-Zuazaga
Office NCL A-150
Laboratory NCL A-158
Telephone 787-764-0000 x7430
Web page
Office hours Monday, Wednesday 8:00-9:30 AM
Tuesday 3:30-5:00 PM
or by appointment


In this course the student is exposed to critical issues of the architecture of modern computers. The main objective is to provide students the knowledge necessary to understand the logic of behavior of the main components of modern computers. Topics include the logical design, data representation, the different types of memory and its organization, registers, the CPU and its organization, construction and operation of buses, I/O devices and their interfaces. Different levels of abstraction of the computer architecture are studied: a logical level, the architecture of micro-level, level machine language, assembly language and operating system level. The course also examines the main features of CISC and RISC architectures.


  1. CCOM 3033 - Introduction to problem solving with programming


  1. Understand the instruction set of RISC assembly and a computer are represented as the instructions on the computer.
  2. Describe several types of memory used in a computer (eg, cache, main memory, virtual), their hierarchy, and function as part of the system.
  3. Understanding the communication process with input and output devices and different mechanisms for interfacing with the peripheral units.
  4. Understand the process of translation required for the execution of an instruction-level assembly language.
  5. Understand the main components in a modern computer
  6. Understand the main features of CISC and RISC architectures
  7. Describe the sequence of micro-operations required to complete the execution of an instruction-level machine language
  8. Understand the logic gates that are designed with the CPU: Boolean, multiplexers, decoders, flip / flops, registers
  9. Understand the methods of representation of numbers and how arithmetic is performed on computers
  10. Evaluate the performance of a computer and understand the factors affecting it.
  11. Understand the process of designing a computer from a single level of logic gates based on conditions of operation and instruction set.
  12. Understand some of the techniques used to improve the performance of a computer at the architectural (pipelining, multithreading, superscalar).
  13. Understand the effects of technology and its impact in individuals and society

Course schedule

Class will meet Tuesdays and Thursdays from 1:00 to 2:20 PM in NCL A-143. In UPR-RP attendance is compulsory.

Tentative course calendar

Date Topic Chapter Lecture Lab
Aug 11 Intro 1 - 2 Lecture 1 Data lab
Aug 13 Assembly 3.1 - 3.5
Aug 18 Control 3.6
Aug 20 Procedures 3.7
Aug 25 Arrays, Structures and Unions 3.8 - 3.9 Bomb lab
Aug 27 Pointers and GDB 3.10.1 - 3.10.2
Sep 1 Buffer overflow 3.10.3
Sep 3 Defending against buffer overflow 3.10.4
Sep 8 Y86-64 Instruction Set Architecture 4.1.1 - 4.1.2 Buffer lab
Sep 10 Instruction encoding 4.1.3
Sep 15 Logic gates 4.2.1
Sep 17 Combinational Circuits 4.2.2
Sep 22 Word level circuits 4.2.3 Architecture lab A
Sep 24 Memory and clocking 4.2.5
Sep 29 Exam 1
Oct 1 Stages of processing 4.3.1
Oct 6 A sequential implementation 4.3.2 Architecture lab B
Oct 8 Timing 4.3.3
Oct 13 Implementation 4.3.4
Oct 15 Pipelining 4.4.1 - 4.4.2
Oct 20 Implementing a pipeline 4.5.1 - 4.5.3 Architecture lab C
Oct 22 Branch prediction 4.5.4
Oct 27 Hazards 4.5.5
Oct 29 Stages and Control 4.5.7 - 4.5.8
Nov 3 Performance 4.5.9 Project outlines
Nov 5 Memory 6.1 - 6.2
Nov 10 Caches 6.3 - 6.4
Nov 12 Performance 6.6
Nov 17 Exam 2
Nov 19 Holiday Descubrimiento de PR
Nov 24 Holiday Thanksgiving
Nov 26 Holiday Thanksgiving
Dec 1 Project presentations
Dec 3 Project presentations

Instructional resources

The course will be hosted on the CCOM Moodle. Register and stay tuned for our polls and forum postings.


Computer Systems: A Programmer's Perspective, 3rd edition Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University


We will use the Y86-64 circuit and processor simulators distributed by the textbook authors.


Students work will be evaluated on a 100% basis with the standard curve.

  • Participation in course forums (online, classroom), 5% final grade
  • Homework and quizzes, 25% final grade
  • Two partial exams, 50% final grade
  • Project, 20% final grade

Reasonable accomodations for students

Students with disabilities properly registered with the Office of Affairs for Persons with Disabilities Oficina de Asuntos para la Persona con Impedimento (O.A.P.I.) should notify the professor at the start of the semester. The professor will make reasonable accommodations to support the student, in consultation with OAPI.

Academic integrity

The University of Puerto Rico promotes the highest standards of academic and scientific integrity. Article 6.2 of the UPR Student Bylaws (Certification JS 13 2009–2010) states that “academic dishonesty includes but is not limited to: fraudulent actions, obtaining grades or academic degrees using false or fraudulent simulations, copying totally or partially academic work from another person, plagiarizing totally or partially the work of another person, copying totally or partially responses from another person to examination questions, making another person to take any test, oral or written examination on his/hers behalf, as well as assisting or facilitating any person to incur in the aforementioned conduct”. Fraudulent conduct refers to “behavior with the intent to defraud, including but not limited to, malicious alteration or falsification of grades, records, identification cards or other official documents of the UPR or any other institution.” Any of these actions shall be subject to disciplinary sanctions in accordance with the disciplinary procedure, as stated in the existing UPR Student Bylaws.

DISCLAIMER: The above statement is an English translation, prepared at the Deanship of Academic Affairs of the Medical Sciences Campus, of certain parts of Article 6.2 of the UPR Student Bylaws “Reglamento General de Estudiantes de la Universidad de Puerto Rico”, (Certificación JS 13 2009-2010). It is in no way intended to be a legal substitute for the original document, written in Spanish.