Material complementario de «Estructura de computadores»

Tema 1. Elementos del computador y su interconexión

  • Fotografías moleculares de circuitos integrados.
    Página web en la que se muestran fotografías microscópicas de circuitos integrados y procesadores de distintos fabricantes. Entre otras, se pueden ver fotografías de algunos de los procesadores MIPS. También tiene un apartado, llamado Zoo del silicio, en el que se ilustra el proceso de fabricación de los chips y se muestran algunas curiosidades (imágenes y logos ocultos en procesadores).
  • La guía completa de la memoria (pdf en castellano).
    Documento del fabricante de memorias Kingston sobre la memoria principal. Trata, entre otros, los siguientes temas: qué es la memoria, cuánta memoria es suficiente, cómo funciona, cómo se verifica la integridad de los datos y qué tecnologías de memoria existen.
  • Diálogo sobre las memorias de ferrita.
    Las memorias de ferritas fueron una de las primeras formas de memoria magnética utilizadas por los computadores, motivo por el que fueron adoptadas en muchos emblemas relacionados con la profesión informática. Esta página web describe la composición y funcionamiento de las memorias de ferrita.

Tema 2. Arquitectura del procesador

  • Prefijos binarios.
    El sistema internacional de unidades (SI) define una serie de prefijos para indicar que una cantidad es múltiplo de 1.000, 1.000.000, etc. Así por ejemplo, se puede decir un kilometro (km) para referirse a 1.000 metros.
    En informática también se utilizan los prefijos del sistema internacional. Por tanto, 1 kilobyte (KB) es lo mismo que 1.000 bytes. 1 megabyte (MB) equivale a 1.000x1.000 bytes.
    Sin embargo, las cantidades informáticas se expresan en algunos casos como múltiplos de 1.024 (en lugar de hacerlo como múltiplos de 1.000). Así, para indicar 1.024 bytes se utiliza el prefijo binario kibi: 1 kibibyte (KiB) = 1.024 bytes. Para indicar 1.204x1.024 bytes se utiliza el prefijo binario mebi; 1 mebibyte (MiB) = 1.024x1.024 bytes.
    En la página de la Wikipedia sobre prefijos binarios se pueden ver los distintos prefijos binarios, cómo se comparan con los prefijos del SI, y en qué casos se utilizan unos y los otros.
  • Tutor en línea de python.
    Permite introducir código en python y observar la ejecución línea a línea del código introducido.
    El siguiente código permite observar el funcionamiento de las llamadas a función y el de las llamadas a funciones recursivas:

    def escribe_hola():
      print "Hola"

    def fact(n):
      if n!=1:
        return n*fact(n-1)
      else:
        return 1

    escribe_hola()
    print "El factorial de 3 es", fact(3)
  • Little endian o Big endian
    Página en la que se muestra cómo se almacenan los datos que ocupan más de 1 byte en función de si la arquitectura es Little endian o Big Endian.
  • Algoritmo de la burbuja
    Web en la que se describe el funcionamiento del algoritmo de ordenación de la burbuja. A diferencia del algoritmo propuesto en el libro, la variable j va desde n hasta i+1 (en el libro va desde i-1 hasta 0). El funcionamiento del algoritmo del libro será por tanto simétrico al mostrado en las animaciones de esta web.

Tema 3. Sistema de entrada/salida

  • Página principal de Arduino
  • Página principal de TinyCircuits
  • Visual Trace Route Tool
    Herramienta que permite ver de forma gráfica, sobre un mapa, la ruta por la que pasan los paquetes de internet entre dos nodos. Ofrece dos opciones. La primera de ellas, visualiza la ruta entre su servidor (yougetsignal.com) y otro servidor cualquiera. La segunda opción permite ver la ruta entre la IP de origen hasta su servidor (yougetsignal.com) y desde su servidor hasta el nodo indicado.
    En GNU/Linux se pueden utilizar los comandos traceroute y mtr para obtener el camino entre el nodo actual y el nodo que se quiere alcanzar. Dichos comandos muestran, además de la ruta, el tiempo que tarda un paquete en llegar a cada uno de los nodos por los que pasa.

Curiosidades