Вы находитесь на странице: 1из 7

ArquitecturadeComputadoresI

OBJETIVODELAMATERIA

JUSTIFICACIN:
El ingeniero electrnico es el profesional diseador de sistemas hardware, para su uso en
aplicaciones de propsito general o especfico. En este orden de ideas debe manejar con
propiedad los conceptos asociados a la arquitectura de los sistemas de cmputo, con el
objetivo de realizar dimensionamiento y eleccin de sistemas de cmputo ajustados a las
necesidades de la aplicacin (microcontroladores, microprocesadores, DSPs), o con el
objetivo de disearlo si ha elegido esta lnea de desempeo profesional.

PROPSITOS DEL CURSO:


Se plantea el estudio de la Organizacin y Arquitectura de Computadores, desde el enfoque
de construccin y utilizacin. El estudiante al finalizar el curso deber estar en capacidad de:
Distinguir las diferencias entre organizaciones y arquitecturas de computadores, su evolucin
y anlisis de desempeo.
Distinguir la utilizacin de un procesador, usando los diferentes compiladores y el lenguaje
ensamblador, as mismo como crear controladores de uso especfico para uso de un
procesador de propsito general.
Disear adecuadamente un sistema de cmputo, de propsito general o especfico, segn las
necesidades propias.
Distinguir los diferentes niveles de interconexin en los sistemas de cmputo, buses y
dispositivos de entrada/salida.
Conocer las jerarquas y organizacin de los sistemas de memoria en sistemas de cmputo.

CONTENIDO

1. Introduccin de los Computadores


(HAD: 10 / HPP: 4 / HI: 14)
1.1. Naturaleza, Antecedentes y Generaciones de los computadores
1.2. Arquitectura de von Neumann y otras
1.3. Anlisis de Desempeo de los Sistemas de Cmputo
1.3.1. Definicin de desempeo
1.3.2. Tiempo de Ejecucin y Throughput
1.3.3. Programas Benchmark
1.4. Operaciones en los procesadores
1.4.1. Aritmtica de enteros
1.4.2. Aritmtica de Punto Fijo
1.4.3. Aritmtica de Punto Flotante (IEEE 754)
1.4.4. Descripcin de control de flujo de un programa
1.4.5. Otras operaciones de extensibilidad
2. El set de instrucciones de una arquitectura y programacin
(HAD: 20 / HPP: 10, HI:
30)
2.1. El manual de instrucciones a modo de usuario (User-Level ISA)
2.1.1. Modelo de programacin del ISA
2.1.2. Instrucciones aritmticas bsicas
2.1.2.1.Suma / Resta (add, sub)
2.1.2.2.Operaciones lgicas bit-a-bit (or, and, xor)
2.1.2.3.Desplazamiento de bits (srl, sra, sll)
2.1.2.4.Comparaciones (cmp, eq)
2.1.3. Instrucciones bsicas
2.1.3.1.Carga de constantes (lui, auipc)
2.1.3.2.Movimiento entre registros (mv)
2.1.4. Control de programa
2.1.4.1.Saltos incondicionales (jmp)
2.1.4.2.Saltos condicionales (branches)
2.1.4.3.Saltos asncronos
2.1.4.3.1.
Causadas por interrupciones internas
2.1.4.3.2.
Causadas por interrupciones externas
2.1.4.3.3.
Control de interrupciones
2.1.5. Carga y guardado en memoria (ld, st)
2.1.6. Instrucciones de depuracin (scall, sbreak)
2.1.7. Instrucciones de creacin de hilos (fence)
2.1.8. Instrucciones de extensibilidad del procesador
2.1.8.1.Multiplicacion / Divisin (mul, div)
2.1.8.2.Operaciones atmicas
2.1.8.3.Operaciones de punto flotante
2.1.8.4.Otras operaciones disponibles
2.2. Programacin del procesador
2.2.1. El lenguaje ensamblador (assembler)
2.2.2. Descripcin de un compilador (gcc)

2.2.3. Construccin de una cadena de herramientas (toolchain)


2.2.4. Programas de ejemplo en base a la arquitectura
2.2.4.1.Programa hola mundo.
2.2.4.2.Programa de suma de dos enteros
3. La Unidad Central de Procesamiento
(HAD: 20 / HPP: 10 / HI: 30)
3.1. Componentes, Estructura y Funcin del Procesador
3.1.1. La unidad Aritmetico-Lgica (ALU)
3.1.1.1.Sumador / Restador
3.1.1.2.Operaciones lgicas bit-a-bit (bitwise operations)
3.1.1.3.Desplazamiento de bits
3.1.1.4.Comparaciones enteras
3.1.1.5.Generacin de banderas u otros estados especiales
3.1.1.6.Bypass
3.1.2. El contador de programa (PC)
3.1.3. El decodificador de Instrucciones (Instruction Decoder)
3.1.4. El archivo de registros (Register File)
3.1.5. Interfaz de memoria (Memory Interface)
3.1.6. La mquina de estados
3.1.7. Otros componentes que dan extensibilidad a la CPU
3.1.7.1.Multiplicador / Divisor
3.1.7.2.Unidad de punto flotante (FPU)
3.1.7.3.Operaciones de encriptado y seguridad
3.1.7.4.Descripcin de otros posibles componentes
3.2. Descripcin del pipeline
3.3. Interrupciones del procesador
3.3.1. Interrupciones internas
3.4. Control del cableado y cambios de la arquitectura
3.4.1. Arquitectura In-Order
3.4.2. Arquitectura Out-of-Order
3.4.2.1.Impacto del compilador y la arquitectura.
3.4.2.2.Evaluacin de desempeo vs necesidad
3.5. Ejemplos y tipos de procesadores, diferencias, potencialidades: MicroprocesadoresMicrocontroladores-DSPs
4. El Computador
(HAD: 20 / HPP: 10 / HI: 30)
4.1. Buses del Sistema
4.1.1. Descripcin fsica de un bus
4.1.1.1.Ancho del bus e impacto en las operaciones
4.1.1.2.Acceso directo a memoria (DMA)
4.1.2. Ejemplos de buses populares
4.1.2.1.Interfaz nativa del procesador.
4.1.2.2.AXI-4
4.1.2.3.APB
4.1.2.4.AHB
4.1.2.5.Wishbone
4.1.3. Interconexin maestro-esclavo
4.1.3.1.Aleatorizador
4.1.3.2.Convirtiendo entre buses
4.1.4. Extensibilidad del bus

4.1.4.1.Caches
4.1.4.2.Sistemas de plug & play
4.2. Memoria Interna
4.2.1. Descripcin del mapa de memoria
4.2.2. Concepto de ancho de banda, localidad y jerarqua de memoria.
4.2.3. Organizacin de la memoria principal
4.2.4. Memoria externa
4.3. Sistemas de entrada-salida
4.3.1. Descripcion de la lectura/escritura en un dispositivo
4.3.2. Utilizacin de las interrupciones del procesador
4.3.2.1.Auditor de interrupciones
4.3.3. Algunos ejemplos clsicos de controladores
4.3.3.1.GPIO
4.3.3.2.PWM
4.3.3.3.UART
4.3.3.4.Controlador PS/2
4.3.3.5.SPI y controlador de SD-Card
4.3.4. Extendiendo los buses para aplicaciones especficas
4.3.4.1.GPU
4.3.4.2.Proyecto de materia

METODOLOGIA

ESTRATEGIAS PEDAGOGICAS Y CONTEXTOS POSIBLES DE APRENDIZAJE PARA HORAS


TIPO TAD Y TI
El curso se desarrollar mediante la combinacin de actividades tericas (4 horas semanales)
y de tipo prctico, en sesiones de dos horas cada quince das. En las actividades tericas se
expondrn los conceptos, mtodos de diseo, as como la solucin de problemas
relacionados con los temas tratados. Se dejar como trabajo independiente un grupo de
actividades que afiance los elementos expuestos y entrene al estudiante en el pensamiento
lgico y la creacin de habilidades.
EVALUACIN DE LA ASIGNATURA
La evaluacin del curso se realizar integrando elementos de tipo conceptual, procedimental
y actitudinal.
Se realizarn tres evaluaciones tericas la semana siguiente a la finalizacin de cada bloque
temtico (Los bloques 1 y 2 se evalan juntos).
Las sesiones prcticas involucran una evaluacin integral de preparacin para cada una de
las sesiones, de actitudes, trabajo colaborativo y actitud investigativa durante la sesin, y
realizacin de informes ajustndose a normas internacionales de divulgacin cientfica
despus de la sesin. Los estudiantes se acomodarn en grupos de mximo 2, pero se
enfocar cada uno en realizar uno de los componentes del procesador. Al finalizar la prctica,
cada grupo contar con 15 minutos de exposicin para explicar cmo solucion su problema
y como se implementa (modo de uso).
Un quinto componente de la nota corresponde a una evaluacin de la participacin, actitud
de trabajo y realizacin de actividades tipo taller durante todo el desarrollo del curso.
Los porcentajes son decididos por cada profesor.
Los propuestos son los siguientes:
1.
2.
3.
4.

Evaluacin 1 (Generalidades y modelo de programacin y descripcin del ISA): 25%


Evaluacin 2 (La unidad central de procesamiento, construccin en hardware): 20%
Evaluacin 3 (El computador, interconexin, buses y controladores generales): 20%
Talleres y construccin del proyecto final: 30%
a. Fase 1 (Ensamblador, construccin del toolchain y programas de ejemplo):
33%
b. Fase 2 (La unidad central de procesamiento. Componente construido y
exposicin de su construccin): 33%

c. Fase 3 (El computador. Construccin de un componente de propsito


especfico y uso del mismo construyendo un controlador para la arquitectura):
33%
5. Asistencia a clase mediante participacin: 5%

BIBLIOGRAFIA

BIBLIOGRAFA BSICA Y COMPLEMENTARIA:


A. Waterman, Y. Lee, D. A. Patterson, and K. Asanovi. The RISC-V instruction set manual,
volume i: User-level ISA, version 2.0 EECS Department, University of California, Berkeley,
Tech. Rep. UCB/EECS-2014-54, May 2014
ARM, AMBA AXI and ACE protocol specification, 2011, pp. 1-121
STALLINGS, William. Organizacin y arquitectura de computadores. 5 ed. Prentice Hall.
BREY, Barry B. Los microprocesadores INTEL 8086/8088/80186/80286/80386 y 80486. 5
Ed. Prentice Hall.
PATTERSON, David. Computer Organization and Design: The hardware/ software interface
/David A. Patterson, John L. Hennessy. 2nd ed.
ANTONAKOS James L, An Introduction To The Intel Family Of Microprocessors,
Prentice-Hall, 3 ed.

Вам также может понравиться