Arquitectura de computadoras
Ejercicios vistos en clase
Slides
- Presentación del curso:
pptx,
pdf.
- Sistemas numéricos:
pptx,
pdf.
- Representación de números en binario:
pptx,
pdf.
- Rendimiento y sus factores:
pptx,
pdf.
- Ley de Amdahl:
pptx,
pdf.
- Organización de computadoras:
pptx,
pdf.
- Lenguaje ensamblador MIPS:
pptx,
pdf.
- x86 overview:
pptx,
pdf.
- ARM overview:
pptx,
pdf.
- Subword parallelism:
pptx,
pdf.
- El procesador:
pptx,
pdf.
- Pipelining - introducción:
pptx,
pdf.
- Pipelining - peligros:
pptx,
pdf.
- Superescalares - introducción:
pptx,
pdf.
- Superescalares - scheduling estático:
pptx,
pdf.
- Superescalares - scheduling dinámico:
pptx,
pdf.
- Superescalares - ejemplos:
pptx,
pdf.
- Optimización de programas:
pptx,
pdf.
- Memoria - introducción:
pptx,
pdf.
- Cachés:
pptx,
pdf.
- Organización del caché:
pptx,
pdf.
- Rendimiento del caché:
pptx,
pdf.
- Cachés multinivel:
pptx,
pdf.
- Diseño de cachés:
pptx,
pdf.
- Preguntas de cachés:
pptx,
pdf.
- Coherencia de cachés:
pptx,
pdf.
- Memoria virtual:
pptx,
pdf.
- Memoria - ejemplos:
pptx,
pdf.
Lecturas
- The IAS Computer Family Scrapbook: pdf.
- Sistemas numéricos: pdf.
- Representación de números en binario: pdf.
- Instrucciones por segundo: pdf.
- An Introduction to Floating-Point Arithmetic:
liga.
- Modern Microprocessors: A 90-Minute Guide!:
liga.
Utilerías
- Binary2Hex:
liga.
- 32 bit single precision to IEEE 754 binary floating point standard:
liga.
- Compiler Explorer:
liga.
MIPS
- Programas de ejemplo:
- Ejemplos:
1,
2,
3,
4,
5,
6,
7,
8,
9.
- Ejemplo 1.
- Promedio de un arreglo de enteros.
- Promedio y suma del arreglo usando procedimientos.
- Cuenta los caracteres de un string.
- Lee y escribe un arreglo.
- Búsqueda lineal en arreglos versión 1/0 (está/no está).
- Búsqueda lineal en arreglos versión índice/-1.
- Búsqueda binaria en arreglos versión 1/0 (está/no está).
- Factorial recursivo.
- Bubble sort.
- Selection sort.
- Insertion sort.
- Generando overflow.
- Simulador MARS.
- Simulador PCSpim.
- La hoja verde.
- Tarjeta de referencia.
- MIPS Instruction Reference.
- Apéndice A del libro de Patterson y Hennessy.
- MIPS R10000:
manual,
artículo.
Benchmarks
- Benchmarks clásicos: zip.
- Colección de benchmarks de
Roy Longbottom.
- Resultados para
Dhrystone,
Whetstone,
Linpack y
Livermore loops.
- Lista de benchmarks de
SPEC (Standard Performance Evaluation Corporation).
- Información sobre el benchmark
SPEC CPU2017.
- Descripción del benchmark
SPEC CPU2017.
- How Not to Lie with Statistics: The Correct Way to Summarize Benchmark Results:
pdf.
Datasheets
- Datasheet del 74LS181 (4-Bit ALU).
- Datasheet del 74F398 (Quad 2-Port Register).
ARM
- ARM Cortex-A9:
pdf.
- ARMv8 Instruction Set Overview:
pdf.
- Arm A64 Instruction Set Architecture:
pdf.
x86-64
- Tablas de instrucciones:
liga.
- Microarquitectura de procesadores Intel, AMD y VIA:
liga.
- Intel 64 and IA-32 Architectures Software Developer Manuals:
liga.
- Intel 64 and IA-32 Architectures Optimization Reference Manual:
pdf.
- x86 and AMD64 Instruction Reference:
liga.
- x86 Instruction Listings:
liga.
- Intel 80386 Programmer's Reference Manual:
pdf.
- i486 Microprocessor Programmer's Reference Manual:
pdf.
- Register Usage Conventions:
pdf.
- Processor Flags and Jumps:
pdf.
- The Carry flag and the Overflow flag in binary arithmetic:
liga.
- System V ABI / AMD64 Architecture Processor Supplement:
pdf.
- Demystifying Intel Branch Predictors:
pdf
- Intel Intrinsics Guide:
liga.
Superescalares
- Microprocesador Alpha 21264:
pdf, pdf.
- Compiling for Superscalars:
pdf.
- The Design Space of Register Renaming Techniques:
pdf.
- A Study of Branch Prediction Strategies:
pdf.
- A Comprehensive Study of Dynamic Global History Branch Prediction:
pdf.
Memoria
- What Every Programmer Should Know About Memory:
pdf.
- When Caches Aren't Enough: Data Prefetching Techniques:
pdf.
- A Survey of Recent Prefetching Techniques for Processor Caches:
liga.
- Using 4KB Page Size for Virtual Memory is Obsolete:
pdf.
- CSCI.4210 Virtual Memory:
liga.
Programación
- What Every Computer Scientist Should Know About Floating-Point Arithmetic:
liga.
- How to Write Fast Numerical Code:
pdf.
- A Fast, Compact Approximation of the Exponential Function:
pdf.
- Programming Pearls:
liga.
Última actualización: 16/5/2024