Presentación

Bienvenidos a la página de Arquitectura de Computadoras I del Departamento de Computación y Sistemas de la Facultad de Ciencias Exactas, de la UNICEN

A partir de enero de 2017, las novedades y enlaces interesantes se publican en la cuenta defbArqui1-UNICEN.

Arquitectura de Computadoras no trata sobre cómo construír edificios usando computadoras :-) Es una materia sobre cómo diseñar e interconectar los componentes para construír una computadora de acuerdo a una especificación funcional, con restricciones de rendimiento, precio, consumo de potencia y otros.

"The architecture is the "right" answer to the question: how does this system work?"
by Kevin Montagne, "Tackling Architectural Complexity with Modeling", Communications of the ACM, Vol. 53 No. 10, Pages 46-52, Oct. 2010
 
En este curso se aprende la arquitectura y el diseño de algunos procesadores convencionales para poder continuar en 4º año con arquitecturas avanzadas en Arquitectura de Computadoras y Técnicas Digitales. Las primeras unidades profundizan temas de aritmética de computadoras y diseño de la ALU en base a conceptos estudiados en Introducción a la Arquitectura de Sistemas y Electrónica Digital. A continuación se estudian y analizan conceptos de diseño de procesadores y se aprenden métricas que permiten evaluar el rendimiento de procesadores y sistemas de memoria. Finalmente, en este año 2012 se incorporan temas sobre jerarquía de memoria, incluyendo memorias cache y memoria virtual.

Algunas personas pueden creer que no hay nada que innovar en Arquitectura de Computadoras, que es una materia de historia. La realidad es que el desarrollo industrial sin precedentes de microprocesadores para PCs, dispositivos móviles, consolas de video juegos con la potencia de una supercomputadora de finales de los años 90 (Sony Playstation 3 con una performance de 1,8 TFlops, igual a la de Sandia Lab's ASCI Red de 1997), GPU/GP-GPUs, sistemas embebidos, y lógica programable entre otros, hacen de la Arquitectura de Computadoras una de las áreas más motivadoras e interesantes en informática.

Los objetivos que se pretenden alcanzar con esta asignatura son:

  1. Conocer arquitecturas de computadoras uniciclo, multiciclo, y segmentadas, las motivaciones detrás de la evolución tecnológica, y valorar las proyecciones sobre estas tecnologías a mediano plazo.
  2. Comprender qué factores determinan el rendimiento de un programa, evaluar cuantitativamente el rendimiento de diferentes arquitecturas de computadoras y diseñar estrategias para mejorar el rendimiento de los sistemas.

  3. Diseñar un procesador segmentado y otros subsistemas complejos utilizando lenguajes de descripción de hardware (VHDL/Verilog HDL).

  4. Utilizar herramientas EDA (Electronic Design Automation) de diseño y simulación de circuitos digitales.
  5. Comprender cómo un programa en C o en Java se convierte en código máquina y cómo es que el procesador ejecuta los programas en código máquina.