Búsqueda

lunes, agosto 21, 2006

CPU

Un par de comentarios del envío anterior, me han recordado uno de esos conceptos que la gente suele utilizar de forma equivocada: la CPU. Hay mucha gente que llama CPU a la caja o torre donde se encuentra la electrónica de un ordenador, en contraposición a elementos periféricos como el monitor, teclado o ratón. Se ha convertido en uso común en el mundo de la informática, y sin embargo, la CPU es algo completamente diferente.

CPU son las siglas de Central Processing Unit, que quiere decir, Unidad Central de Proceso (existe literatura en castellano en la que se utilizan precisamente las siglas UCP). ¿Y eso qué es? Pues básicamente el cerebro de un ordenador. La CPU es el circuito que se encarga de decodificar las instrucciones que conforman un programa (y que se hayan en la memoria principal), y ejecutarlas.

Comprender su funcionamiento es relativamente simple a nivel conceptual. Un programa no es más que un secuencia de números que están guardados de forma secuencial en la memoria principal del sistema (la famosa RAM). Estos números pueden ser instrucciones o datos. La memoria es algo externo a la CPU, pero ésta tiene unas pequeñísimas y rapidísimas memorias internas llamadas registros (para haceros una idea, lo normal en la actualidad es que sean de 32 ó 64 bits, es decir, 4 u 8 bytes). Uno de estos registros es el llamado contador de programa, y su misión es ir apuntando en todo momento a la posición de memoria que contiene la instrucción a ejecutar.

¿Apuntar? ¿Posición? Veamos, imagináos la memoria principal como un inmenso armario lleno de cajones. Cada cajón está numerado secuencialmente, y puede contener un fragmento de información (que puede ser 1 byte, ó 2, o lo que sea, dependiendo del diseño). La forma de referirme a cada cajón sería a través de su número, es decir, su posición en el armario. Cuando un registro o una posición de memoria tiene almacenado como dato, un número que se interpreta como una posición de memoria, se dice que está apuntando a esa posición, ya que me está indicando esa posición.

Sigamos, la CPU lee el número que se encuentre en la posición de memoria apuntada por el contador de programa, y la interpreta como una instrucción. Cada CPU tiene un juego de instrucciones, que especifican qué significa cada número. Imaginemos una CPU en la que el número 1, significa sumar, el 2 saltar a otra instrucción, etc. La mayoría de las instrucciones necesitan algún dato adicional. Por ejemplo, para que la instrucción sumar tenga alguna utilidad, hay que decirle qué números debe sumar. Dependiendo de la instrucción concreta, puede que justo después de ésta estén los datos, o puede que lo que haya sea otro número que nos apunte a la posición de memoria donde están, o puede que ya estén en otros registros de la CPU porque alguna instrucción anterior los haya puesto ahí. En cualquier caso, la CPU va leyendo instrucciones y datos, ejecutando dichas instrucciones, y modificando el contador de programa en el proceso.

Una parte importante de la CPU es la llamada ALU (Arithmetic Logic Unit, es decir, unidad aritmético-lógica), que se encarga de realizar las operaciones matemáticas, que básicamente son sumas, desplazamientos de bits y operaciones lógicas del álgebra de Boole, si bien, hay ALUs que además incluyen multiplicaciones, divisiones y aritmética de coma flotante (es decir, que pueden manejar números del tipo 6,6742x10-11).

En la prehistoria de la informática, los distintos componentes de la CPU estaban físicamente separados, en enormes circuitos. En la actualidad, la CPU se haya integrada dentro de un único chip llamado microprocesador. Es importante hacer notar que si bien la CPU está dentro del microprocesador, no todo el microprocesador consiste en la CPU. En un microprocesador se integran circuitos adicionales como puede ser una memoria caché, que consiste en una pequeña memoria muy rápida (no confundir con los registros de una CPU; esta memoria es bastante más grande) en la que se cargan fragmentos de la memoria principal , de forma que la CPU no tenga que acceder a dicha memoria principal (que es más lenta) para obtener cada instrucción o dato. Si os parece una distinción sutil o complicada, pensad en estos términos: un microprocesador es un chip, con sus patitas metálicas, que podemos tocar y sujetar en la mano. Un Pentium 4, por ejemplo, es un microprocesador. La CPU es, sin embargo, parte del interior de un microprocesador.

Sigamos. Un microprocesador, así solito, no sirve de mucho. Debe estar conectado a alguna memoria, para obtener las instrucciones y datos con los que operar. En un ordenador, el microprocesador y los chips de memoria (que normalmente consisten en varios chips iguales y en fila) se encuentran insertados en lo que se llama placa base, que consiste en una tarjeta (de cierto tamaño) de circuitos impresos, que conectan el microprocesador con la memoria, y otros circuitos que actuan como interfaz con otros elementos (como el disco) y el exterior (como teclado, y ratón, ya que no queremos un ordenador autista ¿no?).

En un ordenador de sobremesa actual, todo eso se encuentra dentro de esa caja metálica que muchos llaman CPU, junto con las unidades de disco, otras tarjetas con funcionalidades específicas (WiFi, gráficos 3D, etc) e incluso huecos y ranuras para añadir más unidades de disco o nuevas tarjetas, e ir ampliando nuestro ordenador. Pero fijáos que en realidad, esa caja no es la CPU. Esa caja tiene dentro la placa base, que a su vez incluye el microprocesador, en cuyo interior se encuentra integrada la CPU.

Así que a menos que aleguéis que estais utilizando una metonimia, no es correcto llamar CPU a esa caja.

31 comentarios:

  1. Creo, o más bien se, que soy el culpable del último post, jejeje. Es q me da mucha rabia la manía de la gente de no llamar a cada cosa por su nombre.

    Unos ejemplos prácticos:

    Cualquier pan de molde es "Pan Bimbo".

    Cualquier noticiario de la tele es "el telediario".

    Cualquier bebida de cola es "Coca Cola". No, cualquiera no, pero si pides coca cola donde solo tienen pepsi te ponen pepsi sin preguntar. Me pasa tb con el sprite y el 7up q es el que pido yo.

    Cualquier cacao, por muy chano que sea, es "colacao".

    La gente no tiene reproductores de MP3 (aunque reproducen más formatos), tiene un MP3 a secas.

    La gente no tiene ordenadores con componentes, características, marcas o modelos tiene "Windows XP" a secas (fui vendedor, lo sufrí en mis cannes).

    Un DVD sea +R -R o +JQLPEK, doble capa o la leche en verso, es siempre un "CD".

    Podría seguir pero no pararía.

    Por cierto, es q no estoy registrado y por eso salgo como anónimo.

    Me presento, soy SuperWebon.

    Un saludo.

    ResponderEliminar
  2. Acabas de descubrir la pólvora, eso pasa de siempre, llamar a las cosas por la primera marca o la mas famosa...

    De todas formas, llamar a un computador "ordenador" eso si que es grabe...

    ResponderEliminar
    Respuestas
    1. No menos grave que escribir "grabe".

      Eliminar
  3. Yo me apunto a la metonimia. Es que suena muy bien :-)

    SuperWebon, yo tampoco estoy registrado. Si quieres que salga tu nombre, no tienes más que pinchar en 'Otros'.

    ResponderEliminar
  4. Eso me pasa por no mirar.

    Gracias.

    ResponderEliminar
  5. En español utilizamos ordenador porque asimilamos la palabra francesa ordinateur (o algo asi) en lugar de la inglesa computer, en los paises latinoamericanos donde la influencia del inglés es mayor se utiliza más computadora, pero en España el francés ha sido mucho más importante sobretodo hace unas décadas.... buscando en google he encontrado esto:
    articulo

    ResponderEliminar
  6. me pregunto, ¿cómo hemos terminado usando esta metonimia? ¿acaso de la epoca en la que una cpu tenia el tamaño de un cajón real?

    ResponderEliminar
  7. yo lo que no veo tanto problema es en llamar al microprocesdor, cpu. Ademas microprocesador es una palabra muy larga. Pero lo que no se puede es llamar CPU a la caja xD

    ResponderEliminar
  8. SuperWebon, si bien todos los ejemplos que das son ciertos, debes tener en cuenta que el lenguaje es algo dinámico que hacen los hablantes.

    El castellano es una corrupción del latín. Como ejemplo de metonimia aceptada, "novius" en latín se refería únicamente al día de la boda, mientras que en castellano se entiende con un sentido más amplio.

    Si te interesa la etimología, descubrirás que en su origen la mayoría de las palabras se escribían de otra forma y tenían normalmente significados total o parcialmente diferentes a los que nosotros les damos.

    Está claro que en determinados textos la precisión de los términos es imprescindible para diferenciar conceptos diferentes, pero en el lenguaje coloquial, me temo que es el uso lo que el da significado a las palabras. Si no que se lo pregunten a Google.

    ResponderEliminar
  9. Quiero que salga mi nombre22 agosto, 2006 17:07

    Sólo pretendía salir en los comentarios... :D Y por cierto, yo la llamo RCC, que significa Ruidosa Caja de los Cojones.

    ResponderEliminar
  10. Pues desde que tengo uso de razón (hará un par de años) siempre he llamado a esa Ruidosa Caja de los Cojones simplemente "Gabinete"

    ResponderEliminar
  11. Pues aun teniendo razón, la verdad es que las cosas son como son. Es decir como quieran que sean. Pero tu vas a una persona con pocos conociemientos de informática, y le cascas, "si el ordenador", y el menda entiende que el ordenador es todo, es decir la caja donde se encuentran los componentes como, el disco duro, la memoria, procesador principal, los adaptadores de video, los conectores serie, paralelo, usb, Wirefire,........ Osea que aún siendo lamentable, acabas antes simplificando y diciendo, "LA CPU"

    ResponderEliminar
  12. Vamos ... como siempre estas defendiendo mis propias ideas ... jeje. Gracias.

    Otra de las aberraciones es llamarle "disco duro". Ya casi que me he ido acostumbrando a que llamen y me digan "tengo puesto un CD en mi disco duro ..."

    Desde 1975 estoy en las lides de la informatica, asi que imaginate la de anecdotas y el oficio que he tenido que desarrolar en la "traduccion" de terminos.

    ResponderEliminar
  13. ¡Cómo os gusta complicaros la vida!
    ¿Y por qué no más simplemente "la caja" o "la torre", según disposición?
    Suena mucho menos intimador para los no iniciados y, al menos a mi, no hace chirriar los oídos como CPU o disco duro.

    ResponderEliminar
  14. Un artículo excelente, claro, preciso y sin esas frases que hacen decir "eso no es del todo así pero a ver como se explica eso a un profano.". Eso si, me he pasado todo el artículo buscando mentalmente la palabra metonimia.

    ResponderEliminar
  15. ¿Puedo tocar las narices un poquito? :P Veo que es bastante común llamarle a la CPU o al micro el "cerebro" del ordenador. Pero yo creo que el cerebro sería el micro + la memoria (+ los buses entre ellos, pero eso ya es tocar demasiado las narices), ¿no?.

    ResponderEliminar
  16. Creo que no, hay procesadores que con sus propios registros ya tienen para almacenar lo que necesiten y no requieren memoria. Los datos de entrada pueden provenir de un entrenador lógico por ejemplo. vale que no sirve de mucho, pero nuestro cerebro tampoco sirve de mucho sin corazón o pulmones...

    ResponderEliminar
  17. Jose, evidentemente hablo de los ordenadores que tienen memoria externa.

    ResponderEliminar
  18. La denominación de CPU para toda la caja donde va la placa madre (con el microprocsador, o verdadera CPU) el disco duro y otros periféricos viene de los orígenes de la informática, como Ruben bien que sabrá (macho, mi primer contacto con estos cacharros fue hacia 1978, un viejo IBM 1130). Antes de los PC, era normal que la parte más importante de un ordenador era un enorme cacharro (más o menos grande según el equipo), donde se almacenaban las tripas del procesador, la memoria y poco más. Eso era la CPU, y se le conectaban los demás periféricos: impresoras, monitores, teclados y memorias.
    Cuando aparecieron los PC se mantuvo el esquema. Y la carcasa que todos conocemos vino a ser la CPU.
    Personalmente soy partidario de mantener la metanimia, y llamar CPU a todo ese cacharro al que te dan ganas de darle una patada cuando el sistema no funciona... ya se sabe: si le puedes dar una patada es "hardware", si no, es "software"

    ResponderEliminar
  19. Buenas, veo que todos entán comentando porque si y porque no llamar CPU al gabinete, pero me parece que es mucho más importante, darse cuenta que están llamando CEREBRO al CPU o al Micro Procesador. ¿¡CEREBRO!? ¿¡Están todos LOCOS!? Por suerte y gracias a Dios, hoy por hoy las computadoras, ordenadores o como quieran llamarlas, no tienen CEREBRO. Pueden tener un super procesador con 50000 núcleos y 3000Mb de cahce, o dos CPUs, o tres, o los que les quieran poner (como la super que está haciendo IBM con 32000) pero ni aún así es un cerebro. El día que las computadoras tengan en verdad un cerebro, va a ser el día en que nuestra raza comience a peligrar de verdad y todas esas películas que parecen delirios se hagan realidad. Un procesador, no sigue siendo otra cosa que millones de transistores apilados, por más que las empresas nos quieran vender miles de tecnologías nuevas e innovadoras, o sea, son calculadoras super potentes, pero nada más. Usen vuestros cerebros para darse cuenta. Saludos desde Argentina.

    ResponderEliminar
  20. Si lees con atención, verás que en el artículo, la palabra "cerebro" está entre comillas.

    Era una forma de hablar, de expresar lo que es una CPU de forma simple y rápida. Una metáfora.

    Por cierto, que un ordenador es bastante más que una calculadora superpotente. Una calculadora sólo realiza operaciones matemáticas. Un ordenador, además ejecuta de forma automatizada secuencias de instrucciones, en las que se incluyen bucles, saltos de secuencia y desiciones.

    ResponderEliminar
  21. Por supuesto que puede ser tomado como una metáfora llamar "cerebro" al CPU, y con el mismo criterio podría estar bien llamar CPU al gabinete. La cuestión es que si son tan puntillosos para algunas cosas, seánlo para todas. El CPU no es un CEREBRO, no te engañes, aprecia que aún no te han superado, soy amante de las computadoras y sería ridículo no reconocer que una computadora puede realizar miles o tal vez millones de cálculos en muchísimo menos tiempo que yo, pero no tiene cerebro. Y por cierto, esas secuencias automitazadas de las que hablas, fueron programadas por alguna persona en algún omento, una persona que posee un cerebro real. Así como las decisiones de las que hablas y ahí es donde diste en la tecla, DECISIONES algo que por ahora no pueden realizar las computadoras por sí solas. Saludos desde Argentina.

    ResponderEliminar
  22. Esto... Verás, en teoría de la computación, una decisión es un tipo de estructura de control de flujo. Consiste en ejecutar un conjunto de instrucciones diferente, dependiendo de la evaluación de una expresión. A su implementación en un lenguaje de programación se le llama "sentencia condicional", o de forma coloquial "if-then-else", o simplemente "if", puesto que son las palabras reservadas utilizadas para esta estructura en la inmensa mayoría de lenguajes de programación. Y es imprescindible en cualquier lenguaje de programación (al menos, en los procedurales).

    No sé por qué me repites lo mismo y me das esa charla insistiendo en que una CPU no es un cerebro. Eso ya lo sé, creía que había quedado claro al explicar que usé esa palabra como metáfora. Sé perfectamente que un ordenador no tiene cerebro y que las instrucciones son creados por personas. De hecho, yo soy una de esas personas que crean programas. Así me gano la vida.

    Cito: ¿Y eso qué es? Pues básicamente el "cerebro" de un ordenador.

    ¿Alguien puede creer que intento decir que la CPU es un cerebro? ¿Alguien dudaría que se trata de un simil o de una metáfora? Y eso no es para nada lo mismo que llamar constantemente CPU a la caja. Intentas comparar una expresión utilizada en una única ocasión, como introducción a un tema para gente no muy versada en la materia (y entrecomillada para que no haya dudas), con el uso sistemático en la vida cotidiana de un término.

    ResponderEliminar
  23. Vuelvo a rpetirte por, última vez, que entiendo perfectamente tu metáfora, como entiendo a las personas que llaman CPU a la caja. Pero de todas maneras es un error, inevitable por supuesto, el que has cometido al tratar de dar una denominación al CPU. Y como te he dicho INEVITABLE, ya que todos en algún momento lo hemos utilizado, pero si haces incapié en como se llama a la caja, debes hacer incapié en todos los errores que se cometen y que al parecer no quieres reconocer. Mi cuestionamiento no es tegnológico, sino expresivo. Tengo 31 año y desde los 10 tuve la suerte de usar computadoras, antes de la incursión de la PC, antes de la incursión de la Commodore 64, así que te agradezco la clase de programación, pero no la necesito, a pesar que eres una persona más "Versada" que yo en el tema.

    ResponderEliminar
  24. te kagas!!!! no tengo ni papa de na, lo uniko k sois tos unos rayados y diskutis a lo tonto. pos para mi el ordenador si tiene cerebro, y dios es son goku.
    ahora teneis otro tema para discutir un ratillo...

    ResponderEliminar
  25. Bueno, a leer esto de la caja del cpu, estoy de acuerdo en que no se llama CPU. Solo digo esto poque no pude encontrar nombre en el documento y debería. Para las personas que no conocen su nombre, les daré el nombre de esa caja, si no me equivoco, esa caja se llama "case". Si estaba el nombre en el documento, lo lamento, pero era mi deber decírselo.


    Gracias

    ResponderEliminar
  26. "case" es una palabra inglesa. No me suena haberla leído u oído en castellano. Se puede traducir por "maleta", "caja", "cajón"... en general se refiere a algo que contiene cosas, por lo que es muy adecuada.

    ResponderEliminar
  27. Me pareció muy buena explicación, pero entonces me quedé con una duda, y creo que sería buen cierre, ¿cómo le podríamos llamar a esa caja?

    ResponderEliminar
  28. Mmmm... como decían por allí arriba, "caja" o "torre", estaría bien.

    ResponderEliminar