Arquitectura de computadoras

Evaluación

Bibliografía

Temario

Ejercicios vistos en clase

Calendario:

Num.Tema LigasLectura(s)
1   Presentación del curso pptx; pdf COD:HSI 1.1, 1.2
2   Sistemas numéricos pptx; pdf Sistemas de numeración y aritmética binaria
3   Representación de números en binario pptx; pdf Representación de números en binario
4   Rendimiento y sus factores pptx; pdf COD:HSI 1.6, 1.10
5   Ley de Amdahl pptx; pdf COD:HSI 1.10
6   Organización de computadoras pptx; pdf COD:HSI 1.3
7   Lenguaje ensamblador MIPS pptx; pdf COD:HSI 2.1 - 2.10
8   x86 overview pptx; pdf COD:HSI 2.17
Modern x86 Assembly Language Programming
9   ARM overview pptx; pdf COD:HSI 2.16, 2.18
Modern Arm Assembly Language Programming
10   Subword Parallelism pptx; pdf COD:HSI 3.6, 3.7
Modern Parallel Programming
11   Procesador secuencial pptx; pdf COD:HSI 4.1, 4.3, 4.4
12   Arquitectura pipeline pptx; pdf COD:HSI 4.5
13   Arquitectura superescalar pptx; pdf COD:HSI 4.10
14   Comparacion ARM / Intel pptx; pdf COD:HSI 4.11
15   Introducción al sistema de memoria pptx; pdf COD:HSI 5.1, 5.2
16   Conceptos básicos de cachés pptx; pdf COD:HSI 5.3
17   Rendimiento del caché pptx; pdf COD:HSI 5.4
18   Cachés y algoritmos pptx; pdf COD:HSI 5.4
CS:APP 6.5
19   Memoria virtual pptx; pdf COD:HSI 5.5
20   Un framework común para la memoria pptx; pdf COD:HSI 5.8
21   Coherencia del caché pptx; pdf COD:HSI 5.10
22   Optimización de programas pptx; pdf CS:APP 6.5
23   Procesadores paralelos pptx; pdf COD:HSI 6.1-6.4

Lecturas

  1. The IAS Computer Family Scrapbook: pdf.
  2. Sistemas numéricos: pdf.
  3. Representación de números en binario: pdf.
  4. An Introduction to Floating-Point Arithmetic: liga.
  5. 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.

ARM

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

x86

  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. ASM86 Language Reference Manual: pdf.
  8. Intel 80386 Programmer's Reference Manual: pdf.
  9. i486 Microprocessor Programmer's Reference Manual: pdf.
  10. Register Usage Conventions: pdf.
  11. Processor Flags and Jumps: pdf.
  12. The Carry flag and the Overflow flag in binary arithmetic: liga, copia local.
  13. System V ABI / AMD64 Architecture Processor Supplement: pdf.
  14. Demystifying Intel Branch Predictors: pdf
  15. 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. SIMD in Pure Python: liga.
  3. How to Write Fast Numerical Code: pdf.
  4. A Fast, Compact Approximation of the Exponential Function: pdf.
  5. Programming Pearls: liga.


Última actualización: 24/4/2025

Home