Arquitectura de computadoras

Evaluación

Bibliografía

Temario

Ejercicios vistos en clase

Slides

  1. Presentación del curso: pptx, pdf.
  2. Sistemas numéricos: pptx, pdf.
  3. Representación de números en binario: pptx, pdf.
  4. Rendimiento y sus factores: pptx, pdf.
  5. Ley de Amdahl: pptx, pdf.
  6. Organización de computadoras: pptx, pdf.
  7. Lenguaje ensamblador MIPS: pptx, pdf.
  8. x86 overview: pptx, pdf.
  9. ARM overview: pptx, pdf.
  10. Subword parallelism: pptx, pdf.
  11. El procesador: pptx, pdf.
  12. Pipelining - introducción: pptx, pdf.
  13. Pipelining - peligros: pptx, pdf.
  14. Superescalares - introducción: pptx, pdf.
  15. Superescalares - scheduling estático: pptx, pdf.
  16. Superescalares - scheduling dinámico: pptx, pdf.
  17. Superescalares - ejemplos: pptx, pdf.
  18. Optimización de programas: pptx, pdf.
  19. Memoria - introducción: pptx, pdf.
  20. Cachés: pptx, pdf.
  21. Organización del caché: pptx, pdf.
  22. Rendimiento del caché: pptx, pdf.
  23. Cachés multinivel: pptx, pdf.
  24. Diseño de cachés: pptx, pdf.
  25. Preguntas de cachés: pptx, pdf.
  26. Coherencia de cachés: pptx, pdf.
  27. Memoria virtual: pptx, pdf.
  28. Memoria - ejemplos: pptx, pdf.

Lecturas

  1. The IAS Computer Family Scrapbook: pdf.
  2. Sistemas numéricos: pdf.
  3. Representación de números en binario: pdf.
  4. Instrucciones por segundo: pdf.
  5. An Introduction to Floating-Point Arithmetic: liga.
  6. Modern Microprocessors: A 90-Minute Guide!: liga.

Utilerías

  1. Binary2Hex: liga.
  2. 32 bit single precision to IEEE 754 binary floating point standard: liga.
  3. Compiler Explorer: liga.

MIPS

  1. Programas de ejemplo:
    1. Ejemplos: 1, 2, 3, 4, 5, 6, 7, 8, 9.
    2. Ejemplo 1.
    3. Promedio de un arreglo de enteros.
    4. Promedio y suma del arreglo usando procedimientos.
    5. Cuenta los caracteres de un string.
    6. Lee y escribe un arreglo.
    7. Búsqueda lineal en arreglos versión 1/0 (está/no está).
    8. Búsqueda lineal en arreglos versión índice/-1.
    9. Búsqueda binaria en arreglos versión 1/0 (está/no está).
    10. Factorial recursivo.
    11. Bubble sort.
    12. Selection sort.
    13. Insertion sort.
    14. Generando overflow.
  2. Simulador MARS.
  3. Simulador PCSpim.
  4. La hoja verde.
  5. Tarjeta de referencia.
  6. MIPS Instruction Reference.
  7. Apéndice A del libro de Patterson y Hennessy.
  8. MIPS R10000: manual, artículo.

Benchmarks

  1. Benchmarks clásicos: zip.
  2. Colección de benchmarks de Roy Longbottom.
  3. Resultados para Dhrystone, Whetstone, Linpack y Livermore loops.
  4. Lista de benchmarks de SPEC (Standard Performance Evaluation Corporation).
  5. Información sobre el benchmark SPEC CPU2017.
  6. Descripción del benchmark SPEC CPU2017.
  7. How Not to Lie with Statistics: The Correct Way to Summarize Benchmark Results: pdf.

Datasheets

  1. Datasheet del 74LS181 (4-Bit ALU).
  2. Datasheet del 74F398 (Quad 2-Port Register).

ARM

  1. ARM Cortex-A9: pdf.
  2. ARMv8 Instruction Set Overview: pdf.
  3. Arm A64 Instruction Set Architecture: pdf.

x86-64

  1. Tablas de instrucciones: liga.
  2. Microarquitectura de procesadores Intel, AMD y VIA: liga.
  3. Intel 64 and IA-32 Architectures Software Developer Manuals: liga.
  4. Intel 64 and IA-32 Architectures Optimization Reference Manual: pdf.
  5. x86 and AMD64 Instruction Reference: liga.
  6. x86 Instruction Listings: liga.
  7. Intel 80386 Programmer's Reference Manual: pdf.
  8. i486 Microprocessor Programmer's Reference Manual: pdf.
  9. Register Usage Conventions: pdf.
  10. Processor Flags and Jumps: pdf.
  11. The Carry flag and the Overflow flag in binary arithmetic: liga.
  12. System V ABI / AMD64 Architecture Processor Supplement: pdf.
  13. Demystifying Intel Branch Predictors: pdf
  14. Intel Intrinsics Guide: liga.

Superescalares

  1. Microprocesador Alpha 21264: pdf, pdf.
  2. Compiling for Superscalars: pdf.
  3. The Design Space of Register Renaming Techniques: pdf.
  4. A Study of Branch Prediction Strategies: pdf.
  5. A Comprehensive Study of Dynamic Global History Branch Prediction: pdf.

Memoria

  1. What Every Programmer Should Know About Memory: pdf.
  2. When Caches Aren't Enough: Data Prefetching Techniques: pdf.
  3. A Survey of Recent Prefetching Techniques for Processor Caches: liga.
  4. Using 4KB Page Size for Virtual Memory is Obsolete: pdf.
  5. CSCI.4210 Virtual Memory: liga.

Programación

  1. What Every Computer Scientist Should Know About Floating-Point Arithmetic: liga.
  2. How to Write Fast Numerical Code: pdf.
  3. A Fast, Compact Approximation of the Exponential Function: pdf.
  4. Programming Pearls: liga.


Última actualización: 16/5/2024

Home