create new tag
view all tags
Welcome to the COMPUTER ARCHITECTURE (unit 1) webpage!
Prof. DanieleGorla

phone: 06-4991 8434

office: Viale Regina Elena 295 - Palazzina E - 2nd Floor, room 205

email: gorla@diNOSPAM.uniroma1.it (delete NOSPAM)

  • Tuesday: 8.15am - 10.50am
  • Friday: 8.15am - 9.50am
Aula Blu3 - Città Universitaria

Classes will be live streamed, only upon authentication through the email studenti.uniroma1.it, via a Zoom Meeting (ID: 824 7648 6967, Passcode: 085999). No recording will be available.

Important News
  • Exam dates in 2022: 11/1, 1/2, 7/6, 28/6, 6/9.
  • You should evaluate my teaching through Infostud by using the OPIS code 0REX5U3R. You can do this only in this semester, since next semester you're evaluating the teacher of the 2nd module!


RESERVATIONS FOR THE FEBRUARY EXAM WILL BE CLOSED ON JAN. 27TH, 2022, AT 23.59 (ITALIAN TIME). NO BOOKING WILL BE ACCEPTED AFTER THIS DEADLINE. The exam will be done in presence; the precise time and place of your written exam will be communicated after closing the reservations, reasonably on Jan. 29th. You can reserve your exam HERE. You have to register with your institutional email (@studenti.uniroma1.it); reservations without such an email will be considered null!

Moreover, Sapienza imposes that students that cannot attend the exam in presence can also attend it remotely (but in this case, you must provide a major force reason for this option and provide me evidence by email). The remote exam will be a quick test (5 questions in 5 minutes with multiple choice answers), and only those who provide a correct answer on 4 over 5 of these questions will be admitted to the oral exam, that will be 1 hour long (with both theoretical questions and practical exercises).

Please, cancel your reservation if you cannot come. If the form is already closed, you can write me an email.

Topics presented in the Course

The overall program of the course is the following:

  • Introduction to the organization of a computer: historical evolution and main components

  • Information representation. Codes, numeration systems, the binary/octal/hexadecimal codes. Representation in base complement. Representation in fixed and floating point, the standards IEEE. Some other codes: ASCII, Unicode, error-correcting codes.

  • Boolean algebra. Axioms and derived laws, duality principle. Variables and boolean expressions, equivalent expressions. Boolean functions of one and two variables. Main logic gates: NOT, AND and OR. Truth tables. Combinatorial nets. Relation between combinatorial nets and boolean expressions. Canonical and normal forms: SOP and POS. NAND and NOR gates, their universality. XOR/XNOR gates and their properties.

  • Analysis and synthesis of a combinatorial net. Minimization of SOP/POS boolean expressions: Karnaugh maps. Boolean function with “don't care” conditions and their minimization.

  • MSI Combinatorial modules: coder, decoder, ROM, PLA, multiplexer, demultiplexer. Half-Adder and Full-Adder for adding natural numbers. Comparator of binary numbers.

  • Sequential nets: memorization and feedback: Latch SR, D (delay), JK, T; gated latch; flip-flop master-slave. Finite automata with output: Mealy vs Moore; representation with diagrams and tables. Temporal diagram. Automata equivalence, transformation from one model to the other. Automata minimization.

  • Analysis and synthesis of sequential nets. Counters modulo 2**n, reverse counter, bidirectional (up-down counter) counters, counters modulo k (with k different from 2**n); settable counters.

  • Registers. All combinations of serial/parallel input/output; shifters, circular registers.

  • Register interconnection: 4 modalities (all combinations among fixed/variable source/destination).

Text books

[MM] M. Morris Mano, M. D. Ciletti: Digital design, 4th edition. Pearson/Prentice Hall.

[K] A. F. Kana: Digital Logic Design. (Available online)

Exam rules

The exam is made up by a written part and an oral one.

Rules for the written exam:

  • You canNOT use any material (book, notes, exercises with solutions, ...)
  • You MUST have an official ID document with a recent photo
  • You must have your own sheets for the drafts of your exercises and all what you need for writing (pens, pencils, eraser, sharpener, etc.)
  • You can ONLY use a basic calculator (able only to perform sums, subtractions, products and divisions); no scientific calculator, nor calculators of mobile phones/tablets/... are allowed at all.
  • Mobile phones, smart watches and tablets MUST be switched off all the time and left within your bag
  • You canNOT leave the room during the exam

  • Every exam MUST be booked in advance. Two weeks before every exam date, I will open a googleform for your reservations; the form will remain open for one week, and then permanently closed. The URL of the googleform will be published in this page in the "Important News" area. If you have not booked the exam by the deadline, you will not be allowed to enter. REMARK: you must book EVERY TIME you come for a written exam!

Date and time of every written exam are timely published in the Bachelor Degree webpage, under the "Exams" tab.

The oral exam must be done just after the written exam (usually, the week after). The exact dates for the oral exams are communicated together with the results of the written exam a few days after the written exam. REMARK: a fully negative oral exam can also lead to cancel the written exam (that has to be done again).

Class diary

Here you can find all topics, class-by-class, together with slides and references on the text books

Class, September 28th, 2021 Overall introduction to the course. Historical evolution of computers. Representation of information, definition of code and its requirements; Definition and properties of positional numeric systems, the binary code. Changing base for natural numbers: from base 10 to base b, from base b to base 10; representation interval in base b with a fixed number of digits; octal and hexadecimal systems ([MM] 1.1, 1.2, 1.3, 1.4; [K] pgg. 1-5).

Slides 1 - Slides 2

Exercises, October 1st, 2021 Converting natural numbers from base 10 to binary, octal, hexadecimal and other bases, and vice versa.

Exercises on Naturals

Class, October 1st, 2021 Arithmetic operations on naturals.

Slides 3

Class, October 5th, 2021 Representing integers in two’s complement: representation interval, how to find the opposite of a given number. Sum and subtraction in two’s complement ([MM] 1.5, 1.6; [K] pgg. 6-9).

Slides 4

Exercises, October 5th, 2021 Operations on naturals in bases different from 10.

Exercises on operations among naturals

Class, October 7th, 2021 Converting rational numbers in fixed point: from binary to decimal, and vice versa ([MM] 1.3). Floating point representation: representation intervals and Standard IEEE ([K] pgg. 10-12).

Slides 5

Exercises, October 7th, 2021 Operations on integers.

Exercises on integres

Class, October 12th, 2021 Operations in floating point representation.

Slides 6

Exercises, October 12th, 2021 Fixed and floating point representation of rationals.

Esercises on rationals

Class, October 15th, 2021 ASCII Code ([MM] 1.7, [K] pg. 14-16) and UNICODE ( wikipedia page). Basic notions on error-correcting codes: parity bit; longitudinal and vertical parity (https://www.geeksforgeeks.org/error-detection-in-computer-networks/); Haming Code 4-3 (https://www.tutorialspoint.com/digital_circuits/digital_circuits_error_detection_correction_codes.htm; [MM] 7.4).

Slides 7

Exercises, October 15th, 2021 Sum, subtraction and multiplication in floating point.

Exercises on operations on floating point numbers

Class, October, 19th, 2021 Definition of Boolean algebra. Derived properties: involution, idempotency, annihilator, absorption, De Morgan ([MM] 2.1--2.4; [K] pgg.23--26 || REMARK: in these texts they use a different set of axioms for defining boolean algebra).

Slides 8

Exercises, October 19th, 2021 Exercises on error-correcting codes; a recapitulation exercise on number conversions and operations.

Exercises on Error-correcting Codes - Exercise on Numbers (conversions & operations)

Class, October, 22nd, 2021 Boolean variables and expressions. Dual and complementary expressions. Equivalence among expressions. ([MM] 1.9). Boolean functions with 1, 2 or more variables; truth tables. Logic gates ([MM] 2.5, 2.7, 2.8; [K] pgg.17--19, 31). NAND, NOR and their universality; XOR and XNOR ([MM] 3.7, 3.9; [K] pgg.19--23, 47-54).

Slides 9

Exercises, October 22nd, 2021 Equivalences among boolean expressions; simplification of expressions through boolean laws.

Exercises on Boolean algebra

Class, October 26th, 2021 Boolean expressions in canonical SOP form: minterms and disjunctive normal form. Relations among truth table of a function and its canonical SOP form. Turning expressions in normal and canonical SOP form. POS normal form; maxterms and conjunctive canonical forms. Turning expressions in normal and canonical POS form. Relations among truth table of a function and its canonical POS form. ([MM] 2.6; [K] pgg. 32, 33).

Slides 10

Exercises, October 26th, 2021 Exercises on boolean expressions.

Exercises on boolean operators

Class, October 29th, 2021 Minimizing BEs; Karnaugh's Maps and representation of BFs through them. Procedure for obtaining a minimal SOP and a minimal POS Non-fully defined functions and don't care symbols. ([MM] 3.1, 3.2, 3.3, 3.5, 3.6; [K] pgg. 35-44)

Slides 11

Exercises, October 29th, 2021 Exercises on Canonical and normal forms.

Exercises on SOP/POS forms

Class, November, 2nd, 2021 Definition of combinatorial net; relation between tra combinatorial nets and BEs. Analysis of a combinatorial net: procedure and examples. Synthesis of a combinatorial net: procedure and examples ([MM] 4.1, 4.2, 4.3, 4.4; [K] pgg. 27--30, 33-35, ).

Slides 12

Exercises, November, 2nd, 2021 Exercises on the minimization of boolean expressions.

Exercises on SOP/POS minimal forms

Class, November 5th, 2021 Remarkable circuits: natural and integer adder, with overflow conditions; complementator and subtractor. Comparator of natural numbers. ([MM] 4.5, 4.8; [K] pgg. 55-60)

Slides 13

Exercises, November 5th, 2021 Exercises on the analysis and synthesis of combinatorial nets.

Exercises on analysis and synthesis of combinatorial nets

Class, November 9th, 2021 Encoder and schema with OR matrix; decoder and schema with AND matrix. ROM: definition and use for realizing boolean functions. PLA: definition and use for realizing boolean functions. Multiplexer and demultiplexer; use of multiplexer to compute boolean functions. ([MM] 4.9, 4.10, 4.11; [K] pgg. 60-65)

Slides 14

Exercises, November 9th, 2021 More Exercises on the analysis and synthesis of combinatorial nets.

Exercises on analysis and synthesis of combinatorial nets

Exercises, November 12th, 2021 Exercises on MUX, PLA and ROM.

Exercises on ROM/PLA/MUX -- Recap Exercise on Synthesis

Exercises, November 16th, 2021: Simulated mid term exam. During the class, you'll have 1 hour for solving the exercises. Then, I'll give you the correct solution of the exercises and then we shall spend the remaining time to see and correct your solutions. For this reason, I suggest you to take pictures of your solutions (exercise by exercise) and have them ready in .jpg format to be sent by email. I'll then open your solutions while sharing my screen with you and correct them during the meeting, so that all of you can see my corrections and understand your mistakes (to avoid them in future exams).

Text -- Solutions

Class, November 19th, 2021 Introduction to sequential nets: storage and feedback. Temporal diagrams for variables and circuits. Elementary memory circuits: latch SR (behaviour under the s/r signals, characteristic function, excitation function). Flip-Flop D: definition, characteristic and excitation tables. Flip-Flop JK: definition, characteristic and excitation tables. Flip-Flop T: definition, characteristic and excitation tables. Latches D, JK and T through a latch SR. Clock. Synchronous Latch (gated latch): definition and circuit schema; master-slave flip-flop sensible to the clock's descending wave front ([MM] 5.1--5.4; [K] pgg. 67--76).

Slides 16

Class, November 23rd, 2021 Finite state automata with output: the models of Mealy and Moore. Automata Representation through table and through labeled graphs (https://www.ics.uci.edu/~irani/f13-6B/FiniteAutomataRosen.pdf). Automata equivalence. From Mealy to Moore and vice versa (https://lms.uop.edu.jo/moodle/pluginfile.php/6059/mod_resource/content/0/chap08.pdf)

Slides 17 - Slides 18

Class, November 26th, 2021 State equivalence in an automaton: minimization algorithm through triangolar table ([MM] 5.7; http://www.informatik.uni-bremen.de/agbs/lehre/ss05/pi2/hintergrund/minimize_dfa.pdf)

Slides 19

Exercises, November 26th, 2021 Exercises on automata design.

Exercises on automata design

Class, November 30th, 2021 Analysis of sequential nets: future states table; state diagram of the corresponding automaton; verbal description ([MM] 5.5; [K] 77-83).

Slides 20

Exercises, November 30th, 2021 Exercises on the traduction Mealy/Moore and Moore/Mealy; Exercises on automata minimization.

Exercises on model traduction - Exercises on the minimization

Class, December 3rd, 2021 Synthesis of a sequential net: from the verbal description to the automaton, minimization, future states table, excitation functions for the FFs, circuital schema ([MM] 5.8; [K] 83--88).

Slides 21

Exercises, December 3rd, 2021 Exercises on the analysis of synchronous sequential nets.

Exercises on sequential analysis

Class, December 7th, 2021 Memory registers: all possible combinations of parallel and sequential load and unload. Shifters: right, left, bidirectional; with bit holding; circular ([MM] 6.1, 6.2; [K] pgg. 89--92).

Slides 23

Exercises, December 7th, 2021 Examples of sequential synthesis.

Slides 22

Class, December 10th, 2021 Synthesis of the upwise counter modulo 8; upwise counters modulo 2^n. Downwise counter modulo 2^n. Bidirectional counters (http://www.allaboutcircuits.com/vol_4/chpt_11/3.html). Counter modulo k, with k different from 2^n. Counter of 1s on an input line. ([MM] 6.3, 6.4, 6.5; [K] pgg. 93--98). Asynchronous counters (http://www.allaboutcircuits.com/vol_4/chpt_11/2.html). FF with asynchronous inputs (PRE)SET and CLEAR (http://www.allaboutcircuits.com/vol_4/chpt_10/7.html). Counters modulo k with k different from 2**n, using asynchronous CLEARs of the FFs (http://highered.mcgraw-hill.com/sites/dl/free/0072823151/56549/vra23151_ch07.pdf, sez. 7.10). Presettable counters (http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cwl3/report.html#load).

Slides 24

Exercises, December 10th, 2021 Exercises on the synthesis of sequential nets.

Exercises on sequential synthesis

Class, December 14th, 2021 Register Interconnection: 4 modalities. Fixed source and destination (point-to-point, with logic gates and tristate buffers); variable source and fixed destination (with MUX); fixed source and variable destination (with DEC); variable source and destination (mesh, both with source and destination registers different and coinciding; bus). Design examples and a simplified schema of the ALU (notes).

Slides 25 - Slides 26

Exercises, December 14th, 2021 Exercise of sequential synthesis using a counter.

Exercises, December 17th, 2021 Exercises on Interconnections.

Interconnection exercises

Exercises, December 21st, 2021: Simulated second mid term and oral exam. During the first 1 hour of the online meeting, you'll have to solve a few exercises on the second part of the course; then, I'll give you the correct solution of the exercises and discuss you solutions. In the second part, some of your colleagues will undergo a normal oral exam, so that you can understand the kind of questions I'm about to ask you and how to answer them.

Text - Solutions

Past Exams

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf 01-intro.pdf r1 manage 2797.0 K 2020-09-17 - 16:54 DanieleGorla  
PDFpdf 02-representing-naturals.pdf r1 manage 795.3 K 2020-09-17 - 16:56 DanieleGorla  
PDFpdf 03-operations-on-naturals.pdf r1 manage 246.1 K 2020-09-17 - 16:59 DanieleGorla  
PDFpdf 04-integers.pdf r1 manage 425.9 K 2020-09-17 - 17:00 DanieleGorla  
PDFpdf 05-rationals.pdf r1 manage 655.0 K 2020-10-15 - 16:14 DanieleGorla  
PDFpdf 06-operations-in-floating-point.pdf r1 manage 375.2 K 2020-10-20 - 12:09 DanieleGorla  
PDFpdf 07-other-codes.pdf r1 manage 1034.7 K 2020-10-03 - 09:47 DanieleGorla  
PDFpdf 08-boole.pdf r1 manage 520.8 K 2020-09-17 - 17:42 DanieleGorla  
PDFpdf 09-boolean-expressions-and-operators.pdf r1 manage 903.8 K 2020-09-17 - 17:42 DanieleGorla  
PDFpdf 10-Normal-and-Canonical-Forms.pdf r1 manage 1245.8 K 2020-09-18 - 17:06 DanieleGorla  
PDFpdf 11-Minimizing-Boolean-expressions.pdf r1 manage 716.5 K 2020-09-22 - 13:37 DanieleGorla  
PDFpdf 12-combinatorial-nets-analysis-and-synthesis.pdf r1 manage 748.5 K 2020-10-20 - 13:52 DanieleGorla  
PDFpdf 13-adder-and-comparator.pdf r1 manage 699.5 K 2020-11-05 - 16:26 DanieleGorla  
PDFpdf 14-COD-DEC-ROM-PLA-MUX-DEMUX.pdf r1 manage 998.9 K 2020-11-05 - 18:54 DanieleGorla  
PDFpdf 15-exercise-of-combinatorial-synthesis.pdf r1 manage 232.9 K 2020-11-05 - 17:09 DanieleGorla  
PDFpdf 16-FF.pdf r1 manage 407.3 K 2020-11-06 - 10:26 DanieleGorla  
PDFpdf 17-automata.pdf r1 manage 387.3 K 2020-11-11 - 17:47 DanieleGorla  
PDFpdf 18-mealy-moore-transformation.pdf r1 manage 279.7 K 2020-11-12 - 08:33 DanieleGorla  
PDFpdf 19-automata-minimization.pdf r1 manage 336.1 K 2020-11-12 - 10:18 DanieleGorla  
PDFpdf 20-sequential-analysis.pdf r1 manage 843.9 K 2020-11-14 - 09:20 DanieleGorla  
PDFpdf 21-sequential-synthesis.pdf r1 manage 655.4 K 2020-11-29 - 12:41 DanieleGorla  
PDFpdf 22-sequential-synthesis-exercises.pdf r1 manage 174.8 K 2020-11-29 - 12:41 DanieleGorla  
PDFpdf 23-registers.pdf r1 manage 420.6 K 2020-12-05 - 14:04 DanieleGorla  
PDFpdf 24-counters.pdf r1 manage 746.5 K 2020-12-06 - 09:22 DanieleGorla  
PDFpdf 25-interconnection.pdf r1 manage 383.8 K 2020-12-14 - 11:19 DanieleGorla  
PDFpdf 26-interconnection-exercises.pdf r1 manage 242.8 K 2020-12-15 - 14:18 DanieleGorla  
PDFpdf Exam-13-07-21.pdf r1 manage 192.1 K 2021-07-30 - 16:43 DanieleGorla  
PDFpdf Exam-15-06-21.pdf r1 manage 173.6 K 2021-06-21 - 15:18 DanieleGorla  
PDFpdf Simulated-mid-term-1-sol.pdf r1 manage 1416.7 K 2021-11-16 - 14:14 DanieleGorla  
PDFpdf exam-11-1-22.pdf r1 manage 285.2 K 2022-01-15 - 10:24 DanieleGorla  
PDFpdf exam-12-1-21.pdf r1 manage 66.6 K 2021-01-14 - 09:08 DanieleGorla  
PDFpdf exam-7-9-21.pdf r1 manage 96.6 K 2021-09-16 - 16:31 DanieleGorla  
PDFpdf exam-9-2-21.pdf r1 manage 151.9 K 2021-02-10 - 08:41 DanieleGorla  
PDFpdf exercises-class-10.pdf r1 manage 49.1 K 2020-11-05 - 16:38 DanieleGorla  
PDFpdf exercises-class-11.pdf r1 manage 281.1 K 2020-09-23 - 10:08 DanieleGorla  
PDFpdf exercises-class-12.pdf r1 manage 226.4 K 2020-10-20 - 13:52 DanieleGorla  
PDFpdf exercises-class-14.pdf r1 manage 343.6 K 2020-11-06 - 09:09 DanieleGorla  
PDFpdf exercises-class-17.pdf r1 manage 128.7 K 2020-11-11 - 17:47 DanieleGorla  
PDFpdf exercises-class-18.pdf r1 manage 169.5 K 2020-11-12 - 08:33 DanieleGorla  
PDFpdf exercises-class-19.pdf r1 manage 171.3 K 2020-11-12 - 10:18 DanieleGorla  
PDFpdf exercises-class-2.pdf r1 manage 33.5 K 2020-09-17 - 17:09 DanieleGorla  
PDFpdf exercises-class-20.pdf r1 manage 122.1 K 2020-11-13 - 10:42 DanieleGorla  
PDFpdf exercises-class-21.pdf r1 manage 214.5 K 2020-11-29 - 12:41 DanieleGorla  
PDFpdf exercises-class-25.pdf r2 r1 manage 197.8 K 2021-12-18 - 08:22 DanieleGorla  
PDFpdf exercises-class-3.pdf r1 manage 40.7 K 2020-09-17 - 17:09 DanieleGorla  
PDFpdf exercises-class-4.pdf r1 manage 47.0 K 2020-09-17 - 17:09 DanieleGorla  
PDFpdf exercises-class-5.pdf r1 manage 76.1 K 2020-09-17 - 17:09 DanieleGorla  
PDFpdf exercises-class-6.pdf r1 manage 70.0 K 2020-12-10 - 08:22 DanieleGorla  
PDFpdf exercises-class-7.pdf r1 manage 81.2 K 2020-10-03 - 09:58 DanieleGorla  
PDFpdf exercises-class-8.pdf r1 manage 38.9 K 2020-10-30 - 16:28 DanieleGorla  
PDFpdf exercises-class-9.pdf r1 manage 52.5 K 2020-09-18 - 17:06 DanieleGorla  
PDFpdf interconnection-notes.pdf r1 manage 225.8 K 2020-12-16 - 16:36 DanieleGorla  
PDFpdf mid-term-simulation-26-11-20.pdf r1 manage 59.6 K 2020-11-19 - 11:25 DanieleGorla  
PDFpdf recap-exercise-on-numbers.pdf r1 manage 488.6 K 2021-10-20 - 07:04 DanieleGorla  
PDFpdf second-mid-term-simulation-2021-sol.pdf r1 manage 583.6 K 2021-12-21 - 11:01 DanieleGorla  
PDFpdf second-mid-term-simulation-2021.pdf r1 manage 79.4 K 2021-12-21 - 11:01 DanieleGorla  
PDFpdf second-simulated-mid-term-exam.pdf r1 manage 61.7 K 2020-12-23 - 16:22 DanieleGorla  
PDFpdf simulated-mid-term-1.pdf r1 manage 93.3 K 2021-11-17 - 13:15 DanieleGorla  
PDFpdf sol-11-1-22.pdf r1 manage 2954.9 K 2022-01-15 - 10:24 DanieleGorla  
PDFpdf sol-12-1-21.pdf r1 manage 2731.4 K 2021-01-14 - 09:08 DanieleGorla  
PDFpdf sol-13-7-21.pdf r1 manage 451.6 K 2021-07-30 - 16:43 DanieleGorla  
PDFpdf sol-15-6-21.pdf r1 manage 1218.1 K 2021-06-21 - 15:18 DanieleGorla  
PDFpdf sol-7-9-21.pdf r1 manage 8977.8 K 2021-09-16 - 16:31 DanieleGorla  
PDFpdf soluz-9-2-21.pdf r1 manage 1089.0 K 2021-02-10 - 08:41 DanieleGorla  
Edit | Attach | Watch | Print version | History: r114 < r113 < r112 < r111 < r110 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r114 - 2022-01-15 - DanieleGorla

Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback