ITESM
Campus Monterrey
Cs95069 Lógica secuencial y arquitectura de computadoras
(3-0-8) Requisito: Mr00033 oMr00822 o Cs00008.
Semestre y carrera: 6 IMD, 6 IMA, 6 IME, 6 IMT.
Equivalencia: No tiene
Objetivo general de la materia:
Comprender el funcionamiento de las partes que integran un sistema computacional, la manera en que se estructuran y trabajan. Aplicar lógica secuencial en el diseño de elementos básicos dentro de una arquitectura de computadora, así como para la solución a problemas propios de la industria. Desarrollar programas eficientes en ensamblador que permitan incrementar el rendimiento de un sistema computacional.
Temas y subtemas del curso:
1. Sistemas de números y Aritmética Binaria
1.1. Sistemas Posicionales.
1.1.1. Representación polinomial.
1.1.2. Representación yuxtaposicional.
1.2. Conversión entre bases.
1.2.1. Base 10 a cualquier base.
1.2.2. Cualquier base a base 10.
1.2.3. Conversión de base "r" a base "s".
1.3. Aritmética con números binarios.
1.3.1. Representación de números con signo.
1.3.1.1. Magnitud y signo.
1.3.1.2. Complementos a la base.
1.3.1.3. Complementos a la base menos uno.
1.3.2. Suma y resta de números positivos.
1.3.3. Suma y resta de números enteros con signo.
2. Componentes principales de una computadora.
2.1. Descripción básica de una computadora.
2.2. Memoria principal.
2.2.1. Organización de la memoria principal.
2.2.2. Sistemas de Memoria.
2.2.2.1. Diseños de memorias ROM y RAM.
2.2.2.2. Diseñar sistemas basados en bancos de memorias.
2.3. Unidad central de proceso.
2.3.1. Organización.
2.3.1.1. Unidad aritmética lógica.
2.3.1.2. Unidad de control.
2.3.1.3. Registros.
2.4. Unidad de entrada / salida.
2.5. Sistema de buses.
3. Conjunto de Instrucciones y su Operación.
3.1. Tipos de instrucciones.
3.1.1. Referencia a memoria.
3.1.2. Aritméticas / lógicas.
3.1.3. Entrada / salida.
3.2. Formatos de instrucciones.
3.2.1. Referencia a memoria.
3.2.2. Aritméticas / lógicas.
3.2.3. Entrada / salida.
3.3. Tipos de direccionamiento.
3.3.1. Implícito.
3.3.2. Inmediato.
3.3.3. Absoluto.
3.3.4. Relativo.
3.3.5. Indexado.
3.3.6. Directo.
3.3.7. Indirecto.
3.4. Ciclos de búsqueda y ejecución de instrucciones.
3.4.1. Ciclo de búsqueda.
3.4.2. Ciclo de ejecución.
3.4.3. Ciclos de operación de la unidad central de proceso de acuerdo a cada instrucción.
3.5. Desarrollo de programas en ensamblador.
4. Diseño de una Unidad Aritmética y Lógica.
4.1. Sumadores binarios de N bits conectados en cascada.
4.2. Teoría básica de una unidad aritmética utilizando los conceptos de: magnitud y signo, complemento a uno y complemento a dos.
4.3. Teoría básica de una unidad lógica.
5. Fundamentos de Circuitos Secuenciales.
5.1. Tipos de Flip Flops: SR, JK, D y T.
5.2. Concepto de Celda Binaria.
5.3. Diseño Secuencial
5.3.1. Diseño sincrónico.
5.3.2. Diseño asincrónico.
6. Diseño de Registros Secuenciales
6.1. Diseño secuencial de registros con implementación de funciones básicas como carga en paralelo y corrimientos.
6.2. Diseño secuencial de un registro acumulador que realice operaciones aritméticas, lógicas y de corrimientos.
7. Diseño de Circuitos Secuenciales Básicos
7.1. Diseño sincrónico de contadores ascendentes y descendentes.
7.2. Diseño asincrónico de contadores ascendentes y descendentes.
8. Diseño Avanzado de Circuitos Secuenciales.
8.1. Modelo de Mealy y Moore para el diseño de circuitos secuenciales
8.1.1. Diagramas de estados
8.1.2. Minimización de diagramas de estados
8.1.3. Diseño de contadores con varias funciones.
8.2. Diseño de circuitos secuenciales de Propósito General.
Objetivos específicos de aprendizaje:
1. Definir qué es un sistema numérico y su aplicación en la aritmética binaria.
1.1. Emplear diferentes expresiones para un sistema numérico.
1.1.1. Emplear la representación polinomial.
1.1.2. Emplear la representación yuxtaposicional.
1.2. Convertir cantidades de una base a otra base.
1.2.1. Convertir cantidades en base 10 a cualquier base.
1.2.2. Convertir cantidades en cualquier base a base 10.
1.2.3. Convertir cantidades en base "r" a base "s".
1.3. Realizar operaciones aritméticas con números binarios.
1.3.1. Representar cantidades enteras con signo
1.3.1.1. Representar cantidades en magnitud y signo.
1.3.1.2. Representar cantidades en complementos a la base.
1.3.1.3. Representar cantidades en complementos a la base menos uno.
1.3.2. Realizar operaciones de suma y resta de números enteros positivos.
1.3.3. Realizar sumas y restas de números enteros con signo.
2. Describir los principales componentes de una computadora.
2.1. Describir una computadora.
2.2. Describir la función y funcionamiento de la memoria principal.
2.2.1. Describir la organización y manejo de la memoria principal.
2.2.2. Describir los sistemas de memoria propios de una computadora.
2.2.2.1. Describir la construcción interna de memorias ROM y RAM de una determinada capacidad.
2.2.2.2. Diseñar sistemas de memoria a partir de bancos de memoria de capacidad diferente a la deseada.
2.3. Describir la función y funcionamiento de la unidad central de proceso.
2.3.1. Explicar la organización de la unidad central de proceso.
2.3.1.1. Explicar el funcionamiento de la unidad aritmética lógica.
2.3.1.2. Explicar el funcionamiento de la unidad de control.
2.3.1.3. Explicar el funcionamiento de los registros.
2.4. Describir la función y funcionamiento de la unidad de entrada/salida. 2.5. Describir la función y funcionamiento de la sistema de buses.
3. Ejemplificar el funcionamiento de las Instrucciones de máquina.
3.1. Describir los tipos de instrucciones.
3.1.1. Ejemplificar las instrucciones de referencia a memoria.
3.1.2. Ejemplificar las instrucciones aritméticas / lógicas.
3.1.3. Ejemplificar las instrucciones entrada / salida.
3.2. Describir los formatos de instrucciones.
3.2.1. Ejemplificar el formato de las instrucciones de referencia a memoria.
3.2.2. Ejemplificar el formato de las instrucciones aritméticas / lógicas.
3.2.3. Ejemplificar el formato de las instrucciones de entrada / salida. 3.3. Ejemplificar los diferentes tipos de direccionamiento.
3.3.1. Ejemplificar el direccionamiento implícito.
3.3.2. Ejemplificar el direccionamiento inmediato.
3.3.3. Ejemplificar el direccionamiento absoluto.
3.3.4. Ejemplificar el direccionamiento relativo.
3.3.5. Ejemplificar el direccionamiento indexado.
3.3.6. Ejemplificar el direccionamiento directo.
3.3.7. Ejemplificar el direccionamiento indirecto.
3.4. Explicar los ciclos de búsqueda y ejecución de instrucciones.
3.4.1. Explicar el ciclo de búsqueda.
3.4.2. Explicar los ciclos de ejecución.
3.4.3. Explicar los ciclos de operación de la unidad central de proceso de acuerdo a cada instrucción.
3.5. Diseñar programas en ensamblador.
4. Describir el funcionamiento de la Unidad Aritmética y Lógica.
4.1. Diseñar sumadores binarios mediante Sumadores en cascada.
4.2. Describir el funcionamiento del ALU mediante los conceptos de: magnitud y signo, complemento a uno y complemento a dos.
4.3. Describir el funcionamiento de la Unidad Lógica mediante Sumadores.
5. Explicar el concepto de Lógica Secuencial.
5.1. Describir los diferentes tipos de Flip Flops: SR, JK, D y T.
5.2. Describir el funcionamiento de una Celda Binaria.
5.3. Describir las formas de diseñar circuitos lógicos secuenciales.
5.3.1. Explicar el diseño de circuitos secuenciales sincrónicos.
5.3.2. Explicar el diseño de circuitos secuenciales asincrónicos.
6. Explicar el diseño de registros secuenciales.
6.1. Diseñar registros con funciones básicas tales como carga en paralelo y corrimientos.
6.2. Diseñar un registro acumulador que realice operaciones propias de un ALU.
7. Explicar el diseño de circuitos secuenciales básicos.
7.1. Diseñar contadores ascendentes y descendentes en forma sincrónica.
7.2. Diseñar contadores ascendentes y descendentes en forma asincrónica.
8. Utilizar las técnicas avanzadas del diseño de circuitos secuenciales.
8.1. Explicar los Modelos de Mealy y Moore para el diseño de circuitos secuenciales.
8.1.1. Explicar los diagramas de estados.
8.1.2. Explicar la técnica de minimización de diagrama de estados.
8.1.3. Explicar el diseño de contadores con varias funciones.
8.2. Aplicar el diseño de circuitos secuenciales a problemas de propósito general.
Metodología de enseñanza
Tiempo estimado de cada tema:
1 8 horas
2 5 horas
3 8 horas
4 3 horas
5 3 horas
6 5 horas
7 3 horas
8 10 horas
Exámenes: 3 horas
Políticas de evaluación sugeridas:3 Exámenes parciales: 54 % Tareas e investigaciones: 16 % Examen Final: 30%
Libro de texto:Jaime Martínez Garza, Jorge A. Olvera Rodríguez Organización y Arquitectura de Computadoras Prentice Hall, 2000.
Libro de consulta: Carl Hamacher, Fifth Edition. Computer Organization McGraw Hill, 2002.
John F. Wakerly. Digital Design, Third Edition Prentice Hall, 2000.
Material de apoyo:
Simulador de CPU para los ciclos de Búsqueda y Ejecución. Simulador de Circuitos Digitales.
Perfil del Profesor: Profesor con maestría en alguna área de computación, y preferentemente con carrera en alguna área de sistemas computacionales.
Fecha de la última actualización: 06 de mayo del 2004 (IZ)