Principios de Organización de Computadoras

La asignatura Principios de Organización de Computadoras (Computer Organization) es uno de los cursos principales de la especialidad de Ciencia y Tecnología de la Computación.

La organización de computadoras estudia principalmente la composición de los diversos componentes de hardware dentro del sistema informático, sus principios de funcionamiento y cómo cooperan entre sí para completar la ejecución de programas.

Al estudiar los principios de organización de computadoras, comprenderás por qué la CPU puede ejecutar programas, cómo la memoria almacena datos, cómo se ejecutan las instrucciones y todo el proceso de una computadora desde que se enciende hasta que ejecuta un programa.

Este tutorial utiliza numerosos ejemplos e ilustraciones para ayudar a los lectores a construir un sistema completo de conocimientos informáticos de bajo nivel, sentando una base sólida para el estudio de cursos como sistemas operativos, principios de compilación, bases de datos y redes de computadoras.


¿Qué son los Principios de Organización de Computadoras?

Los principios de organización de computadoras estudian principalmente la estructura de composición del sistema de hardware de la computadora y su mecanismo de funcionamiento. Se sitúan entre los circuitos digitales y la arquitectura de computadoras, y son una base importante para comprender el mecanismo de funcionamiento de las computadoras modernas.

Esta disciplina se centra en cómo cooperan los diversos componentes de la computadora, incluidos los componentes centrales como la unidad central de procesamiento (CPU), la memoria, los dispositivos de entrada y salida, el bus y el controlador.

  • Comprender la estructura interna del hardware de la computadora
  • Dominar el proceso de ejecución de los programas en la computadora
  • Aprender los principios de funcionamiento de los componentes centrales como CPU, memoria y bus
  • Comprender tecnologías clave como el conjunto de instrucciones, el pipeline, las interrupciones y la caché
  • Sentar las bases para el estudio de sistemas operativos, principios de compilación y desarrollo embebido

¿Quién debería leer este tutorial?

Este tutorial es adecuado para estudiantes de especialidades relacionadas con la informática y desarrolladores que deseen comprender en profundidad los principios subyacentes de las computadoras.

  • Estudiantes de la especialidad de Ciencia y Tecnología de la Computación
  • Ingenieros de desarrollo de software
  • Estudiantes que se preparan para el examen de posgrado, el examen de servicio civil o el examen de nivel de computación
  • Desarrolladores que deseen comprender en profundidad el mecanismo de trabajo de la CPU y la memoria
  • Ingenieros dedicados al desarrollo de sistemas operativos, compiladores y sistemas embebidos

Lo que necesitas saber antes de estudiar este tutorial

Antes de estudiar este tutorial, se recomienda tener ciertos conocimientos básicos de informática, lo que ayudará a comprender mejor el sistema de hardware de la computadora.

  • Conocimientos básicos de informática
  • Fundamentos de C o Python
  • Métodos de representación en binario, decimal y hexadecimal
  • Fundamentos básicos de lógica digital (basta con tener una idea general)
  • Ser capaz de utilizar la computadora con soltura para el desarrollo de programas

Composición del sistema informático

Un sistema informático completo generalmente se compone de un sistema de hardware y un sistema de software. El sistema de hardware incluye principalmente las siguientes partes:

                 计算机系统
                     │
        ┌────────────┴────────────┐
        │                         │
    硬件系统                  软件系统
        │
 ┌──────┼──────────────┐
 │      │      │       │
CPU   存储器   输入设备  输出设备
 │
 ├── 运算器(ALU)
 ├── 控制器(CU)
 └── 寄存器(Register)


Primer ejemplo de los principios de organización de computadoras

A continuación se muestra un sencillo programa en C que parece tener solo una línea de código, pero en el interior de la computadora pasa por múltiples procesos como compilación, carga, captación de instrucciones, decodificación y ejecución.

Ejemplo

#include <stdio.h>

int main()
{
    printf("Hello World!\n");
    return 0;
}

La ejecución del programa pasa aproximadamente por los siguientes pasos:

  • El código fuente se compila en instrucciones de máquina
  • El programa se carga en la memoria
  • La CPU extrae la instrucción de la memoria (Fetch)
  • El controlador decodifica (Decode)
  • La unidad aritmética ejecuta la instrucción (Execute)
  • El resultado se escribe de nuevo en el registro o en la memoria (Write Back)

Documentación de referencia

  • «Computer Organization and Design» (Organización y Diseño de Computadoras) David A. Patterson, John L. Hennessy
  • «Computer Systems: A Programmer's Perspective (CSAPP)» (Comprensión profunda de los sistemas informáticos) Randal E. Bryant, David R. O'Hallaron
  • «Principios de Organización de Computadoras (Tang Shuofei)»
  • Intel® 64 and IA-32 Architectures Software Developer's Manual
  • ARM Architecture Reference Manual
Otros recursos