Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area II: Sistemas de Computacion |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
En esta asignatura se aborda el estudio de las arquitecturas de procesadores tomando como punto de partida los procesadores secuenciales de tipo Von Neumann.
El alumno será involucrado en: *Problemas de representación de los datos que serán manipulados por el procesador y en la organización de los componentes principales del procesador que permiten procesar, almacenar y transferir información. *Comprender cuál es el conjunto de instrucciones provistas habitualmente por los procesadores. *Como se controla la realización de estas instrucciones a medida que transcurre el tiempo. *Como un sistema de computación se comunica mediante dispositivos de entrada/salida. |
V - Objetivos / Resultados de Aprendizaje |
---|
*Aprender como representar datos y manipularlos usando circuitos digitales.
*Comprender como están diseñados los procesadores secuenciales y como es su ciclo de instrucción. *Desarrollar una actitud crítica frente al diseño de distintos procesadores. *Obtener experiencia en programación de bajo nivel. Comprender como interactúan los procesadores con su medio externo. |
VI - Contenidos |
---|
PROGRAMA ANALÍTICO Y DE EXAMEN
Unidad 1: Sistemas numéricos y Aritmética. Sistemas numéricos posicionales. Sistema binario, hexadecimal y octal. Conversión de decimal a binario y viceversa. Operaciones aritméticas en binario. Representación signo/magnitud: representación y operaciones. Complemento a dos: representación y suma. Rango de representación en los distintos sistemas. Punto punto flotante Estándar IEEE 754: representación y operaciones. Unidad 2: Circuitos Digitales. Compuertas lógicas. Circuitos combinacionales. Ecuaciones Booleanas. Álgebra de Boole. Minimización. Mapas de Karnaugh. Bloques combinacionales. ALU. Señal de reloj. Biestables y Latches. Registros. Circuitos Sincrónicos. Máquina de estados finita o FSM. Máquinas de Moore y Mealy. Bloques digitales de construcción. Unidad 3: Memorias Arreglos de memoria. Especificación de filas y columnas. Celdas y palabras de memoria. Arreglos de memoria. Banco de registros. Tipos de memorias. Puertos de dirección y datos. Señales de control. Habilitación de módulos de memoria. Multiplicación de direcciones. Memoria entrelazada. Direccionamiento con 32 bits. Unidad 4: Organización y Funcionamiento de una Unidad Central de Procesamiento. Elementos de estado y caminos de datos. Máquina de primera generación. Conjunto de instrucciones. Ciclo de instrucción. Unidad de control. Señales de control del ciclo de instrucción. Ejecución de instrucciones. Acceso a datos en memoria. Segmentación y paginado. Máquina x86. Formato de instrucción. Modos de direccionamiento: conceptos generales. Modo registro, absoluto, inmediato, registro indirecto, postincremento, pre-decremento. Modo de direccionamiento de múltiples componentes: indexado, relativos: a una base, a la próxima instrucción y a una página. Base indexado con desplazamiento. Unidad 5:Arquitectura x86. Lenguaje Assembly x86. Conjunto de Instrucciones. Estructuras de control: selección, iteración, selección por caso. Llamadas a subrutina y retornos de subrutina. Uso de la pila. Pasaje de parmetros a las subrutinas: por valor, por dirección. Formas de pasaje de parámetros: en registros, en la pila. Ejemplos en el procesador x86. Unidad 6:Entrada/Salida. Características generales de la entrada/salida (I/O) y los sistema de interconexión (buses). Módulos de entrada/salida: interfaz con la CPU e interfaz con el dispositivo. Protocolos de entrada/salida. Entrada/Salida programada. Organización de la entrada/salida: dedicada y embebida en el espacio de memoria. |
VII - Plan de Trabajos Prácticos |
---|
Prácticos de la Unidad N° 1
Representación de números en binario. Bases 2^k. Representación en binario con bit de signo. Representación en sistemas de complemento. Representación en complemento a la raíz y raíz disminuida. Operaciones aritméticas en los distintos sistemas de representación. Detección de desborde en los distintos sistemas de representación. Representación de números en BCD. Código ASCII. Representación y aritmética de números representados en punto flotante, rango de representación. Prácticos de la Unidad N° 2 Compuertas Booleanas. Expresión Booleana. Tablas de verdad. Circuitos Booleanos. Expresiones Booleanas usando una sola conectiva. Simplificación de circuitos. Circuitos sumadores, restadores, multiplexores y demutiplexores, decodificadores y codificadores. Biestables, flip-flop R-S, flip-flop D. Registros. Contadores. Desplazamiento. Diseño de máquinas de estado finitas. Prácticos de la Unidad N° 3 Arreglos de memoria. Especificación de fila y columna. Capacidad y organización de la memoria. Distintos tipos de memoria. Señales de control. Puertos de direcciones y datos. Multiplicación de direcciones. Memoria entrelazada. Prácticos de la Unidad N° 4 Arquitectura y programación de máquinas de primera generación. Camino de datos. Características generales de la arquitectura del i386. Organización de la memoria. Familiarización con el set de instrucciones del i386 y pseudo instrucciones. Programas en lenguaje assembly simples. Instrucciones aritméticas y lógicas. Instrucciones de control condicional. Prácticos de la Unidad N° 5 Realizar programas en los que se usen los distintos modos de direccionamiento: inmediato, inherente, registro indirecto y indexado, relativos: a una base, a la próxima instrucción. Implementación de las estructuras de control if-then, if-then-else, case, while y repeat. Implementación de arreglos multidimensionales. Utilización del ensamblador "as", el linker "ld" y el depurador "gdb" bajo linux para la programación de los ejercicios de aula. Instrucciones de llamada a subrutina y de retorno de subrutina. Manejo de la pila. Implementación en lenguaje assembly de pasaje de parámetros. Prácticos de la Unidad N° 6 Protocolo entre los dispositivos para hacer una entrada/salida programada. Programas que realicen entrada/salida en forma programada. Cuestionario sobre conceptos generales de entrada/salida |
VIII - Regimen de Aprobación |
---|
Regularización:
Para regularizar la materia el alumno deberá cumplir con los siguientes requisitos: Asistir al 80% de las clases prácticas. Realizar las actividades del aula virtual. Aprobar los dos exámenes parciales o una de las dos recuperaciones para cada parcial. Promoción: Para promocionar la materia el alumno deberá cumplir con los siguientes requisitos: Aprobar los exámenes parciales, o alguna de sus dos recuperaciones, con nota mayor o igual a 7 (siete) y un trabajo integrador de contenidos de la materia con nota mayor o igual a 7(siete). La nota de promoción se computa mediante el promedio de los exámenes parciales y el trabajo integrador. Además, se deberá mostrar compromiso con la materia a través de asistencia superior al 80% de las clases y mediante la realización de ejercicios prácticos solicitados como método de evaluación continua realizado por la cátedra. Examen Final: Los alumnos regulares deberán rendir un examen final (que podrá ser oral o escrito) que consistirá en preguntas sobre los temas desarrollados durante el dictado de la materia. Alumnos libres: Los alumnos que desean rendir libre la materia se deberán poner en contacto con la cátedra a los efectos de realizar un práctico, el cual contendrá ejercicios similares a los desarrollados en los prácticos durante el dictado de la materia. Aprobando éste trabajo práctico el alumno tendrá derecho a rendir un examen oral con iguales características que el de los alumnos regulares. |
IX - Bibliografía Básica |
---|
[1] Sara Harris & David Money Harris. Digital Design and Computer Architecture. Ed. Morgan Kaufmann 2016.
[2] WILLIAM STALLINGS. Computer Organization and Architecture: Designing for Performance. ED. PEARSON PRENTICE HALL [2010]. [3] JHON F. WAKERLEY. Microcomputer Architecture and Programming. Ed. JOHN WILEY AND SONS [1981]. [4] NIKLAUS WIRTH. Digital Circuit Design. An Introductory Textbook. Springer [1995]. [5] HAYES J. Computer Architecture and Organization. ED. MC. GRAW HILL [1988]. [6] WILLIAM STALLINGS. Computer Organization and Architecture fourth edition. ED. PRENTICE HALL [1996]. [7] JOHN L. HENNESSY & DAVID PATTERSON. Computer Architecture: A Quantitative Approach. 2nd Edition. ED. MORGAN AND KAUFMANN [1990]. [8] JEAN-PIERRE MAINADIER. Estructura y Funcionamiento de los Computadores Digitales. Editorial AC, Madrid [1980]. [9] JHON CRAWFORD. Architecture of the Intel 80386. Readings in Computer Architecture, pag. 157-162. Edited by M. D. Hill, n. P. Jouppi and G. S. Sohi. ISBN 1-55860-539-8. [2000] [10] Dandamudi Sivarama P.. Introduction to Assembly Language Programming, for Pentium and RISC Processors. Springer. ISBN 0-387-20636-1. [2004]. [11] Dandamudi Sivarama P.. Guide to Assembly Language Programming in Linux. Springer. ISBN 0-387-25897-3. [2005]. |
X - Bibliografia Complementaria |
---|
[1] GERRIT A. BLAAUW-FREDERICK P. BROOKS, Jr. Computer Architecture. Concepts and Evolution. ED. ADDISON-WESLEY. [1997].
[2] PETER J. ASHENDEN. The Designer's Guide to VHDL (Second Edition). ED. Morgan Kaufmann Publishers [2002]. |
XI - Resumen de Objetivos |
---|
*Aprender como representar datos y manipularlos usando circuitos digitales.
*Comprender como están diseñados los procesadores secuenciales y como es su ciclo de instrucción. *Desarrollar una actitud crítica frente al diseño de distintos procesadores. *Obtener experiencia en programación de bajo nivel. Comprender como interactúan los procesadores con su medio externo. |
XII - Resumen del Programa |
---|
Sistemas Numéricos. Representación y aritmética de números enteros y fraccionarios. Circuitos Digitales. Circuitos combinacionales básicos. Circuitos secueciales, Máquinas de estados finitas. Organización Básica de una Computadora. Unidad central de procesamiento (CPU). Memoria. Organización interna de una CPU. Ciclo de instrucción. Conjunto de instrucciones de un procesador. Tipos de arquitecturas secuenciales. Lenguaje assembly, assembler y programación en lenguaje assembly. Entrada / Salida. Interfaz con la CPU. Interfaz con los dispositivos.
|
XIII - Imprevistos |
---|
Comunicarse con la cátedra.
Arquitectura del Procesador. Departamento de Informática. Of. 22. Bloque II. 1er. Piso. Facultad de Cs. Fisico, Matemáticas y Naturales. Universidad Nacional de San Luis. Ejercito de los Andes 950. CP 5700. Toda modificación será acordada y comunicada con el estudiantado e informada a Secretaría Académica. |
XIV - Otros |
---|
|