Base Knowledge
Basic concepts of Digital Systems
Teaching Methodologies
Theoretical classes essentially with detailed exposition, using audiovisual resources, of the fundamental concepts, principles and theories and with resolution of elementary practical exercises.
In the practical classes classes, theoretical concepts are presented and practical exercises are carried out that demonstrate the importance of the subject and exemplify its application to real situations.
Learning Results
Goals
The Technologies and Computer Architectures course aims to continue the Digital Systems course by explaining the applicability of a set of technologies studied in that course, progressing to more advanced concepts that stand out for example programmable logic devices.
On the other hand, the mais goal is to understand the main technologies used in the different computational elements. It is studied not only the physical part, but also the logical component necessary for the communication of the different elements, using the Assembly language for this. The entire process of digital information representation – Numbering Systems is also studied.
Skills
Knowledge and Understanding
TO 1. Identify the concept behind Programmable Logic Devices.
A.2. Identify the main components of a computer.
A.3. Explain the technologies, composition and performance measures of the main components of a computer, namely primary memories, secondary memories and processors.
A.4. Explain the process of reading and writing the main components of a computer, namely primary memories, secondary memories and processors.
A.5. Understand how a processor’s instruction set affects the complexity of its construction and its performance.
A.6. Understand and interpret the digital information representation process – Numbering Systems.
A.7. Explain the computer’s mode of operation, at the lowest level, in particular the way the processor processes, interprets and executes instructions, using Assembly language for this purpose.
A.8. Define the most important characteristics of a given computational component.
Knowledge Application
B.1. Analyze products or constituent elements of a PC, in order to exemplify the advantages and disadvantages of the technologies of each other.
B.2. Develop and test solutions, in Assembly.
Making Reasoned Decisions
C.1 Justify proposals for solutions in relation to the components and respective technologies that should equip a given computer, in view of a set of existing characteristics or desirable functionalities.
Conducting Judgment
D.1. Evaluate solutions used on different computers, showing a critical attitude.
Communication
E.1. Prepare appropriate documentation, related to market studies, referring to several components that make up a computer.
E.2. Produce technical reports and user manuals for the developed applications.
E.3. Present and explain the projects developed in a clear way.
Self-learning skills
F.1. Develop projects, with a high degree of autonomy, with the application of concepts in addition to those learned in class.
F.2. Monitor and understand the technological evolution of the various computational elements and especially the processors.
Program
Theoretical Component:
I Processors
I.1. Technologies.
I.2. Structure and composition.
I.3. Operation.
I.4. The evolution of processors, main technologies, characteristics, differences and performance measures.
II. Main Memory
II.1. Types.
II.2. Technologies.
II.3. Structure and composition.
II.4. Information reading and writing process.
II.5. Operation.
II.6. Storage formats.
III. Secondary Memory
III.1. Types.
III.2. Technologies.
III.3. Structure and composition.
III.4. Information reading and writing process.
III.5. Operation.
III.6. Storage formats.
Practical Component:
I. Digital representation of information – Numbering Systems
I.1. Conversions between Bases.
I.2. Binary Arithmetic.
I.3. Representation of negative numbers – Bipolar codes: Signal code and absolute value, Complement code 1 and Complement code 2.
I.4. ASCII code.
I.5. Format of decimal numbers: Floating point (IEEE 754-185 standard).
II. Levels of software representation
II.1. Programming languages: Machine languages, Assembly languages and High level languages. Translators. Compilers and Linkers.
III. Assembly language for the 8086
III.1. Memory organization: Registers, Segments, Address normalization and Addressing Modes.
III.2. Declaration of variables.
III.3. Instruction Set
III.4. MASM: Directives and Pseudo-Opcodes.
III.5. Procedures and Functions.
III.6. The video memory.
Curricular Unit Teachers
Internship(s)
NAO
Bibliography
Main Bibliography:
1. Tanenbaum A. (2002). Structured Computer Organization. New Jersey: Prentice-Hall. (Cota 1A-2-62 (ISEC)).
2. White R. (2002). How Computer works. Publisher QUE. Indianapolis. (Cota 1A-2-78 (ISEC)).
3. Mazidi M. A ; Mazidi J. (2000). The 80×86 IBM PC and Compatible Computers: Assembly Language, Design and Interfacing (Volumes I & II), Upper Saddle River, NJ: Prentice Halll. (Cota 1A-2-66 (ISEC))
Complementary Bibliography:
1. Monteiro, R., Neves, F., Pereira, J., Rodrigues, N. e Martinho. (2004). Tecnologias dos Equipamentos Informáticos. Edição FCA.