SlideShare una empresa de Scribd logo
1 de 106
Descargar para leer sin conexión
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS                                               1


                       UT1. EXPLOTACIÓN DE SISTEMAS
                               INFORMÁTICOS

ÍNDICE
1     LA ARQUITECTURA DE LOS ORDENADORES ................................................................................................... 4
    1.1     CLASIFICACION ........................................................................................................................................ 6
    1.2     ALMACENAMIENTO DE OPERANDOS EN LA CPU ................................................................................... 6
      1.2.1        CARACTERÍSTICAS ........................................................................................................................... 7
    1.3     LA MÁQUINA DE TURING........................................................................................................................ 7
      1.3.1        FUNCIONAMIENTO ......................................................................................................................... 7
      1.3.2        EJEMPLO ......................................................................................................................................... 8
    1.4     LA ARQUITECTURA HARVARD ............................................................................................................... 10
    1.5     LA ARQUITECTURA DE VON NEUMANN ............................................................................................... 11
      1.5.1        CUELLO DE BOTELLA DE VON NEUMANN..................................................................................... 12
    1.6     EL SISTEMA INFORMÁTICO ................................................................................................................... 12
      1.6.1        DATOS ........................................................................................................................................... 13
      1.6.2        CLASIFICACIÓN DE LOS SISTEMAS INFORMÁTICOS ...................................................................... 14
2     SISTEMAS DE NUMERACIÓN ......................................................................................................................... 16
    2.1     INTRODUCCIÓN .................................................................................................................................... 16
      2.1.1        CÓDIGOS DE ENTRADA/SALIDA. ................................................................................................... 17
    2.2     NUMEROS BINARIOS, OCTALES Y HEXADECIMALES. ............................................................................ 18
      2.2.1        SISTEMA DECIMAL ........................................................................................................................ 18
      2.2.2        SISTEMA BINARIO ......................................................................................................................... 18
      2.2.3        SISTEMA OCTAL ............................................................................................................................ 19
      2.2.4        SISTEMA HEXADECIMAL ............................................................................................................... 19
      2.2.5        AGRUPACIÓN DE CIFRAS............................................................................................................... 19
    2.3     CAMBIO DE BASE .................................................................................................................................. 21
      2.3.1        DE BINARIO A DECIMAL / DE DECIMAL A BINARIO....................................................................... 21
      2.3.2        DE OCTAL A DECIMAL / DE DECIMAL A OCTAL ............................................................................. 22
      2.3.3        DE HEXADECIMAL A DECIMAL / DE DECIMAL A HEXADECIMAL ................................................... 23
    2.4     ESTRUCTURA ELEMENTAL DE LA MEMORIA ........................................................................................ 24
      2.4.1        BIT ................................................................................................................................................. 24
      2.4.2        BYTE .............................................................................................................................................. 24
      2.4.3        NIBBLE ........................................................................................................................................... 25
    2.5     COMPLEMENTO A DOS ......................................................................................................................... 26


                                                                                                                                     Sistemas Informáticos
2       UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

         2.6      COMPLEMENTO A UNO ........................................................................................................................ 26
         2.7      AGRUPACIONES DE BYTES. ................................................................................................................... 27
         2.8      REPRESENTACIÓN DE LOS DATOS EN MEMORIA .................................................................................. 27
           2.8.1          NUMEROS BINARIOS: máximo número representable................................................................. 27
           2.8.2          NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD) .............................................................. 28
           2.8.3          NUMEROS EN PUNTO FLOTANTE.................................................................................................. 28
           2.8.4          CÓDIGO ASCII ................................................................................................................................ 28
         2.9      OPERACIONES LÓGICAS EN BINARIO .................................................................................................... 29
         2.10     OPERACIONES ARITMÉTICAS SENCILLAS EN BINARIO .......................................................................... 29
           2.10.1         RESTAR EN BINARIO USANDO EL COMPLEMENTO A DOS ............................................................ 30
         2.11     REPRESENTACIÓN INTERNA DE LA INFORMACIÓN............................................................................... 32
           2.11.1         TIPOS DE INFORMACION............................................................................................................... 33
         2.12     DETECCIÓN DE ERRORES EN LA INFORMACIÓN CODIFICADA .............................................................. 37
    3      UNIDADES FUNCIONALES ............................................................................................................................. 40
         3.1      UNIDAD CENTRAL DE PROCESO (CPU) .................................................................................................. 40
         3.2      MEMORIA PRINCIPAL ............................................................................................................................ 52
           3.2.1          TIPOS DE MEMORIA ...................................................................................................................... 54
           3.2.2          TECNOLOGÍAS DE MEMORIA ........................................................................................................ 55
           3.2.3          DETECCIÓN Y CORRECCIÓN DE ERRORES...................................................................................... 56
         3.3      BUSES DEL SISTEMA .............................................................................................................................. 57
           3.3.1          TIPOS DE BUSES............................................................................................................................. 57
    4      PERIFÉRICOS .................................................................................................................................................. 59
         4.1      CONTROLADOR DE ENTRADA/SALIDA (I/O) .......................................................................................... 59
           4.1.1          DEFINICIÓN PERIFÉRICO................................................................................................................ 60
           4.1.2          CLASIFICACIÓN .............................................................................................................................. 60
         4.2      PERIFÉRICOS DE ALMACENAMIENTO ................................................................................................... 60
           4.2.1          MEDIOS MAGNÉTICOS .................................................................................................................. 61
           4.2.2          MEDIOS ÓPTICOS .......................................................................................................................... 64
           4.2.3          CD-ROM......................................................................................................................................... 65
           4.2.4          DVD-ROM ...................................................................................................................................... 66
         4.3      CINTAS PARA "BACKUP"........................................................................................................................ 66
         4.4      PERIFERICOS DE ENTRADA .................................................................................................................... 68
           4.4.1          EL TECLADO ................................................................................................................................... 68
           4.4.2          MOUSE .......................................................................................................................................... 70
           4.4.3          TABLETA DIGITALIZADORA ............................................................................................................ 71
           4.4.4          ESCANERS ...................................................................................................................................... 72



        Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS                                             3

       4.4.5          JOYSTICK ....................................................................................................................................... 72
       4.4.6          ALMOHADILLA .............................................................................................................................. 73
       4.4.7          LECTORES DE TARJETAS MAGNÉTICAS ......................................................................................... 73
       4.4.8          MÓDEMS....................................................................................................................................... 73
       4.4.9          CÓDIGOS DE BARRA ...................................................................................................................... 73
    4.5        PERIFÉRICOS DE SALIDA ........................................................................................................................ 73
       4.5.1          MONITORES .................................................................................................................................. 74
       4.5.2          IMPRESORAS ................................................................................................................................. 77
5      REDES ............................................................................................................................................................ 83
    5.1        CONCEPTO Y CARACTERÍSTICAS DE LAS REDES. VENTAJAS E INCONVENIENTES. ................................ 83
    5.2        TIPOS DE REDES. ................................................................................................................................... 83
       5.2.1          REDES DE ÁREA LOCAL (LAN) ........................................................................................................ 83
       5.2.2          RED DE ÁREA AMPLIA (WAN) ....................................................................................................... 84
    5.3        COMPONENTES DE UNA RED INFORMÁTICA. ...................................................................................... 85
    5.4        TOPOLOGÍAS DE RED ............................................................................................................................ 86
       5.4.1          TOPOLOGÍAS FÍSICAS .................................................................................................................... 87
       5.4.2          TOPOLOGÍAS LÓGICAS .................................................................................................................. 90
    5.5        MAPA FÍSICO Y LÓGICO DE UNA RED LOCAL ........................................................................................ 91
    5.6        MEDIOS DE TRANSMISIÓN. TRANSMISIÓN ALÁMBRICA E INALÁMBRICA. .......................................... 92
    Tipos de cable ................................................................................................................................................... 95
    5.7        Cable cruzado ....................................................................................................................................... 96
    5.8        Conectores RJ45.................................................................................................................................... 97
       5.8.1          Norma A ........................................................................................................................................ 97
       5.8.2          Norma B ........................................................................................................................................ 97
    5.9        Conexión entre conmutadores y concentradores ................................................................................ 97
    5.10       Conexión directa PC a PC a 100 Mbps .................................................................................................. 97




                                                                                                                                       Sistemas Informáticos
4       UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


    1          LA ARQUITECTURA DE LOS ORDENADORES
    Una computadora o computador (1 Wikipedia) (del inglés computer y este del latín computare -
    calcular), también denominada ordenador (del francés ordinateur, y este del latín ordinator), es
    una máquina electrónica que recibe y procesa datos2 para convertirlos en información útil. Una
    computadora es una colección de circuitos integrados (circuitería) y otros componentes relacionados
    que puede ejecutar con exactitud, rapidez y de acuerdo a lo indicado por un usuario o
    automáticamente por otro programa, una gran variedad de secuencias o rutinas de instrucciones que
    son ordenadas, organizadas y sistematizadas en función a una amplia gama de aplicaciones prácticas
    y precisamente determinadas, proceso al cual se le ha denominado con el nombre de programación y
    al que lo realiza se le llama programador. La computadora, además de la rutina o programa
    informático, necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en
    inglés o de entrada) que deben ser suministrados, y que son requeridos al momento de la ejecución,
    para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output" o
    de salida. La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o
    retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o
    remotamente usando diferentes sistemas de telecomunicación, pudiendo ser grabada, salvada o
    almacenada en algún tipo de dispositivo o unidad de almacenamiento.

    La característica principal que la distingue de otros dispositivos similares, como la calculadora no
    programable, es que es una máquina de propósito general, es decir, puede realizar tareas muy
    diversas, de acuerdo a las posibilidades que brinde los lenguajes de programación y el hardware.

    Un GPS se puede interpretar como un ordenador. Una impresora podría ser un ordenador pues tiene
    datos de entrada y de salida. E incluso algunas son programables.

    Ahora se dice que un ordenador es aquel que tiene un dispositivo de almacenamiento (disco duro).
    Antiguamente tenía que tener más dispositivos (dispositivo de entrada, disco duro, dispositivo de
    salida, etc).
    2
     Datos: No es lo mismo datos que información. El dato puede significar un número, una letra, o
    cualquier símbolo que representa una palabra, una cantidad, una medida o una descripción. El dato
    no tiene valor semántico (sentido) en sí mismo, pero si recibe un tratamiento (procesamiento)
    apropiado, se puede utilizar en la realización de cálculos o toma de decisiones. Por ejemplo, un dato
    es “32” (no tiene sentido), y una información es “años de Javier”.




    El ordenador trabaja con datos y no con información. Las instrucciones de un ordenador son datos.

    Una visión típica de una arquitectura de ordenadores (1 Wikipedia) como una serie de capas de
    abstracción (es una forma de ocultar los detalles de implementación de ciertas funcionalidades):
    hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.




        Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS         5

Hardware: corresponde a todas las partes tangibles de un ordenador.

Firmware: el firmware es el intermediario (interfaz) entre las órdenes
externas que recibe el dispositivo y el hardware (su electrónica), ya que es
el encargado de controlar a éste último para ejecutar correctamente
dichas órdenes externas. (Son los controladores).

Ensamblador: Es la capa que permite una comunicación entre los
Controladores (firmware) y el Kernel. Un lenguaje ensamblador es
específico a cierta arquitectura de ordenador física (o virtual). Es el nivel
más bajo del programador.

Kernel: Es el núcleo. Un núcleo o kernel es un software que constituye la
parte más importante del sistema operativo. Es el principal responsable de facilitar a los distintos
programas acceso seguro al hardware del ordenador. Acceder al hardware directamente puede ser
realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del
hardware. Se puede modificar el Kernel de un ordenador y hacer que funcione en otro ordenador.

Sistema Operativo y aplicaciones: Un sistema operativo (SO) es el programa o conjunto de programas
que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal
ejecución del resto de las operaciones. Una aplicación es un programa en ejecución. Las aplicaciones
son gestionadas por el sistema operativo. Esta capa es la interfaz con nosotros. Los S.O. incluyen el
Kernel.

La arquitectura de ordenadores (1 Wikipedia) es el diseño conceptual y la estructura operacional
fundamental de un sistema de ordenadores. Es decir, es un modelo y una descripción funcional de
los requerimientos y las implementaciones de diseño para varias partes de una computadora, con
especial interés en la forma en que la unidad central de proceso (UCP o CPU) trabaja internamente y
accede a las direcciones de memoria.

La unidad central de proceso está en contacto con la memoria principal, ya que consulta los datos
que hay en ella.




También suele definirse como la forma de seleccionar e interconectar componentes de hardware
para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. La
arquitectura es un diseño que tiene que estar muy bien marcado.

El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La
CPU es la encargada de procesar la información que le llega al ordenador. El intercambio de
información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema


                                                                                Sistemas Informáticos
6    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

    exceptuando la CPU se denomina periférico, por lo que el ordenador tiene dos partes bien
    diferenciadas, que son: la CPU (encargada de ejecutar programas y que está compuesta por la
    memoria principal, la ALU y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida
    y comunicaciones).

    La ALU (Unidad Aritmético Lógica) es un circuito digital que calcula operaciones aritméticas y
    operaciones lógicas, entre dos números. Es decir, se encarga de realizar las operaciones
    matemáticas.

    La UC (Unidad de Control) que busca las instrucciones en la memoria principal, las decodifica
    (interpretación) y las ejecuta.




    1.1 CLASIFICACION
    Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes
    aspectos:

          Almacenamiento de operativos en la CPU: dónde y cómo se ubican los operadores.
          Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma
           explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3. A veces es mejor que tener
           varias operaciones, que sólo una.
          Posición del operando: ¿Puede cualquier operando estar en memoria, o deben estar algunos
           o todos en los registros internos de la CPU? (Los registros se encuentran en la Memoria Local
           que tiene la CPU). Cómo se especifica la dirección de memoria (modos de direccionamiento
           disponibles).
          Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones.
          Tipo y tamaño de operandos y cómo se especifican. Es decir, cuántos bits ocupa.

    1.2 ALMACENAMIENTO DE OPERANDOS EN LA CPU
    La diferencia básica está en el almacenamiento interno de la CPU. Las principales alternativas son:

          Acumulador: Es un registro en el que son almacenados temporalmente los resultados
           aritméticos y lógicos intermedios que serán tratados por la Unidad aritmético-lógica (ALU).
          Conjunto de registros: Un registro es una memoria de alta velocidad y poca capacidad que
           permite guardar transitoriamente y acceder a valores muy usados, generalmente en


     Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS            7

        operaciones matemáticas. El número de registros del procesador, define las características de
        la CPU. Los datos, antes de ir al acumulador, van a los registros.
       Memoria o de pila: Son dispositivos que retienen datos informáticos durante algún intervalo
        de tiempo.

1.2.1       CARACTERÍSTICAS
En una arquitectura de acumulador un operando está implícitamente en el acumulador siempre
leyendo e ingresando datos. (Ej.: calculadora Standard -estándar-). Por ejemplo, una computadora
puede tener una instrucción como:

        Add DireccionDeMemoria

Esta instrucción agregaría el valor leído en la posición de memoria indicada en DireccionDeMemoria
al valor del acumulador, poniendo el resultado en el acumulador. El acumulador no es identificado en
la instrucción por un número del registro; es implícito en la instrucción y ningún otro registro puede
ser especificado en la instrucción.

En la arquitectura de pila no es necesario nombrar a los operandos ya que estos se encuentran en el
tope de la pila. (Ej.: calculadora de pila HP). En cada momento sólo se tiene acceso a la parte superior
de la pila, es decir, al último objeto apilado.

                                    Una pila típica es un área de la memoria de los computadores con
                                    un origen fijo y un tamaño variable. Al principio, el tamaño de la
                                    pila es cero. Un puntero de pila, por lo general en forma de un
                                    registro de hardware, apunta a la más reciente localización en la
                                    pila; cuando la pila tiene un tamaño de cero, el puntero de pila de
                                    puntos en el origen de la pila.

                                    La pila se irá llenando. El primer elemento que sale de la pila, es
                                    el último elemento que llega.

La arquitectura de registros tiene sólo operandos explícitos (es aquel que se nombra) en registros o
memoria. Los registros se nombran como R0, R1, R2,… y todos los operadores deben ser nombrados.

1.3 LA MÁQUINA DE TURING
Turing pudo demostrar que existen problemas irresolubles, tales que ninguna máquina de Turing (y,
por ende, ningún ordenador) será capaz de obtener su solución.

1.3.1       FUNCIONAMIENTO
La máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee
el contenido, borra el contenido anterior y escribe un nuevo valor.




                                                                                 Sistemas Informáticos
8    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

    Las operaciones que se pueden realizar en esta máquina se limitan a:

           Avanzar el cabezal lector/escritor hacia la derecha.
           Avanzar el cabezal lector/escritor hacia la izquierda.

    El cómputo es determinado a partir de una tabla de estados de la forma:

            (estado, valor)    (nuevo valor, dirección, nuevo estado)

    Esta tabla toma como parámetros el estado actual de la máquina y el carácter leído de la cinta,
    dando la dirección para mover el cabezal, el nuevo estado de la máquina y el valor a escribir en la
    cinta.

    La memoria es la cinta de la máquina que se divide en espacios de trabajo denominados celdas,
    donde se pueden escribir y leer símbolos. Inicialmente todas las celdas contienen un símbolo especial
    denominado "blanco". Las instrucciones que determinan el funcionamiento de la máquina tienen la
    forma, "si estamos en el estado x leyendo la posición y, donde hay escrito el símbolo z, entonces este
    símbolo debe ser reemplazado por este otro símbolo, y pasar a leer la celda siguiente, bien a la
    izquierda o bien a la derecha".

    La máquina de Turing puede considerarse como un autómata capaz de reconocer lenguajes formales.
    En ese sentido, es capaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la
    jerarquía de Chomsky. Su potencia es, por tanto, superior a otros tipos de autómatas, como el
    autómata finito, o el autómata con pila, o igual a otros modelos con la misma potencia
    computacional.

    En la siguiente dirección, tenemos un video explicativo:

                              http://www.youtube.com/watch?v=uU9kG_Wn1H8


    1.3.2       EJEMPLO
    Supongamos una máquina de Turing con un alfabeto unario, en la que el nulo (ausencia de dato) lo
    señalamos con 0. La máquina puede tener cinco estados que denominamos {e0, e1, e2, e3, e4}. El
    estado inicial es e0; su tabla de acción es:

                                S      R     W      M      N         S:   Estado anterior
                                e0     1      0     R     e1         R:   Símbolo leído
                                                                     W:   Símbolo a escribir
                                e1     1      1     R     e1         M:   Movimiento (R, L).
                                e1     0      0     R     e2         N:   Nuevo estado
                                e2     0      1     L     e3
                                e2     1      1     R     e2
                                e3     1      1     L     e3
                                e3     0      0     L     e4
                                e4     1      1     L     e4
                                e4     0      1     R     e0


    Observe que la tabla debe contener al menos tantas filas como estados distintos. La primera
    columna representa lo que podíamos denominar "estado mental" de la máquina. La segunda

     Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS            9

columna indica el carácter leído; representa la entrada (input) al autómata. Las siguientes (en otro
color) representan el comportamiento o respuesta de la máquina para la combinación
estado/carácter-leído. Esta respuesta tiene tres componentes:

      Una salida (escribir en la cinta). Indicado en la columna W.
      Un movimiento de avance o retroceso del cabezal sobre la cinta (indicado en la columna M).
      Un cambio del estado interno actual del autómata a otro nuevo (columna N).

Observe que las filas pueden repetir el primer elemento; significan las acciones a tomar en cada
estado según el carácter leído. Cada vez que se alcanza un estado para el que no exista una entrada
para el carácter leído, la máquina se detiene. En nuestro autómata la tabla señala acciones concretas
para cualquier carácter leído (0 o 1) en cualquiera de los estados e1, e2, e3 y e4, pero si en el estado
e0 se lee un 0, la máquina se detiene.

Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0 representa el símbolo blanco. La
máquina comenzará su proceso situada sobre un símbolo "1" de una serie. La máquina de Turing
copiará el número de símbolos "1" que encuentre hasta el primer blanco detrás de dicho símbolo
blanco. Es decir, posicionad el cabezal sobre el 1 situado en el extremo izquierdo, doblará el número
de símbolos 1, con un 0 en medio. Así, si tenemos la entrada "111" devolverá "1110111", con "1111"
devolverá "111101111", y sucesivamente.

Un ejemplo del proceso de esta máquina puede ser el que se muestra a continuación. Como el
número de pasos de cómputo hasta que la máquina se detiene, depende de la cantidad inicial
representada en la cinta, para hacer el ciclo más breve supondremos que hay un 2 (110000...). Los
pasos ejecutados por el autómata para realizar el proceso se muestran en la tabla inferior. La
información contenida en la cinta para cada paso es la existente "antes" de la ejecución del ciclo
correspondiente. El carácter en negrita indica la posición de la cabeza en el momento de la lectura.


Paso Estado Cinta           P1: La máquina ejecuta el primer paso. Arranca en el estado e0, donde
 1     e0 11000             lee un 1; entonces, de acuerdo con su tabla de acción escribe un 0 en esa
 2     e1 01000             posición, se mueve a la derecha y entra en estado e1.
 3     e1 01000             P2: En e1 lee un 1, escribe un 1 y se mueve a la derecha. Sigue en e1.
 4     e2 01000             P3: En e1 lee 0, escribe 0, se mueve a la derecha y cambia a e2.
 5     e3 01010
                            P4: En e2 lee 0, escribe 1, se mueve a la izquierda y cambia a e3.
 6     e4 01010
                            P5: En e3 lee 0, escribe 0, se mueve a la izquierda y cambia a e4.
 7     e4 01010
 8     e0 11010             P6: En e4 lee 1, escribe 1, se mueve a la izquierda y sigue en e4.
 9     e1 10010
                            El proceso sigue la misma lógica a través de los sucesivos pasos hasta
 10    e2 10010
                            llegar al último.
 11    e2 10010
 12    e3 10011             P15: En e0 lee 0; no existe ninguna entrada en la tabla para esta
 13    e3 10011             combinación, por lo que el autómata se detiene. Comprobamos como al
 14    e4 10011             final ha escrito en la cinta la cantidad esperada: 11011.
 15    e0 11011
         Parada


                                                                                 Sistemas Informáticos
10    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

     Un sistema Turing completo es aquel que puede simular el comportamiento de una máquina de
     Turing. Es evidente que salvando los problemas de memoria, los ordenadores modernos y los
     lenguajes de programación de uso general, son sistemas de Turing completos. También es evidente,
     que con independencia de su forma concreta, cualquier dispositivo que se comporte como un
     sistema de Turing completo, puede en principio ejecutar cualquier cálculo que realice cualquier
     computador.
     Nota: Observe que la anterior afirmación no menciona para nada la posible dificultad de escribir el
     programa o del tiempo que pueda emplear en realizar el cálculo (cualquier cálculo que pueda hacer
     un ordenador puede teóricamente efectuarse con papel y lápiz).



     EJERCICIO 1

     Si en la cinta tenemos {0001110000}, escribir los pasos necesarios para obtener
     {1110111}, siguiendo la tabla de acción indicada en el ejemplo anterior.




     1.4 LA ARQUITECTURA HARVARD
     Hacía referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento
     físicamente separados para las instrucciones y para los datos.

     Todos los ordenadores constan principalmente de dos partes, la CPU que procesa los datos, y la
     memoria que guarda los datos. Cuando hablamos de memoria manejamos dos parámetros, los datos
     en sí, y el lugar donde se encuentran almacenados (o dirección). Los dos son importantes para la
     CPU, pues muchas instrucciones frecuentes se traducen a algo así como "coge los datos de ésta
     dirección y añádelos a los datos de ésta otra dirección", sin saber en realidad qué es lo que contienen
     los datos.




      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS             11


1.5 LA ARQUITECTURA DE VON NEUMANN




La arquitectura de Von Neumann describe un ordenador con 4 secciones principales: la unidad
aritmético lógica (ALU por sus siglas del inglés: Arithmetic Logic Unit), la unidad de control, la
memoria central, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por
canales de conductores denominados buses:

       La memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es
       un bit o unidad de información. La instrucción es la información necesaria para realizar lo que
       se desea con el computador. Las «celdas» contienen datos que se necesitan para llevar a cabo
       las instrucciones, con el computador. El número de celdas varían mucho de computador a
       computador, y las tecnologías empleadas para la memoria han cambiado bastante; van desde
       los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos
       acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados
       con millones de celdas en un solo chip. En general, la memoria puede ser reescrita varios
       millones de veces (memoria RAM); se parece más a una pizarra que a una lápida (memoria
       ROM) que sólo puede ser escrita una vez.
       El procesador (también llamado Unidad central de procesamiento o CPU) consta de manera
       básica de los siguientes elementos:
           o La unidad aritmético lógica o ALU es el dispositivo diseñado y construido para
               llevar a cabo las operaciones elementales como las operaciones aritméticas (suma,
               resta, ...), operaciones lógicas (Y, O, NO), y operaciones de comparación o relacionales.
               En esta unidad es en donde se hace todo el trabajo computacional.
           o La unidad de control sigue la dirección de las posiciones en memoria que
               contienen la instrucción que el computador va a realizar en ese momento; recupera la
               información poniéndola en la ALU para la operación que debe desarrollar. Transfiere
               luego el resultado a ubicaciones apropiadas en la memoria. Una vez que ocurre lo
               anterior, la unidad de control va a la siguiente instrucción (normalmente situada en la
               siguiente posición, a menos que la instrucción sea una instrucción de salto,
               informando al ordenador de que la próxima instrucción estará ubicada en otra
               posición de la memoria).
       Los procesadores pueden constar de además de las anteriormente citadas, de otras unidades
       adicionales como la unidad de Coma Flotante.
       Los dispositivos de Entrada/Salida sirven a la computadora para obtener información
       del mundo exterior y/o comunicar los resultados generados por el computador al exterior.
       Hay una gama muy extensa de dispositivos E/S como teclados, monitores, unidades de disco
       flexible o cámaras web.



                                                                                 Sistemas Informáticos
12    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


     1.5.1      CUELLO DE BOTELLA DE VON NEUMANN
     El canal de transmisión de los datos entre CPU y memoria genera un cuello de botella para el
     rendimiento del procesador. En la mayoría de computadoras modernas, la velocidad de
     comunicación entre la memoria y la CPU es más baja que la velocidad a la que puede trabajar esta
     última, reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso
     eficaz, sobre todo cuando se necesitan procesar grandes cantidades de datos. La CPU se ve forzada a
     esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria.

     La velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente
     que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella.

     El problema de funcionamiento se redujo introduciendo una memoria caché entre la CPU y la
     memoria principal, y mejorando los algoritmos del predictor de ramas (es un circuito digital que trata
     de adivinar de qué manera una rama (por ejemplo, una estructura si-entonces-sino) se presentará
     ante lo que se conoce a ciencia cierta. El propósito de la rama de predicción es mejorar el flujo en la
     tubería de instrucciones).

     1.6 EL SISTEMA INFORMÁTICO
                                              -   N o   v i s t o   -

     Un sistema es un conjunto de partes o elementos organizados y relacionados que interactúan entre
     sí para lograr un objetivo. Los sistemas reciben (entrada) datos, energía o materia del ambiente y
     proveen (salida) información, energía o materia.

     Un sistema puede ser físico o concreto (un ordenador, un televisor, un humano) o puede ser
     abstracto o conceptual (un software)

     Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar formado por
     subsistemas y partes, y a la vez puede ser parte de un supersistema.

     Los sistemas tienen límites o fronteras, que los diferencian del ambiente. Ese límite puede ser físico
     (el gabinete de un ordenador) o conceptual. Si hay algún intercambio entre el sistema y el ambiente
     a través de ese límite, el sistema es abierto, de lo contrario, el sistema es cerrado.

     El ambiente es el medio en externo que envuelve física o conceptualmente a un sistema. El sistema
     tiene interacción con el ambiente, del cual recibe entradas y al cual se le devuelven salidas. El
     ambiente también puede ser una amenaza para el sistema.

     Un grupo de elementos no constituye un sistema si no hay una relación e interacción, que de la idea
     de un "todo" con un propósito (ver holismo y sinergía).

     Un sistema informático como todo sistema, es el conjunto de partes interrelacionadas, hardware,
     software y de recurso humano (humanware) que permite almacenar y procesar información. El
     hardware incluye computadoras, que consisten en procesadores, memoria, sistemas de
     almacenamiento externo, etc. El software incluye al sistema operativo, firmware y aplicaciones,
     siendo especialmente importante los sistemas de gestión de bases de datos. Por último el soporte
     humano incluye al personal técnico que crean y mantienen el sistema (analistas, programadores,
     operarios, etc.) y a los usuarios que lo utilizan.


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS         13

Los sistemas informáticos suelen estructurarse en Subsistemas.

    Subsistema físico: asociado al hardware. Incluye entre otros elementos la CPU, memoria
     principal, la placa base, etc.
    Subsistema lógico: asociado al software y la arquitectura. Incluye al sistema operativo, el
     firmware, las aplicaciones y las bases de datos.

La lógica se define como aquélla representación del conocimiento y/o del formalismo racional
originalmente desarrollada por matemáticos para formalizar el razonamiento matemático.

Se considera componente lógico de un sistema informático lo que no se puede considerar tangible,
es decir, todo aquello que tiene que ver con la información que se maneja en el sistema y con las
herramientas intangibles necesarias para ello. No debe confundirse con el concepto de lógica que
impera en el mundo de la inteligencia artificial (lógica de predicados o la lógica proposicional).

Se pueden distinguir cuatro grandes grupos considerados lógicos en un sistema:

    Datos: son los valores numéricos, o bien caracteres, medidas multidimensionales, tales como
     vectores, matrices,...
    La información: como tal, es un conjunto de datos relacionados por alguna estructura o
     alguna relación de tipo sintáctico. En general, se la considera un subconjunto dentro de los
     datos.
    El conocimiento: constituido por elementos de información con ciertos significados
     semánticos y se le suele considerar un subconjunto de la información
    La inteligencia: conjunto específico de la información capaz de interpretar y gestionar otra.
     Es el subconjunto más interior del espacio total de datos.

1.6.1      DATOS
El ordenador permite la recepción de datos entrantes, que se procesan según indican las
instrucciones que posee el sistema. Por último, proporciona unos datos de salida que son los
resultados.

1.6.1.1    TIPOS DE DATOS

Se pueden considerar tres tipos de datos, según el punto del proceso en el que se encuentren:

    Datos de entrada: son los que llegan al ordenador a través de alguno de los periféricos de
     entrada, tales como el teclado, lectores, etc.; o bien llegan desde unidades de
     almacenamiento, como son los discos. A veces este concepto se confunde con captura de
     datos -actividad de introducción de datos, casi siempre automatizada, en el que la recepción
     de los datos tiene una importancia secundaria-, y con la preparación de los datos -labor que
     supone preparar los datos para su entrada en el sistema, formateándolos o codificándolos-.
    Datos intermedios: son los resultados que se van produciendo y que no forman parte de la
     salida porque no se especificó de esa manera en el diseño del programa.
    Datos de salida: Son los datos resultados del procesamiento de los datos de entrada y de los
     intermedios. La forma de obtenerlos para su análisis es por medio de un periférico de salida,
     como son las pantallas o las impresoras; o bien almacenarlos.




                                                                              Sistemas Informáticos
14    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


     1.6.2       CLASIFICACIÓN DE LOS SISTEMAS INFORMÁTICOS
     Los S.I. pueden clasificarse en base a numerosos criterios. Por supuesto las clasificaciones no son
     estancas y es común encontrar sistemas híbridos que no encajen en una única categoría.

     Por su uso pueden ser:

            De uso general: varios tipos de aplicaciones.
            De uso específico: han sido desarrollados para ser utilizados con un fin concreto, o una
             aplicación específica.

     Por el paralelismo de los procesadores, que puede ser:

            SISD: Single Instruction Single Data - es un término que se refiere a una arquitectura en la
             que un sólo procesador, ejecuta un sólo flujo de instrucciones, para operar sobre datos
             almacenados en una única memoria. Se corresponde con la arquitectura de von Neumann.
             Ejemplo: PC’s.
            SIMD: Single Instruction Multiple Data - Las computadoras SIMD tienen una sola unidad de
             control y múltiples unidades funcionales. La unidad de control se encarga de enviar la misma
             instrucción a todas las unidades funcionales. Cada unidad funcional trabaja sobre datos
             diferentes. Estos equipos son de propósito específico, es decir, son apropiados para ciertas
             aplicaciones particulares, como por ejemplo el procesamiento de imágenes.
            MIMD: Multiple Instruction Multiple Data - Múltiples computadoras y multiprocesadores. Las
             piezas de código distribuidas entre los procesadores. Los procesadores pueden ejecutar la
             misma o instrucción o diferentes instrucciones. Se puede decir que MIMD es un super
             conjunto de SIMD.

     Por el tipo de ordenador utilizado en el sistema

            Estaciones de trabajo (Workstations): Tipo de ordenador utilizado en aplicaciones de
             ingenieráia CAD/CAM, diseño gráfico, desarrollo de software y otros tipos de aplicaciones que
             requieren una moderada capacidad de computación y altas cualidades gráficas.
            Terminales ligeros (Thin clients): es una computadora cliente o un software de cliente en una
             arquitectura de red cliente-servidor que depende primariamente del servidor central para las
             tareas de procesamiento, y principalmente se enfoca en transportar la entrada y la salida
             entre el usuario y el servidor remoto.
            Microordenadores (por ejemplo ordenadores personales): ordenador relativamente barato
             diseñado para un usuario individual aunque se utiliza conjuntamente con otros formando
             redes de ordenadores.
            Miniordenadores (servidores pequeños): es un sistema multiprocesador de tamaño medio
             capaz de soportar unos cientos de usuarios simultáneamente a un coste inferior al de un
             sistema grande.
            Macroordenadores o Mainframes (servidores de gran capacidad): Un Mainframe es un
             ordenador de grandes dimensiones pensado principalmente para el tratamiento de
             grandísimos volúmenes de datos. Se utiliza para aplicaciones de Banca, Hacienda y mercado
             de valores, aerolíneas y tráfico aéreo. En definitiva, es un ordenador grande, en todos los
             sentidos (tanto por su capacidad, como por el volumen que ocupa).
            Superordenadores: es el tipo más rápido, también son los más caros y se emplean para
             aplicaciones especializadas que requieren gran proceso de cálculo.



      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           15

Por la arquitectura

      Sistema aislado: es un ordenador incapaz de comunicarse con el exterior por vía telemática.
      Arquitectura cliente-servidor: es un modelo de aplicación distribuida en el que las tareas se
       reparten entre los proveedores de recursos o servicios, llamados servidores, y los
       demandantes, llamados clientes.
      Arquitectura de 3 capas:
      Arquitectura de n capas:
      Servidor de aplicaciones: se denomina servidor de aplicaciones a un servidor en una red de
       computadores que ejecuta ciertas aplicaciones.
      Monitor de teleproceso o servidor de transacciones:




                                                                              Sistemas Informáticos
16    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


     2        SISTEMAS DE NUMERACIÓN
     http://www.um.es/docencia/barzana/II/Ii05.html

     2.1 INTRODUCCIÓN
     Un ordenador es una máquina que procesa información. La ejecución de una tarea implica la
     realización de unos tratamientos, según especifica un conjunto ordenado de instrucciones (es decir,
     un programa) sobre unos datos. Para que el ordenador ejecute un programa es necesario darle
     información de dos tipos:

            Instrucciones que forman el programa
            Los datos con los que debe operar ese programa

     Uno de los aspectos más importantes relacionado con la información, es cómo representarla.
     Normalmente se le da al ordenador en la forma usual escrita que utilizan los humanos, es decir, con
     ayuda de un alfabeto o conjunto de símbolos, los caracteres.

     Los caracteres que se utilizan para la representación externa son:

            Numéricos: Constituidos por las diez dígitos en el sistema decimal
            Alfabéticos: Letras mayúsculas y minúsculas
            Especiales: Son símbolos no incluidos en los grupos anteriores, como: ), (, *, /, +, -, [, ]...

     Al conjunto de los dos primeros grupos se le denominan caracteres alfanuméricos.

     Veremos cómo estos caracteres usados en la representación externa son representables en los
     ordenadores. Este paso de una representación a otra se denomina codificación y el proceso inverso
     decodificación.

     Por lo tanto hay dos niveles en la representación de la información

            Nivel de representación externa: usada por las personas e inadecuada para el ordenador.
            Nivel de representación interna: adecuada al ordenador y no inteligible directamente por el
             ser humano.

     Las informaciones más complejas se reducirán a un conjunto de informaciones elementales por
     técnicas de codificación.

     Los elementos básicos que constituyen un ordenador son de naturaleza binaria, ya que sólo pueden
     adoptar dos valores, 0 y 1 (corresponden a dos niveles de tensión, dos valores de corriente, dos
     situaciones de una lámpara... ). Al tener que traducir toda la información suministrada a ceros y unos
     es necesario establecer una correspondencia entre el conjunto de todos los caracteres:

                                      {A, B, C, D,...Z, a, b, c,...z, 0, 1,...9, /, +,...}


     y el conjunto binario:

                                                            {0, 1}n



      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS               17

de forma que a cada elemento del primero le corresponda un elemento distinto del segundo.

Estos códigos de transformación se denominan códigos entrada/salida (E/S) o externos y se pueden
definir de forma arbitraria. Las operaciones aritméticas con datos numéricos se suelen realizar en
una representación más adecuada para este objetivo que la del código de E/S. Por ello en el propio
ordenador se efectúa una transformación entre códigos binarios, obteniéndose una representación
fundamentada en el sistema de numeración en base dos, que al ser una representación numérica
posicional es muy apta para realizar operaciones aritméticas.

2.1.1       CÓDIGOS DE ENTRADA/SALIDA.
Los códigos de E/S o externos son códigos que asocian a cada carácter una combinación de bit. En
otras palabras, un código de E/S es una correspondencia entre los conjuntos:

                         A = {0, 1,...9, A, B,...Z, a, b,...z, *, +, /...} y B = {0, 1}n

Si se usa un número fijo, n, de bit para codificar los símbolos de A, el valor mínimo de n dependerá
del número m de elementos de A. Así:

       Con 2 bit (n=2) podemos hacer 4 combinaciones distintas y se pueden codificar hasta 4
        símbolos (m=4) distintos
       Con 3 bit (n=3) podemos hacer 8 combinaciones distintas y se pueden codificar hasta 8
        símbolos (m=8) distintos
       Con 4 bit (n=4) podemos realizar 16 combinaciones dise pueden codificar hasta 16 símbolos
        (m=16) distintos
       ....
       Con n bit pueden codificarse m = 2n símbolos distintos.

Se define un sistema de numeración como el conjunto de símbolos y reglas que se utilizan para la
representación de cantidades. En ellos existe un elemento característico que define el sistema y se
denomina base, siendo ésta el número de símbolos que se utilizan para la representación.

Un sistema de numeración en base "b" utiliza para representar los números un alfabeto compuesto
por b símbolos o cifras. Así todo número se expresa por un conjunto de cifras, teniendo cada una de
ellas dentro del número un valor que depende:

       De la cifra en sí
       De la posición que ocupe dentro del número

En el sistema de numeración decimal (base 10), que habitualmente se utiliza, b = 10 y el alfabeto por
tanto, está constituido por 10 símbolos: {0, 1, 2..., 9}

Generalizando se tiene que la representación de un número en una base b :

                                       N = ...n4 n3 n2 n1 n0 n-1 n-2 ...

es una forma abreviada de expresar su valor, que es:

                                 N = n4 b4 + n3 b3 + .... + n-1 b-1 + n-2 b-2



                                                                                           Sistemas Informáticos
18    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS




     Ejemplo en base 8:

                              b = 8. Los símbolos que se usan son: {0, 1, 2, 3, 4, 5, 6, 7}

                      El valor decimal del número octal 175.37 será:
                      175.37)8 = 1*82 + 7*81 + 5*80 + 3*8-1 + 7*8-2 = 125.31)10



     2.2 NUMEROS BINARIOS, OCTALES Y HEXADECIMALES.
     Cuando ya no tenemos más dígitos para representar en un sistema, siempre se pasa al “10”, por eso:

            En Decimal, pasamos del 9 al 10
            En Binario, pasamos del 1 al 10
            En Octal, pasamos del 7 al 10

      DEC       0         1        2         3        4        5         6        7        8      9      10
      BIN      0000      0001     0010      0011     0100     0101      0110     0111     1000   1001   1010
      OCT       0         1        2         3        4        5         6        7        10     11     12

     2.2.1       SISTEMA DECIMAL
     El sistema de numeración utilizado habitualmente es la base 10; es decir, consta de 10 dígitos {0-9}
     que podemos colocar en grupos, ordenados de izquierda a derecha y de mayor a menor.

     Cada posición tiene un valor o peso de 10n donde n representa el lugar contado por la derecha:

                                     1357 = 1 x 103 + 3 x 102 + 5 x 101 + 7 x 100

     Explícitamente, se indica la base de numeración como 135710.

     En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho
     propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen
     una computadora. Es decir, un ordenador trabaja con impulsos y por eso trabaja con el sistema
     binario. Si trabajara con un sistema decimal se ganaría en facilidad, pero se perdería efectividad y
     eficiencia, pues tendría que hacer más comparaciones.

     2.2.2       SISTEMA BINARIO
     Análogamente a la base 10, cada posición tiene un valor de 2 n donde n es la posición contando desde
     la derecha y empezando por 0:

      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           19

                                                       2          1         0
                                         101(2 = 1 x 2 + 0 x 2 + 1 x 2

En el sistema de numeración binario b=2, el conjunto de símbolos usados es: {0, 1}.

2.2.3       SISTEMA OCTAL
Además, por su importancia y utilidad, es necesario conocer otros sistemas de numeración como
pueden ser el octal (base 8) y el hexadecimal (base 16).

En la base octal, b = 8, el conjunto de símbolos utilizados es: {0, 1,..., 7}.

La unidad básica, en el ordenador, es el byte (8 dígitos), por eso se usa mucho el sistema octal, ya que
se hacen muchas operaciones en este sistema.

2.2.4       SISTEMA HEXADECIMAL
Para representar un número en base hexadecimal (b = 16) es necesario disponer de un conjunto o
alfabeto de 16 símbolos. Se suele usar el conjunto:

                                         {0, 1, 2,..., 9, A, B, C, D, E, F}

Dec     0      1       2    3     4       5      6         7      8     9       10    11   12     13   14    15
Hex     0      1       2    3     4       5      6         7      8     9       A     B    C      D     E     F

                                      48F(16 = 4 x 162 + 8 x 161 + 15 x 160

2.2.5       AGRUPACIÓN DE CIFRAS
2.2.5.1     OCTAL-BINARIO / BINARIO-OCTAL

Llegar a un número en este sistema desde base 2 es realmente sencillo si agrupamos las cifras
binarias de 3 en 3 (octal).

Para convertir un número octal a binario sólo debemos sustituir cada dígito octal por su equivalente
binario.

Equivalencias:

OCTAL             0          1            2             3              4              5          6        7
BINARIO          000        001          010           011            100            101        110      111

Ejemplo:

                                      537.24)8 = 101 011 111 . 010 100)2

que equivale según la tabla, a: 5 3 7 . 2 4

La conversión de binario a octal se realiza juntando en grupos de tres dígitos binarios, comenzando
por la izquierda desde el punto decimal y sustituyendo cada grupo por el correspondiente dígito

                                                                                           Sistemas Informáticos
20    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

     octal.

     Ejemplo:

              El número binario 10001101100.11010)2 es en octal 10 001 101 100 . 110 10 = 2154.64)8

     2.2.5.2     HEXADECIMAL-BINARIO / BINARIO-HEXADECIMAL

     Llegar a un número en este sistema desde base 2 es realmente sencillo si agrupamos las cifras
     binarias de 4 en 4 (hexadecimal).

     Equivalencias:

         HEX           BINARIO      DECIMAL                         HEX          BINARIO       DECIMAL
          0              0000          0                             8             1000           8
          1              0001          1                             9             1001           9
          2              0010          2                             A             1010          10
          3              0110          3                             B             1011          11
          4              0100          4                             C             1100          12
          5              0101          5                             D             1101          13
          6              0110          6                             E             1110          14
          7              0111          7                             F             1111          15

     Ejemplo:

                      Pasar el número binario 010010111011111.1011101)2 a hexadecimal.
                                 010 0101 1101 1111 . 1011 101)2 = 25DF.BA)16

     Ejemplo:

                      Pasar el número 1ABC701.C4)16 a binario:
                             0001 1010 1011 1100 0111 0000 0001 . 1100 0100 )2
                               1     A    B   C     7     0    1    C    4

                      El número binario resultante es:
                            0001101010111100011100000001.11000100)2

     De ahora en adelante, se utilizarán una serie de sufijos para determinar el sistema de numeración
     empleado:

                                           Sufijo Base Ejemplos
                                             b     2 01101010b
                                            o,q    8     175o
                                             d     10    789d
                                             h     16    6A5h

     En caso de que no aparezca el sufijo, el número se considera decimal; es decir, en base 10.



      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS              21

         Si nos piden transformar un número de hexadecimal a octal, es más fácil pasar de
         hexadecimal a binario y de binario a octal. Lo mismo ocurre de octal a hexadecimal.


2.3 CAMBIO DE BASE
Pese a que las conversiones entre base 2 y base 8 y 16 son prácticamente directas, existe un sistema
general para realizar el cambio de una base a otra.

2.3.1       DE BINARIO A DECIMAL / DE DECIMAL A BINARIO
Se puede transformar un número binario a decimal sin más que usar la expresión vista
anteriormente:

            n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 24 + n3 23 + n2 22 + n1 21 + n0 20+ n-1 2-1 +… = N(10

Ejemplos:

            Transformar a decimal los siguientes números binarios:

            110100)2 = 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 0*20 = 25 + 24 + 22 = 52)10
            0.10100)2 = 0*20 + 1*2-1 + 0*2-2 + 1*2-3 + 0*2-4 + 0*2-5 = 2-1 + 2-3 = 0.625)10
            10100.001)2 = 1*24 + 1*22 + 1*2-3 = 20.125)10

Para transformar un número decimal a binario:

a) La parte entera del nuevo número (binario) se obtiene efectuando divisiones enteras (sin obtener
   decimales) por dos, de la parte entera del número decimal de partida y de los cocientes que
   sucesivamente se vayan obteniendo. Los restos de estas divisiones y el último cociente (que
   serán siempre ceros y unos) son las cifras binarias. El último cociente será el bit más significativo
   y el primer resto el bit menos significativo (más a la derecha).

   Ejemplo:

                26)10 es en binario:
                                                    26 | 2_
                                                    0 13 | 2_
                                                         1 6 | 2_
                                                            0 3 |2_
                                                               1 1

                26)10 = 11010)2

   Al dividir un número entre 2 el resto no puede ser más que 0 o 1.

b) La parte fraccionaria del número binario se obtiene multiplicando por 2 sucesivamente la parte
   fraccionaria del número decimal de partida y las partes fraccionarias que se van obteniendo en
   los productos sucesivos. El número binario se forma con las partes enteras (que serán ceros y
   unos) de los productos obtenidos.



                                                                                         Sistemas Informáticos
22    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

        Ejemplo:

                     Transformar a binario natural el número decimal 0.1875

                     0.1875                  0.3750                   0.7500                 0.5000
                          *2                      *2                      *2                    * 2
                     ---------              ----------              ----------             ----------
                     0.3750                  0.7500                   1.5000                 1.0000

                     0.1875)10 = 0.0011)2

     Ejemplo: Transformar a binario el número decimal 74.423

                    a) Parte entera:
                    74 | 2_
                    0 37 | 2__
                         1 18 | 2__
                              0 9 | 2_
                                  1 4 | 2__
                                     0 2 | 2__
                                          0     1
                    b) Parte fraccionaria:
                    0.423     0.846 0.692 0.384 0.768
                        *2       *2        *2       *2       *2
                    -------- --------- --------- --------- ---------
                    0.846      1.692     1.384     0.768     1.536

                                            74.423)10 = 1001010.01101...)2

     Podríamos tener una operación infinita, ya que es un sistema de codificación distinto.

     Por lo tanto, si tenemos un número con parte entera y parte decimal, hay que hacer las operaciones
     por separado. Por ejemplo

                                                    745,01423

                                          Dividir entre 2     Multiplicar por 2


     2.3.2      DE OCTAL A DECIMAL / DE DECIMAL A OCTAL
     Se transforma un número octal a decimal utilizando la expresión vista anteriormente:

                 n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 84 + n3 83 + n2 82 + n1 81 + n0 80+ n-1 8-1 +… = N(10

             Por ejemplo, el número octal 2738 tiene un valor que se calcula así:
                               2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610
                                                 2738 = 149610

     Para transformar un número decimal a octal: Para pasar un número entero decimal a octal se
     hacen sucesivas divisiones enteras del número y los subsiguientes cocientes por 8 (al igual que en


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS              23

binario). Para transformar la parte fraccionaria de un número decimal a octal se hacen sucesivas
multiplicaciones por 8 (de la misma forma que en binario).

Ejemplo:

                Para pasar el número decimal 760.33)10 a octal:

                760 | 8__
                 40
                  0 95 | 8__
                      15
                       7 11 | 8__
                          3 1

                0.33 0.64 0.12            0.96
                  *8     *8 *8            *8
                ------ ------- -------   -------
                2.64 5.12 0.96           7.68

                El número en octal es 1370.2507

Cuando dividimos la parte entera entre 8, el resto tiene que ser un dígito entre 0 y 7.

2.3.3      DE HEXADECIMAL A DECIMAL / DE DECIMAL A
           HEXADECIMAL
Se transforma un número hexadecimal a decimal utilizando la expresión vista anteriormente:

        n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 164 + n3 163 + n2 162 + n1 161 + n0 160+ n-1 16-1 +… = N(10

        Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:
                              1A3F16 = 1*163 + A*162 + 3*161 + F*160
                              1*4096 + 10*256 + 3*16 + 15*1 = 6719
                                          1A3F16 = 671910

Para transformar un número decimal a hexadecimal: Para pasar un número de decimal a
hexadecimal se hace de forma análoga a los casos binario y octal: la parte entera se divide por 16, así
como los cocientes enteros sucesivos, y la parte fraccionaria se multiplica por 16, así como las partes
fraccionarias de los productos sucesivos.

Ejemplo:

               El número 4573.79)10 se corresponde en hexadecimal:
               4573 |16
               137
                093 285 |16
                  13 125
                      13 17 |16
                            1 1



                                                                                        Sistemas Informáticos
24    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


                    0.79       0.64      0.24
                    * 16       * 16     * 16
                    ------     ----- - -----
                    474         384      144
                    +79        +64      +24
                    -----      ----    -----
                    12.64     10.24 3.84
                      C       A        3

                    El número en hexadecimal es 11DD.CA3)16

     2.4 ESTRUCTURA ELEMENTAL DE LA MEMORIA
     2.4.1       BIT
     Toda la memoria del ordenador se compone de dispositivos electrónicos que pueden adoptar
     únicamente dos estados, que representamos matemáticamente por 0 y 1. Cualquiera de estas
     unidades de información se denomina BIT, contracción de «binary digit» en inglés.

     2.4.1.1     El tamaño de las cifras binarias

     La cantidad de dígitos necesarios para representar un número en el sistema binario es mayor que en
     el sistema decimal.

     Para representar números grandes harán falta muchos más dígitos. Por ejemplo, para representar
     números mayores de 255 se necesitarán más de ocho dígitos, porque 28 = 256 y podemos afirmar,
     por tanto, que 255 es el número más grande que puede representarse con ocho dígitos.

     Como regla general, con n dígitos binarios pueden representarse un máximo de 2 n, números. El
     número más grande que puede escribirse con n dígitos es una unidad menos, es decir, 2 n – 1. Con
     cuatro bits, por ejemplo, pueden representarse un total de 16 números, porque 2 4 = 16 y el mayor de
     dichos números es el 15, porque 24-1 = 15.

     2.4.2       BYTE
     Cada grupo de 8 bits se conoce como byte u octeto.

     Los bits en un byte se numeran de derecha a izquierda y de 0 a 7, correspondiendo con los
     exponentes de las potencias de 2 que reflejan el valor de cada posición. Un byte nos permite, por
     tanto, representar 256 estados (de 0 a 255) según la combinación de bits que tomemos.

     Al principio, en lugar de trabajar con 8 bits, se cogían 7, por lo que se podían codificar 27 = 128
     estados. Es lo que se denomina el código ASCII. Pero con los nuevos microprocesadores se vio que
     se necesitaba más caracteres añadiéndose un bit. Por esta razón, se dijo que

               el byte iba a ser la unidad de medida.


     El byte es la unidad de almacenamiento en memoria, la cual está constituida por un elevado número
     de posiciones que almacenan bytes. La cantidad de memoria de que dispone un sistema se mide en


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS            25

Kilobytes (1 Kb = 1024 bytes), en Megabytes (1 Mb = 1024 Kb), Gigabytes (1 Gb = 1024 Mb),
Terabytes (1 Tb = 1024 Gb) o Petabytes (1 Pb = 1024 Tb).




2.4.3       NIBBLE
Cada grupo de cuatro bits de un byte constituye un nibble, de forma que los dos nibbles de un byte
se llaman nibble superior (el compuesto por los bits 4 a 7) e inferior (el compuesto por los bits 0 a 3).
El nibble tiene gran utilidad debido a que cada uno almacena un dígito hexadecimal:

                           Binario   Hex.   Decimal   Binario   Hex.    Decimal
                           0000      0      0         1000      8      8
                           0001      1      1         1001      9      9
                           0010      2      2         1010      A      10
                           0011      3      3         1011      B      11
                           0100      4      4         1100      C      12
                           0101      5      5         1101      D      13
                           0110      6      6         1110      E      14
                           0111      7      7         1111      F      15
                                  Parte alta                 Parte baja


Unidades de medida:




         Los fabricantes multiplican por 1000 (Sistema Internacional: SI), en lugar de 1024.



                                                                                     Sistemas Informáticos
26    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

     Nomenclatura:

     Byte Kilobyte Megabyte     Gigabyte   Terabyte    Petabyte Exabyte   Zettabyte   Yottabyte   Brontobyte
      B      KB         MB         GB         TB          PB       EB        ZB          YB          BB

     2.5 COMPLEMENTO A DOS
     El complemento a dos de un número N, compuesto por n bits, se define como:

                                                   C2N = 2n – N

     Veamos un ejemplo: tomemos el número N = 101101 (2, que tiene 6 bits, y calculemos su
     complemento a dos:

                     N = 4510 n = 6 26 = 64 y, por tanto: C2N = 64 – 45 = 19 = 010011(2

     En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener
     00h, por ejemplo:




     Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (-128) y
     el número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera
     basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los
     ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el
     complemento a dos.

     Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a
     otro mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda
     son bits a 0. Sin embargo, si era negativo (bit más significativo activo) la parte que se añade por la
     izquierda son bits a 1. Este fenómeno, en cuya demostración matemática no entraremos, se puede
     resumir en que el bit más significativo se copia en todos los añadidos: es lo que se denomina la
     extensión del signo: los dos siguientes números son realmente el mismo número (el -310): 11012 (4
     bits) y 111111012 (8 bits).

     2.6 COMPLEMENTO A UNO
     El complemento a uno de un número N, compuesto por n bits es, por definición, una unidad
     menor que el complemento a dos, es decir:

                                                   C1N = C2N - 1

     y, por la misma razón:

                                                   C2N = C1N + 1


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           27

Calculemos el complemento a uno del mismo número del ejemplo anterior:

                        N = 101101, y su complemento a dos C2N = 010011
                            C1N = C2N – 1 = 010011 – 000001 = 010010
                                           C1N = 010010

Da la sensación de que calcular el complemento a uno no es más que una forma elegante de
complicarse la vida, y que no va a ser más sencillo restar utilizando el complemento a dos, porque el
procedimiento para calcular el complemento a dos es más difícil y laborioso que la propia resta. Pero
es mucho más sencillo de lo que parece.

En realidad, el complemento a uno de un número binario es el número resultante de invertir los
UNOS y CEROS de dicho número. Por ejemplo si:

                                          N = 110100101

obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta:

                                          C1N = 001011010

y su complemento a dos es:

                                     C2N = C1N + 1 = 001011011

Veamos otro ejemplo: N = 0110110101

               El complemento a uno es:
                                       C1N = 1001001010
               y el complemento a dos es:
                                       C2N = 1001001011

2.7 AGRUPACIONES DE BYTES.
                        Tipo                 Definición
                        Palabra              2 bytes contiguos
                        Doble palabra        2 palabras contiguas (4 bytes)
                        Cuádruple palabra    4 palabras contiguas (8 bytes)
                        Párrafo              16 bytes
                        Página               256 bytes, 16 Kb, etc.
                        Segmento             64 Kbytes

Por ejemplo, en los colores RGB, donde R es la cantidad de Rojo, G la cantidad de Verde y B la
cantidad de Azul. Para indicar la cantidad de Rojo, de Verde o de Azul, se usa dos palabras, en cada
uno de los casos, por ejemplo: 00 00 FF, donde 00 son dos palabras.

2.8 REPRESENTACIÓN DE LOS DATOS EN MEMORIA
2.8.1      NUMEROS BINARIOS: máximo número representable


                                                                               Sistemas Informáticos
28    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS


     Tipo    Sin signo
     1 byte                         255                      ¡Cuidado! 2 bytes no es el
     2 bytes                     65.535                      doble del byte
     4 bytes              4.294.967.295
     8 bytes 18.446.744.073.709.551.615

     Tipo    Positivo                  Negativo
     1 byte                        127                       -128
     2 bytes                    32.767                    -32.768
     4 bytes             2.147.483.647             -2.147.483.648
     8 bytes 9.223.372.036.854.775.807 -9.223.372.036.854.775.808

     Los números binarios de más de un byte se almacenan en la memoria en los procesadores de Intel en
     orden inverso: 01234567h se almacenaría: 67h, 45h, 23h, 01h.

     2.8.2      NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD)
     Consiste en emplear cuatro bits para codificar los dígitos del 0 al 9 (desperdiciando las seis
     combinaciones que van de la 1010 a la 1111). La ventaja es la simplicidad de conversión a/de base
     10, que resulta inmediata. Los números BCD pueden almacenarse desempaquetados, en cuyo caso
     cada byte contiene un dígito BCD (Binary-Coded Decimal); o empaquetados, almacenando dos dígitos
     por byte (para construir los números que van del 00 al 99). La notación BCD ocupa cuatro bits -un
     nibble- por cifra, de forma que en el formato desempaquetado el nibble superior siempre es 0.

     2.8.3      NUMEROS EN PUNTO FLOTANTE
     Son grupos de bytes en los que una parte se emplea para guardar las cifras del número (mantisa) y
     otra para indicar la posición del punto flotante (exponente), de modo equivalente a la notación
     científica. Esto permite trabajar con números de muy elevado tamaño -según el exponente- y con
     una mayor o menor precisión en función de los bits empleados para codificar la mantisa.

     Por ejemplo, si tenemos el número 0.9 102, solo se almacena el 9 y el 2. De esta forma se puede
     almacenar números muy grandes.

     2.8.4      CÓDIGO ASCII
     El código A.S.C.I.I. (American Standard Code for Information Interchange) es un convenio adoptado
     para asignar a cada carácter un valor numérico; su origen está en los comienzos de la Informática
     tomando como muestra algunos códigos de la transmisión de información de radioteletipo. Se trata
     de un código de 7 bits con capacidad para 128 símbolos que incluyen todos los caracteres
     alfanuméricos del inglés, con símbolos de puntuación y algunos caracteres de control de la
     transmisión. Se dieron cuenta que con 128 no eran suficientes y surgió el ASCII extendido. Hasta el
     128, en todos los países era el mismo, pero el resto puede ser distintos, según el país.

     Con posterioridad, con la aparición de los microordenadores y la gran expansión entre ellos de los
     IBM-PC y compatibles, la ampliación del código ASCII realizada por esta marca a 8 bits, con capacidad
     para 128 símbolos adicionales, experimenta un considerable auge, siendo en la actualidad muy


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           29

utilizada y recibiendo la denominación oficial de página de códigos 437 (EEUU). Se puede consultar al
final de este libro. Es habitualmente la única página soportada por las BIOS de los PC. Para ciertas
nacionalidades se han diseñado otras páginas específicas que requieren de un software externo. En
las lenguas del estado español y en las de la mayoría de los demás países de la UE, esta tabla cubre
todas las necesidades del idioma.

2.9 OPERACIONES LÓGICAS EN BINARIO
Se realizan a nivel de bit y pueden ser de uno o dos operandos:

             x   y x AND y x OR y x XOR y                 x   NOT (x)
             0   0    0       0      0                    0     1
             0   1    0       1      1                    1     0
             1   0    0       1      1
             1   1    1       1      0


2.10   OPERACIONES ARITMÉTICAS SENCILLAS EN
   BINARIO
Una variable binaria puede representar, una cifra de un número en el sistema de numeración en base
dos. Las operaciones aritméticas básicas con variables binarias naturales son la suma, resta,
multiplicación y división. Estas operaciones son análogas a las realizadas en decimal pero usando
ceros y unos.

                       SUMA                                           PRODUCTO
         A         B        A+ B                                  A    B     A* B
         0         0           0                                  0    0       0
         0         1           1                                  0    1       0
         1         0           1                                  1    0       0
         1         1      0 y llevo 1                             1    1       1




                    RESTA                                               DIVISIÓN
         A         B       A- B                                   A     B       A/ B
         0         0         0                                    0     0        -
         0         1    1 y llevo 1                               0     1        0
         1         0         1                                    1     0        -
         1         1         0                                    1     1        1


Las operaciones lógicas o booleanas con variables binarias son la suma lógica (+), llamada también
función OR, el producto lógico (llamado también AND y la complementación (-) o negación o NOT.




                                                                               Sistemas Informáticos
30    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

     Ejemplos:


                                1110101         1101010           1101010
                                1110110       - 1010111                * 11
                              -------------    -------------      ------------
                              11101011          0010011           1101010
                                                                + 1101010
                                                                ---------------
                                                               100111110




     2.10.1 RESTAR EN BINARIO USANDO EL COMPLEMENTO A DOS
     Para representar un número negativo se puede utilizar el complemento de ese número a la base. De
     esta forma las sumas y restas quedan reducidas a sumas. Este sistema de representación es de sumo
     interés en el caso de los ordenadores ya que al usarlo se reduce la complejidad de los circuitos.

     El complemento a la base de un número, es el número que resulta de restar a cada una de las cifras
     del número N a la base menos uno del sistema que se esté utilizando y posteriormente sumar uno a
     la diferencia obtenida.


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           31

Ejemplo:

                      En base 10:
                      Base menos uno del sistema: 9
                      Representar el número 63 en complemento a la base.

                N = 63      99      36
                           -63     +1
                         ------ ------
                           36      37
                   Es decir, el complemento a 10 (base) del número 63 es 37.


                En base 2:

                Base menos uno: 1
                Complemento a 2 del número 10010 es 01110
                    11111        01101
                  - 10010          + 1
                ------------- -------------
                    01101        01110

                Complemento a 2 del número 101010 es 010110
                111111      010101
                101010         + 1
                ----------- ------------
                010101      010110

Observamos que para transformar un número binario N a complemento a 2 basta con cambiar los 0
por 1 y los 1 por 0 de N y sumar 1 al resultado.

Veremos ahora que la utilidad de esta representación es para convertir la realización de las restas a
sumas, lo cual simplifica el diseño del procesador.

Ejemplo: Base 10

                Supongamos que se ha de realizar la siguiente operación: 77 - 63
                Se puede hacer de dos formas diferentes:

                a) Directamente: 77 - 63 = 14
                b) Utilizando el complemento a 10 del substraendo: del 63 es 37

                  99 36
                 -63 +1
                 ---- -----
                 36 37

                   77
                 +37
                 -----
                 114
                 - (No se considera)


                                                                                 Sistemas Informáticos
32    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS



                       El resultado es 14


     Es decir, para restar basta con sumar el minuendo con el complemento a la base del substraendo y
     sin considerar el acarreo.

     Ejemplo: Base 2

                            Supongamos se ha de efectuar la siguiente resta:

                                                  11001 – 10010

                       Se puede hacer de dos formas:

                       a) Directamente:

                        11001
                       -10010
                       --------
                        00111

                       b) Usando el complemento a 2 del substraendo:
                       El substraendo es 10010. Su complemento a 2 se obtiene cambiando
                       0 por 1 y 1 por 0.
                       01101
                       y sumándole 1

                       01101
                       + 1
                       --------
                       01110

                            Ahora sumamos al minuendo el complemento a 2 del
                             substraendo :

                        11001
                       +01110
                       ---------
                        100111
                       - (No se considera)

     2.11          REPRESENTACIÓN INTERNA DE LA INFORMACIÓN.
                                              -   N o   v i s t o   -

     En la memoria y el procesador central la información se transmite y procesa en unidades
     denominadas palabras. La organización de las palabras depende del ordenador, siendo usuales las
     longitudes: 8, 16, 32, 36, 60 y 64 bit, aunque hay hasta de 512 bit.

     La memoria principal se encuentra organizada en palabras, cada una de las cuales tiene asignada una

      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           33

dirección. Los intercambios de información entre el procesador y la memoria se hacen en unidades
denominadas palabras y no en caracteres (octetos) o en bit.

Normalmente para aprovechar la memoria, la longitud de la palabra debe ser un múltiplo entero del
número de bit usados para representar un carácter.

Los datos se introducen inicialmente en el ordenador según un código de entrada/salida (que ya
hemos visto), tanto si estos son de tipo alfabético como de tipo numérico.

Los datos de tipo numérico se utilizan normalmente para operar aritméticamente con ellos, y la
representación simbólica obtenida con el código de E/S no resulta adecuada para realizar este tipo
de operaciones. Resulta más adecuado operar en un sistema de numeración que en un código de
E/S.

Por los motivos anteriores, y teniendo en cuenta que la ALU opera con palabras, se realiza una
conversión de notaciones pasando de la representación simbólica de E/S a otra notación que
denominamos representación interna.

2.11.1 TIPOS DE INFORMACION
En un sistema de procesamiento de la información es necesaria la codificación de tres clases de
información:

       1) Información numérica:
          a) Enteros
          b) Reales
          c) Complejos
          d) Lógicos
       2) Información no numérica (o alfanumérica):
          a) Caracteres
       3) Instrucciones del programa



A) Datos de tipo complejo
   Los datos de tipo complejo se representan por parejas de números reales almacenados en
   posiciones consecutivas de memoria. Es decir, pueden considerarse como un caso particular de
   números reales.
B) Datos de tipo lógico
   Representan un valor del Algebra de Boole binaria, es decir, 0 (falso) ó 1 (verdad).
C) Representación en punto fijo
   El nombre de esta representación surge al considerar el punto fraccional, situado en una posición
   fija. El punto fijo es utilizado para la representación de números enteros, suponiéndose el punto
   fraccional ubicado a la derecha de los bits. Cualquiera de los sistemas de representación de
   enteros es una representación de punto fijo. También, se puede utilizar la representación en
   punto fijo para representar fracciones binarias escalando los números, de modo que el punto
   fraccional quede ubicado implícitamente en otra posición entre los bit, y en el caso límite a la
   izquierda de todos ellos describiendo un número fraccional binario puro (menor a 1).


                                                                                 Sistemas Informáticos
34    UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

            1    El signo se representa en el bit situado más a la izquierda de la palabra. Este bit es 0 si el
                 número es positivo ó 1 si el número es negativo.
            2    El valor absoluto:
          2.1    Números positivos: Se almacenan directamente el número en binario natural.
          2.2    Números negativos: Dependiendo del ordenador se almacena el complemento a 2 del
                 número binario natural o la magnitud del número en binario natural.
        Ejemplo de representación interna de datos de tipo entero en un ordenador de palabras de 4 bit:
                              DECIMAL   SIGNO Y MAGNITUD        COMPLEMENTO A 2
                              7         0111                    0111
                              6         0110                    0110
                              5         0101                    0101
                              4         0100                    0100
                              3         0011                    0011
                              2         0010                    0010
                              1         0001                    0001
                              +0        0000                    0000
                              -0        1000                    ----
                              -1        1001                    1111
                              -2        1010                    1110
                              -3        1011                    1101
                              -4        1100                    1100
                              -5        1101                    1011
                              -6        1110                    1010
                              -7        1111                    1001
                              -8        -----                   1000

     D) Representación en punto flotante
     El punto flotante surge de la necesidad de representar números reales y enteros con un rango de
     representación mayor que el que ofrece la representación en punto fijo y posibilitar al ordenador el
     tratamiento de números muy grandes y muy pequeños. Estas ventajas que ofrece el punto flotante
     traen como contraprestación una disminución en la precisión de los números representados.
     En su representación se utiliza la notación científica o exponencial matemática en la que una
     cantidad se representa de la siguiente forma:
                                  n° = mantisa * base de exponenciación exponente
     Un número en esta notación tiene infinitas representaciones, de las que se toma como estándar la
     denominada normalizada, que consiste en que la mantisa no tiene parte entera y el primer dígito o
     cifra a la derecha del punto decimal es significativo (distinto de 0), salvo en la representación del
     número 0.
     Ejemplo (^ significa elevado a):
     835.4 = 8354*10^-1 = 835.4 * 10^0 = 83.54 * 10^1 = 8.354 * 10^2 = .8354 * 10^3
     Representación del número decimal 835.4 con base de exponenciación 10. Siendo está última
     expresión la que corresponde al número normalizado.


      Sistemas Informáticos
UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS           35

En este sistema de codificación, se dividen los bit disponibles en la palabra o doble palabra del
ordenador entre la mantisa y el exponente, teniendo una base de exponenciación determinada (2 o
potencia de 2). Normalmente la definición de la coma flotante sigue las siguientes reglas:
         El exponente se representa en uno de los siguientes sistemas de codificación: módulo y
          signo o exceso a 2n-1, siendo siempre un número entero. En este sistema de codificación el
          exponente también recibe el nombre de característica.
         La mantisa es un número real con el punto decimal implícito a la izquierda de sus bits,
          representada normalmente en uno de los siguientes sistemas de codificación: módulo y
          signo, complemento a 1 o complemento a 2.
         La base de exponenciación es una potencia de 2 determinada por el fabricante del equipo
          (2, 8 o 16).
   Existen muchas formas de representación en punto flotante, variando la longitud de la palabra
   del ordenador, la base de la exponenciación, el número de bit reservados para la mantisa y para
   el exponente, el sistema utilizado para representar la mantisa y el exponente, etc. El punto
   flotante se define particularmente en cada caso. Las definiciones más comunes son las siguientes:
       a) para simple precisión (32 bit)
          signo exponente mantisa
          31 30          23 22        0
       b) para doble precisión (64 bit)
          signo exponente mantisa
          63 62          52 51    0
          El rango de representación en la coma flotante debe ser analizado teniendo en cuenta los
          máximos y mínimos valores representables tanto con signo positivo como negativo:
          mínimo número negativo = -(mantisa máxima) * basemáximo exponente
          máximo número negativo = -(mantisa mínima) * base-máximo exponente
          mínimo número positivo = mantisa mínima * base-máximo exponente
          máximo número positivo = mantisa máxima * basemáximo exponente
          Conviene observar que existen cuatro zonas de números que no pueden ser
          representados mediante un determinado formato de coma flotante. Estas zonas están
          ubicadas cercanas al 0, tanto para valores positivos como negativos (subdesbordamiento
          positivo o negativo), como para valores grandes (positivos) o pequeños (negativos) que
          exceden el rango de representación.
          Ejemplo
          Un ordenador utiliza el siguiente formato para registrar números en punto flotante:
               los bit del 23 al 30 se utilizan para representar el exponente en exceso a 128 (2 7)
               los bit del 0 al 22 se utilizan para representar la mantisa normalizada para el
                sistema Módulo y signo
               el bit 31 se utiliza para representar el signo de la mantisa (0 para el +)
               la base de exponenciación es 2
               el 0 se representa con todos los bit en 0.



                                                                                 Sistemas Informáticos
36   UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS

               Representar en este formato el número 12:
                    12 en notación normalizada de base 2 es 0.75 * 24
                    el exponente de valor 4 en exceso a 128 es: 10000100
                    la mantisa 0.75 en binario es 0.11

        de donde la representación del número 12 quedará como:

        0      10000100 11000000000000000000000
        signo (+) exponente 4 mantisa 0.75

        Representar en el formato definido el 12. En este caso la notación normalizada solo sufre cambio
        en el signo de la mantisa (-0.75 * 24), la expresión quedará entonces:

        1     10000100 11000000000000000000000
        signo (-) exponente 4 mantisa 0.75

        El rango de representación de este formato en coma flotante será:

                  mínimo negativo = -(1 - 223)*2127 = -2127 = 1.701411834605 * 1038
                  máximo negativo = -0.5 * 2-128 = -2-129 = -1.469367938528 * 10-39
                  mínimo positivo = 0.5 * 2-128 = 2-129 = 1.469367938528 * 10-39
                  máximo positivo = (1 - 223)*2127 = 2127 = 1.701411834605 * 1038

        E) Datos de tipo carácter

        Los datos de tipo carácter, representan sencillamente cadenas de caracteres representados
        según el código de E/S.

        A las representaciones de los caracteres se les imponen las siguientes condiciones:

             Deben englobar las 26 letras del alfabeto latino, los 10 dígitos y un cierto número de
              caracteres gráficos (operadores) y signos de puntuación.
             Deben permitir añadir nuevos caracteres específicos.
             Deben incluir un sistema de redundancia que permita la detección de errores en el curso
              de la transmisión.
             Los subconjuntos de letras y números deben estar ordenados y ser coherentes. Estarán
              en dos grupos diferentes y ordenados.

        F) Codificación de instrucciones

        Las instrucciones llevan cierto número de informaciones:

         Código de operación.
         Dirección de operandos/resultados.
         Condiciones de direccionamiento, etc.

        A cada una de estas informaciones se le asocia una zona formada por un número de bits
        suficientes para codificar los diferentes estados posibles de la instrucción.


     Sistemas Informáticos
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1
85763244 ut1

Más contenido relacionado

La actualidad más candente

Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009PCMIRA - ECR&POS
 
DoD Trudvang Likstorm
DoD Trudvang LikstormDoD Trudvang Likstorm
DoD Trudvang LikstormRiotminds
 
Manual de Programación SAM4S SPS530 v0.99o
Manual de Programación SAM4S SPS530 v0.99oManual de Programación SAM4S SPS530 v0.99o
Manual de Programación SAM4S SPS530 v0.99oPCMIRA - ECR&POS
 
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE ACKNOWLEDGEMENT.pdf
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE  ACKNOWLEDGEMENT.pdfASSESSMENT OF CONFLICT MANAGEMENT PRACTICE  ACKNOWLEDGEMENT.pdf
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE ACKNOWLEDGEMENT.pdfEmma Burke
 
Manual instrucciones se 150 60
Manual instrucciones se 150 60Manual instrucciones se 150 60
Manual instrucciones se 150 60Pablo Cea Campos
 
73967710 lean-manufacturing-paso-a-paso
73967710 lean-manufacturing-paso-a-paso73967710 lean-manufacturing-paso-a-paso
73967710 lean-manufacturing-paso-a-pasoPaul Marin Mundaca
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_enconfidencial
 
Mercedes Benz- eletricidade-veicular-completo-04-11-04
Mercedes Benz- eletricidade-veicular-completo-04-11-04Mercedes Benz- eletricidade-veicular-completo-04-11-04
Mercedes Benz- eletricidade-veicular-completo-04-11-04Jose Roberto
 
Manual usuario ECR SAMPOS ER-159
Manual usuario ECR SAMPOS ER-159Manual usuario ECR SAMPOS ER-159
Manual usuario ECR SAMPOS ER-159PCMIRA - ECR&POS
 
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manual
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair ManualPERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manual
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manualjnekmsmme
 
sigma-control-2-9_9450_00hce-tcm8-285054.pdf
sigma-control-2-9_9450_00hce-tcm8-285054.pdfsigma-control-2-9_9450_00hce-tcm8-285054.pdf
sigma-control-2-9_9450_00hce-tcm8-285054.pdfcuartooscuro
 
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manual
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manualPerkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manual
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manualfujsejfkskemem
 
Proyecto final de carrera Frío industrial e instalación fotovoltaica
Proyecto final de carrera Frío industrial e instalación fotovoltaicaProyecto final de carrera Frío industrial e instalación fotovoltaica
Proyecto final de carrera Frío industrial e instalación fotovoltaicaManuel Jose Ballesteros
 
Compresor kaeser-csd100-ingl.
Compresor kaeser-csd100-ingl.Compresor kaeser-csd100-ingl.
Compresor kaeser-csd100-ingl.JAISONGOMES
 
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...Julia Czenner
 
Cummins onan c150 d5 generator set with power command 1301 controller service...
Cummins onan c150 d5 generator set with power command 1301 controller service...Cummins onan c150 d5 generator set with power command 1301 controller service...
Cummins onan c150 d5 generator set with power command 1301 controller service...fjkfksmemm
 

La actualidad más candente (20)

Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009
 
DoD Trudvang Likstorm
DoD Trudvang LikstormDoD Trudvang Likstorm
DoD Trudvang Likstorm
 
Manual de Programación SAM4S SPS530 v0.99o
Manual de Programación SAM4S SPS530 v0.99oManual de Programación SAM4S SPS530 v0.99o
Manual de Programación SAM4S SPS530 v0.99o
 
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE ACKNOWLEDGEMENT.pdf
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE  ACKNOWLEDGEMENT.pdfASSESSMENT OF CONFLICT MANAGEMENT PRACTICE  ACKNOWLEDGEMENT.pdf
ASSESSMENT OF CONFLICT MANAGEMENT PRACTICE ACKNOWLEDGEMENT.pdf
 
Manual instrucciones se 150 60
Manual instrucciones se 150 60Manual instrucciones se 150 60
Manual instrucciones se 150 60
 
Społeczna odpowiedzialność biznesu. wymiar konstytucyjny i międzynarodowy
Społeczna odpowiedzialność biznesu. wymiar konstytucyjny i międzynarodowySpołeczna odpowiedzialność biznesu. wymiar konstytucyjny i międzynarodowy
Społeczna odpowiedzialność biznesu. wymiar konstytucyjny i międzynarodowy
 
73967710 lean-manufacturing-paso-a-paso
73967710 lean-manufacturing-paso-a-paso73967710 lean-manufacturing-paso-a-paso
73967710 lean-manufacturing-paso-a-paso
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_en
 
Mercedes Benz- eletricidade-veicular-completo-04-11-04
Mercedes Benz- eletricidade-veicular-completo-04-11-04Mercedes Benz- eletricidade-veicular-completo-04-11-04
Mercedes Benz- eletricidade-veicular-completo-04-11-04
 
Manual usuario ECR SAMPOS ER-159
Manual usuario ECR SAMPOS ER-159Manual usuario ECR SAMPOS ER-159
Manual usuario ECR SAMPOS ER-159
 
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manual
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair ManualPERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manual
PERKINS 3000 SERIES 3008 CV8 8 CYLINDER DIESEL ENGINE Service Repair Manual
 
sigma-control-2-9_9450_00hce-tcm8-285054.pdf
sigma-control-2-9_9450_00hce-tcm8-285054.pdfsigma-control-2-9_9450_00hce-tcm8-285054.pdf
sigma-control-2-9_9450_00hce-tcm8-285054.pdf
 
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manual
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manualPerkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manual
Perkins 3000 series 3012 cv12 12 cylinder diesel engine service repair manual
 
Proyecto final de carrera Frío industrial e instalación fotovoltaica
Proyecto final de carrera Frío industrial e instalación fotovoltaicaProyecto final de carrera Frío industrial e instalación fotovoltaica
Proyecto final de carrera Frío industrial e instalación fotovoltaica
 
wiring diagram fh 4
wiring diagram fh 4wiring diagram fh 4
wiring diagram fh 4
 
Compresor kaeser-csd100-ingl.
Compresor kaeser-csd100-ingl.Compresor kaeser-csd100-ingl.
Compresor kaeser-csd100-ingl.
 
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...
Nyelvvizsga és idegen nyelvi érettségi kedvezmények specifikus tanulási zavar...
 
Cummins onan c150 d5 generator set with power command 1301 controller service...
Cummins onan c150 d5 generator set with power command 1301 controller service...Cummins onan c150 d5 generator set with power command 1301 controller service...
Cummins onan c150 d5 generator set with power command 1301 controller service...
 
MANUAL EZ250 ESPAÑOL
MANUAL EZ250 ESPAÑOLMANUAL EZ250 ESPAÑOL
MANUAL EZ250 ESPAÑOL
 
Catalogo de motores
Catalogo de motoresCatalogo de motores
Catalogo de motores
 

Similar a 85763244 ut1

Electricidad sistemas puesta_a_tierra
Electricidad sistemas puesta_a_tierraElectricidad sistemas puesta_a_tierra
Electricidad sistemas puesta_a_tierrafedericoblanco
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excelrfms07
 
Resolucion epre 158 08
Resolucion epre 158  08Resolucion epre 158  08
Resolucion epre 158 08Esteban Conte
 
Acta de recibo (reparado) 2
Acta de recibo (reparado) 2Acta de recibo (reparado) 2
Acta de recibo (reparado) 2mjperezvasco
 
Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290PCMIRA - ECR&POS
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos GM Lamo
 
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdf
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdfDLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdf
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdfDANIELPIZARROBAZAN4
 
Tutorial de computación básica 2
Tutorial de computación básica 2Tutorial de computación básica 2
Tutorial de computación básica 2AndreaEspinoza92
 
Control de motores con matlab
Control de motores con matlabControl de motores con matlab
Control de motores con matlabuzyzu
 
50089575 control-de-motores-electricos
50089575 control-de-motores-electricos50089575 control-de-motores-electricos
50089575 control-de-motores-electricosJoaquin Bone Vanegas
 
Apuntes prac
Apuntes pracApuntes prac
Apuntes pracJusto Lux
 
Conversion electromecanica maquinas
Conversion electromecanica maquinasConversion electromecanica maquinas
Conversion electromecanica maquinasCristhiam Burbano
 
Tutorial de computacion basica ii
Tutorial de computacion basica iiTutorial de computacion basica ii
Tutorial de computacion basica iiArelitateamo
 
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701Pluk Fimia
 
94548395 atp-b1-guia
94548395 atp-b1-guia94548395 atp-b1-guia
94548395 atp-b1-guiaarequipa_juan
 

Similar a 85763244 ut1 (20)

Electricidad sistemas puesta_a_tierra
Electricidad sistemas puesta_a_tierraElectricidad sistemas puesta_a_tierra
Electricidad sistemas puesta_a_tierra
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excel
 
Resolucion epre 158 08
Resolucion epre 158  08Resolucion epre 158  08
Resolucion epre 158 08
 
Rne e.090-metalicas
Rne e.090-metalicasRne e.090-metalicas
Rne e.090-metalicas
 
Contenido
Contenido Contenido
Contenido
 
Acta de recibo (reparado) 2
Acta de recibo (reparado) 2Acta de recibo (reparado) 2
Acta de recibo (reparado) 2
 
Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Pic gama-media
Pic gama-mediaPic gama-media
Pic gama-media
 
Sintonizacion PID
Sintonizacion PID Sintonizacion PID
Sintonizacion PID
 
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdf
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdfDLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdf
DLT004_MANUAL_USUARIOS_ DLT-CAD_2024.pdf
 
Tutorial de computación básica 2
Tutorial de computación básica 2Tutorial de computación básica 2
Tutorial de computación básica 2
 
Climt manual
Climt manualClimt manual
Climt manual
 
Control de motores con matlab
Control de motores con matlabControl de motores con matlab
Control de motores con matlab
 
50089575 control-de-motores-electricos
50089575 control-de-motores-electricos50089575 control-de-motores-electricos
50089575 control-de-motores-electricos
 
Apuntes prac
Apuntes pracApuntes prac
Apuntes prac
 
Conversion electromecanica maquinas
Conversion electromecanica maquinasConversion electromecanica maquinas
Conversion electromecanica maquinas
 
Tutorial de computacion basica ii
Tutorial de computacion basica iiTutorial de computacion basica ii
Tutorial de computacion basica ii
 
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701
Mi 2292 power_quality_analyser_plus_ang_ver_3.1__20_750_701
 
94548395 atp-b1-guia
94548395 atp-b1-guia94548395 atp-b1-guia
94548395 atp-b1-guia
 

Más de Agustin Marcillo Indacochea (7)

Ejemplos de conocimiento absatracto
Ejemplos de conocimiento absatractoEjemplos de conocimiento absatracto
Ejemplos de conocimiento absatracto
 
20111201 ontsi redes_sociais
20111201 ontsi redes_sociais20111201 ontsi redes_sociais
20111201 ontsi redes_sociais
 
Tesis empresa telecomuinicaciones
Tesis empresa telecomuinicacionesTesis empresa telecomuinicaciones
Tesis empresa telecomuinicaciones
 
Arq teorico05 von neuman-hardvar
Arq teorico05 von neuman-hardvarArq teorico05 von neuman-hardvar
Arq teorico05 von neuman-hardvar
 
6190163 arquitectura-de-von-neumann
6190163 arquitectura-de-von-neumann6190163 arquitectura-de-von-neumann
6190163 arquitectura-de-von-neumann
 
2188 6889-1-pb
2188 6889-1-pb2188 6889-1-pb
2188 6889-1-pb
 
12 realidad nacional
12 realidad nacional12 realidad nacional
12 realidad nacional
 

85763244 ut1

  • 1. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 1 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS ÍNDICE 1 LA ARQUITECTURA DE LOS ORDENADORES ................................................................................................... 4 1.1 CLASIFICACION ........................................................................................................................................ 6 1.2 ALMACENAMIENTO DE OPERANDOS EN LA CPU ................................................................................... 6 1.2.1 CARACTERÍSTICAS ........................................................................................................................... 7 1.3 LA MÁQUINA DE TURING........................................................................................................................ 7 1.3.1 FUNCIONAMIENTO ......................................................................................................................... 7 1.3.2 EJEMPLO ......................................................................................................................................... 8 1.4 LA ARQUITECTURA HARVARD ............................................................................................................... 10 1.5 LA ARQUITECTURA DE VON NEUMANN ............................................................................................... 11 1.5.1 CUELLO DE BOTELLA DE VON NEUMANN..................................................................................... 12 1.6 EL SISTEMA INFORMÁTICO ................................................................................................................... 12 1.6.1 DATOS ........................................................................................................................................... 13 1.6.2 CLASIFICACIÓN DE LOS SISTEMAS INFORMÁTICOS ...................................................................... 14 2 SISTEMAS DE NUMERACIÓN ......................................................................................................................... 16 2.1 INTRODUCCIÓN .................................................................................................................................... 16 2.1.1 CÓDIGOS DE ENTRADA/SALIDA. ................................................................................................... 17 2.2 NUMEROS BINARIOS, OCTALES Y HEXADECIMALES. ............................................................................ 18 2.2.1 SISTEMA DECIMAL ........................................................................................................................ 18 2.2.2 SISTEMA BINARIO ......................................................................................................................... 18 2.2.3 SISTEMA OCTAL ............................................................................................................................ 19 2.2.4 SISTEMA HEXADECIMAL ............................................................................................................... 19 2.2.5 AGRUPACIÓN DE CIFRAS............................................................................................................... 19 2.3 CAMBIO DE BASE .................................................................................................................................. 21 2.3.1 DE BINARIO A DECIMAL / DE DECIMAL A BINARIO....................................................................... 21 2.3.2 DE OCTAL A DECIMAL / DE DECIMAL A OCTAL ............................................................................. 22 2.3.3 DE HEXADECIMAL A DECIMAL / DE DECIMAL A HEXADECIMAL ................................................... 23 2.4 ESTRUCTURA ELEMENTAL DE LA MEMORIA ........................................................................................ 24 2.4.1 BIT ................................................................................................................................................. 24 2.4.2 BYTE .............................................................................................................................................. 24 2.4.3 NIBBLE ........................................................................................................................................... 25 2.5 COMPLEMENTO A DOS ......................................................................................................................... 26 Sistemas Informáticos
  • 2. 2 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 2.6 COMPLEMENTO A UNO ........................................................................................................................ 26 2.7 AGRUPACIONES DE BYTES. ................................................................................................................... 27 2.8 REPRESENTACIÓN DE LOS DATOS EN MEMORIA .................................................................................. 27 2.8.1 NUMEROS BINARIOS: máximo número representable................................................................. 27 2.8.2 NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD) .............................................................. 28 2.8.3 NUMEROS EN PUNTO FLOTANTE.................................................................................................. 28 2.8.4 CÓDIGO ASCII ................................................................................................................................ 28 2.9 OPERACIONES LÓGICAS EN BINARIO .................................................................................................... 29 2.10 OPERACIONES ARITMÉTICAS SENCILLAS EN BINARIO .......................................................................... 29 2.10.1 RESTAR EN BINARIO USANDO EL COMPLEMENTO A DOS ............................................................ 30 2.11 REPRESENTACIÓN INTERNA DE LA INFORMACIÓN............................................................................... 32 2.11.1 TIPOS DE INFORMACION............................................................................................................... 33 2.12 DETECCIÓN DE ERRORES EN LA INFORMACIÓN CODIFICADA .............................................................. 37 3 UNIDADES FUNCIONALES ............................................................................................................................. 40 3.1 UNIDAD CENTRAL DE PROCESO (CPU) .................................................................................................. 40 3.2 MEMORIA PRINCIPAL ............................................................................................................................ 52 3.2.1 TIPOS DE MEMORIA ...................................................................................................................... 54 3.2.2 TECNOLOGÍAS DE MEMORIA ........................................................................................................ 55 3.2.3 DETECCIÓN Y CORRECCIÓN DE ERRORES...................................................................................... 56 3.3 BUSES DEL SISTEMA .............................................................................................................................. 57 3.3.1 TIPOS DE BUSES............................................................................................................................. 57 4 PERIFÉRICOS .................................................................................................................................................. 59 4.1 CONTROLADOR DE ENTRADA/SALIDA (I/O) .......................................................................................... 59 4.1.1 DEFINICIÓN PERIFÉRICO................................................................................................................ 60 4.1.2 CLASIFICACIÓN .............................................................................................................................. 60 4.2 PERIFÉRICOS DE ALMACENAMIENTO ................................................................................................... 60 4.2.1 MEDIOS MAGNÉTICOS .................................................................................................................. 61 4.2.2 MEDIOS ÓPTICOS .......................................................................................................................... 64 4.2.3 CD-ROM......................................................................................................................................... 65 4.2.4 DVD-ROM ...................................................................................................................................... 66 4.3 CINTAS PARA "BACKUP"........................................................................................................................ 66 4.4 PERIFERICOS DE ENTRADA .................................................................................................................... 68 4.4.1 EL TECLADO ................................................................................................................................... 68 4.4.2 MOUSE .......................................................................................................................................... 70 4.4.3 TABLETA DIGITALIZADORA ............................................................................................................ 71 4.4.4 ESCANERS ...................................................................................................................................... 72 Sistemas Informáticos
  • 3. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 3 4.4.5 JOYSTICK ....................................................................................................................................... 72 4.4.6 ALMOHADILLA .............................................................................................................................. 73 4.4.7 LECTORES DE TARJETAS MAGNÉTICAS ......................................................................................... 73 4.4.8 MÓDEMS....................................................................................................................................... 73 4.4.9 CÓDIGOS DE BARRA ...................................................................................................................... 73 4.5 PERIFÉRICOS DE SALIDA ........................................................................................................................ 73 4.5.1 MONITORES .................................................................................................................................. 74 4.5.2 IMPRESORAS ................................................................................................................................. 77 5 REDES ............................................................................................................................................................ 83 5.1 CONCEPTO Y CARACTERÍSTICAS DE LAS REDES. VENTAJAS E INCONVENIENTES. ................................ 83 5.2 TIPOS DE REDES. ................................................................................................................................... 83 5.2.1 REDES DE ÁREA LOCAL (LAN) ........................................................................................................ 83 5.2.2 RED DE ÁREA AMPLIA (WAN) ....................................................................................................... 84 5.3 COMPONENTES DE UNA RED INFORMÁTICA. ...................................................................................... 85 5.4 TOPOLOGÍAS DE RED ............................................................................................................................ 86 5.4.1 TOPOLOGÍAS FÍSICAS .................................................................................................................... 87 5.4.2 TOPOLOGÍAS LÓGICAS .................................................................................................................. 90 5.5 MAPA FÍSICO Y LÓGICO DE UNA RED LOCAL ........................................................................................ 91 5.6 MEDIOS DE TRANSMISIÓN. TRANSMISIÓN ALÁMBRICA E INALÁMBRICA. .......................................... 92 Tipos de cable ................................................................................................................................................... 95 5.7 Cable cruzado ....................................................................................................................................... 96 5.8 Conectores RJ45.................................................................................................................................... 97 5.8.1 Norma A ........................................................................................................................................ 97 5.8.2 Norma B ........................................................................................................................................ 97 5.9 Conexión entre conmutadores y concentradores ................................................................................ 97 5.10 Conexión directa PC a PC a 100 Mbps .................................................................................................. 97 Sistemas Informáticos
  • 4. 4 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 1 LA ARQUITECTURA DE LOS ORDENADORES Una computadora o computador (1 Wikipedia) (del inglés computer y este del latín computare - calcular), también denominada ordenador (del francés ordinateur, y este del latín ordinator), es una máquina electrónica que recibe y procesa datos2 para convertirlos en información útil. Una computadora es una colección de circuitos integrados (circuitería) y otros componentes relacionados que puede ejecutar con exactitud, rapidez y de acuerdo a lo indicado por un usuario o automáticamente por otro programa, una gran variedad de secuencias o rutinas de instrucciones que son ordenadas, organizadas y sistematizadas en función a una amplia gama de aplicaciones prácticas y precisamente determinadas, proceso al cual se le ha denominado con el nombre de programación y al que lo realiza se le llama programador. La computadora, además de la rutina o programa informático, necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en inglés o de entrada) que deben ser suministrados, y que son requeridos al momento de la ejecución, para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output" o de salida. La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o remotamente usando diferentes sistemas de telecomunicación, pudiendo ser grabada, salvada o almacenada en algún tipo de dispositivo o unidad de almacenamiento. La característica principal que la distingue de otros dispositivos similares, como la calculadora no programable, es que es una máquina de propósito general, es decir, puede realizar tareas muy diversas, de acuerdo a las posibilidades que brinde los lenguajes de programación y el hardware. Un GPS se puede interpretar como un ordenador. Una impresora podría ser un ordenador pues tiene datos de entrada y de salida. E incluso algunas son programables. Ahora se dice que un ordenador es aquel que tiene un dispositivo de almacenamiento (disco duro). Antiguamente tenía que tener más dispositivos (dispositivo de entrada, disco duro, dispositivo de salida, etc). 2 Datos: No es lo mismo datos que información. El dato puede significar un número, una letra, o cualquier símbolo que representa una palabra, una cantidad, una medida o una descripción. El dato no tiene valor semántico (sentido) en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la realización de cálculos o toma de decisiones. Por ejemplo, un dato es “32” (no tiene sentido), y una información es “años de Javier”. El ordenador trabaja con datos y no con información. Las instrucciones de un ordenador son datos. Una visión típica de una arquitectura de ordenadores (1 Wikipedia) como una serie de capas de abstracción (es una forma de ocultar los detalles de implementación de ciertas funcionalidades): hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones. Sistemas Informáticos
  • 5. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 5 Hardware: corresponde a todas las partes tangibles de un ordenador. Firmware: el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y el hardware (su electrónica), ya que es el encargado de controlar a éste último para ejecutar correctamente dichas órdenes externas. (Son los controladores). Ensamblador: Es la capa que permite una comunicación entre los Controladores (firmware) y el Kernel. Un lenguaje ensamblador es específico a cierta arquitectura de ordenador física (o virtual). Es el nivel más bajo del programador. Kernel: Es el núcleo. Un núcleo o kernel es un software que constituye la parte más importante del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware del ordenador. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Se puede modificar el Kernel de un ordenador y hacer que funcione en otro ordenador. Sistema Operativo y aplicaciones: Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. Una aplicación es un programa en ejecución. Las aplicaciones son gestionadas por el sistema operativo. Esta capa es la interfaz con nosotros. Los S.O. incluyen el Kernel. La arquitectura de ordenadores (1 Wikipedia) es el diseño conceptual y la estructura operacional fundamental de un sistema de ordenadores. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP o CPU) trabaja internamente y accede a las direcciones de memoria. La unidad central de proceso está en contacto con la memoria principal, ya que consulta los datos que hay en ella. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. La arquitectura es un diseño que tiene que estar muy bien marcado. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La CPU es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema Sistemas Informáticos
  • 6. 6 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS exceptuando la CPU se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la CPU (encargada de ejecutar programas y que está compuesta por la memoria principal, la ALU y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones). La ALU (Unidad Aritmético Lógica) es un circuito digital que calcula operaciones aritméticas y operaciones lógicas, entre dos números. Es decir, se encarga de realizar las operaciones matemáticas. La UC (Unidad de Control) que busca las instrucciones en la memoria principal, las decodifica (interpretación) y las ejecuta. 1.1 CLASIFICACION Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:  Almacenamiento de operativos en la CPU: dónde y cómo se ubican los operadores.  Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3. A veces es mejor que tener varias operaciones, que sólo una.  Posición del operando: ¿Puede cualquier operando estar en memoria, o deben estar algunos o todos en los registros internos de la CPU? (Los registros se encuentran en la Memoria Local que tiene la CPU). Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles).  Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones.  Tipo y tamaño de operandos y cómo se especifican. Es decir, cuántos bits ocupa. 1.2 ALMACENAMIENTO DE OPERANDOS EN LA CPU La diferencia básica está en el almacenamiento interno de la CPU. Las principales alternativas son:  Acumulador: Es un registro en el que son almacenados temporalmente los resultados aritméticos y lógicos intermedios que serán tratados por la Unidad aritmético-lógica (ALU).  Conjunto de registros: Un registro es una memoria de alta velocidad y poca capacidad que permite guardar transitoriamente y acceder a valores muy usados, generalmente en Sistemas Informáticos
  • 7. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 7 operaciones matemáticas. El número de registros del procesador, define las características de la CPU. Los datos, antes de ir al acumulador, van a los registros.  Memoria o de pila: Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. 1.2.1 CARACTERÍSTICAS En una arquitectura de acumulador un operando está implícitamente en el acumulador siempre leyendo e ingresando datos. (Ej.: calculadora Standard -estándar-). Por ejemplo, una computadora puede tener una instrucción como: Add DireccionDeMemoria Esta instrucción agregaría el valor leído en la posición de memoria indicada en DireccionDeMemoria al valor del acumulador, poniendo el resultado en el acumulador. El acumulador no es identificado en la instrucción por un número del registro; es implícito en la instrucción y ningún otro registro puede ser especificado en la instrucción. En la arquitectura de pila no es necesario nombrar a los operandos ya que estos se encuentran en el tope de la pila. (Ej.: calculadora de pila HP). En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado. Una pila típica es un área de la memoria de los computadores con un origen fijo y un tamaño variable. Al principio, el tamaño de la pila es cero. Un puntero de pila, por lo general en forma de un registro de hardware, apunta a la más reciente localización en la pila; cuando la pila tiene un tamaño de cero, el puntero de pila de puntos en el origen de la pila. La pila se irá llenando. El primer elemento que sale de la pila, es el último elemento que llega. La arquitectura de registros tiene sólo operandos explícitos (es aquel que se nombra) en registros o memoria. Los registros se nombran como R0, R1, R2,… y todos los operadores deben ser nombrados. 1.3 LA MÁQUINA DE TURING Turing pudo demostrar que existen problemas irresolubles, tales que ninguna máquina de Turing (y, por ende, ningún ordenador) será capaz de obtener su solución. 1.3.1 FUNCIONAMIENTO La máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor. Sistemas Informáticos
  • 8. 8 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Las operaciones que se pueden realizar en esta máquina se limitan a:  Avanzar el cabezal lector/escritor hacia la derecha.  Avanzar el cabezal lector/escritor hacia la izquierda. El cómputo es determinado a partir de una tabla de estados de la forma: (estado, valor) (nuevo valor, dirección, nuevo estado) Esta tabla toma como parámetros el estado actual de la máquina y el carácter leído de la cinta, dando la dirección para mover el cabezal, el nuevo estado de la máquina y el valor a escribir en la cinta. La memoria es la cinta de la máquina que se divide en espacios de trabajo denominados celdas, donde se pueden escribir y leer símbolos. Inicialmente todas las celdas contienen un símbolo especial denominado "blanco". Las instrucciones que determinan el funcionamiento de la máquina tienen la forma, "si estamos en el estado x leyendo la posición y, donde hay escrito el símbolo z, entonces este símbolo debe ser reemplazado por este otro símbolo, y pasar a leer la celda siguiente, bien a la izquierda o bien a la derecha". La máquina de Turing puede considerarse como un autómata capaz de reconocer lenguajes formales. En ese sentido, es capaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la jerarquía de Chomsky. Su potencia es, por tanto, superior a otros tipos de autómatas, como el autómata finito, o el autómata con pila, o igual a otros modelos con la misma potencia computacional. En la siguiente dirección, tenemos un video explicativo: http://www.youtube.com/watch?v=uU9kG_Wn1H8 1.3.2 EJEMPLO Supongamos una máquina de Turing con un alfabeto unario, en la que el nulo (ausencia de dato) lo señalamos con 0. La máquina puede tener cinco estados que denominamos {e0, e1, e2, e3, e4}. El estado inicial es e0; su tabla de acción es: S R W M N S: Estado anterior e0 1 0 R e1 R: Símbolo leído W: Símbolo a escribir e1 1 1 R e1 M: Movimiento (R, L). e1 0 0 R e2 N: Nuevo estado e2 0 1 L e3 e2 1 1 R e2 e3 1 1 L e3 e3 0 0 L e4 e4 1 1 L e4 e4 0 1 R e0 Observe que la tabla debe contener al menos tantas filas como estados distintos. La primera columna representa lo que podíamos denominar "estado mental" de la máquina. La segunda Sistemas Informáticos
  • 9. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 9 columna indica el carácter leído; representa la entrada (input) al autómata. Las siguientes (en otro color) representan el comportamiento o respuesta de la máquina para la combinación estado/carácter-leído. Esta respuesta tiene tres componentes:  Una salida (escribir en la cinta). Indicado en la columna W.  Un movimiento de avance o retroceso del cabezal sobre la cinta (indicado en la columna M).  Un cambio del estado interno actual del autómata a otro nuevo (columna N). Observe que las filas pueden repetir el primer elemento; significan las acciones a tomar en cada estado según el carácter leído. Cada vez que se alcanza un estado para el que no exista una entrada para el carácter leído, la máquina se detiene. En nuestro autómata la tabla señala acciones concretas para cualquier carácter leído (0 o 1) en cualquiera de los estados e1, e2, e3 y e4, pero si en el estado e0 se lee un 0, la máquina se detiene. Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0 representa el símbolo blanco. La máquina comenzará su proceso situada sobre un símbolo "1" de una serie. La máquina de Turing copiará el número de símbolos "1" que encuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir, posicionad el cabezal sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos 1, con un 0 en medio. Así, si tenemos la entrada "111" devolverá "1110111", con "1111" devolverá "111101111", y sucesivamente. Un ejemplo del proceso de esta máquina puede ser el que se muestra a continuación. Como el número de pasos de cómputo hasta que la máquina se detiene, depende de la cantidad inicial representada en la cinta, para hacer el ciclo más breve supondremos que hay un 2 (110000...). Los pasos ejecutados por el autómata para realizar el proceso se muestran en la tabla inferior. La información contenida en la cinta para cada paso es la existente "antes" de la ejecución del ciclo correspondiente. El carácter en negrita indica la posición de la cabeza en el momento de la lectura. Paso Estado Cinta P1: La máquina ejecuta el primer paso. Arranca en el estado e0, donde 1 e0 11000 lee un 1; entonces, de acuerdo con su tabla de acción escribe un 0 en esa 2 e1 01000 posición, se mueve a la derecha y entra en estado e1. 3 e1 01000 P2: En e1 lee un 1, escribe un 1 y se mueve a la derecha. Sigue en e1. 4 e2 01000 P3: En e1 lee 0, escribe 0, se mueve a la derecha y cambia a e2. 5 e3 01010 P4: En e2 lee 0, escribe 1, se mueve a la izquierda y cambia a e3. 6 e4 01010 P5: En e3 lee 0, escribe 0, se mueve a la izquierda y cambia a e4. 7 e4 01010 8 e0 11010 P6: En e4 lee 1, escribe 1, se mueve a la izquierda y sigue en e4. 9 e1 10010 El proceso sigue la misma lógica a través de los sucesivos pasos hasta 10 e2 10010 llegar al último. 11 e2 10010 12 e3 10011 P15: En e0 lee 0; no existe ninguna entrada en la tabla para esta 13 e3 10011 combinación, por lo que el autómata se detiene. Comprobamos como al 14 e4 10011 final ha escrito en la cinta la cantidad esperada: 11011. 15 e0 11011 Parada Sistemas Informáticos
  • 10. 10 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Un sistema Turing completo es aquel que puede simular el comportamiento de una máquina de Turing. Es evidente que salvando los problemas de memoria, los ordenadores modernos y los lenguajes de programación de uso general, son sistemas de Turing completos. También es evidente, que con independencia de su forma concreta, cualquier dispositivo que se comporte como un sistema de Turing completo, puede en principio ejecutar cualquier cálculo que realice cualquier computador. Nota: Observe que la anterior afirmación no menciona para nada la posible dificultad de escribir el programa o del tiempo que pueda emplear en realizar el cálculo (cualquier cálculo que pueda hacer un ordenador puede teóricamente efectuarse con papel y lápiz). EJERCICIO 1 Si en la cinta tenemos {0001110000}, escribir los pasos necesarios para obtener {1110111}, siguiendo la tabla de acción indicada en el ejemplo anterior. 1.4 LA ARQUITECTURA HARVARD Hacía referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos. Todos los ordenadores constan principalmente de dos partes, la CPU que procesa los datos, y la memoria que guarda los datos. Cuando hablamos de memoria manejamos dos parámetros, los datos en sí, y el lugar donde se encuentran almacenados (o dirección). Los dos son importantes para la CPU, pues muchas instrucciones frecuentes se traducen a algo así como "coge los datos de ésta dirección y añádelos a los datos de ésta otra dirección", sin saber en realidad qué es lo que contienen los datos. Sistemas Informáticos
  • 11. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 11 1.5 LA ARQUITECTURA DE VON NEUMANN La arquitectura de Von Neumann describe un ordenador con 4 secciones principales: la unidad aritmético lógica (ALU por sus siglas del inglés: Arithmetic Logic Unit), la unidad de control, la memoria central, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por canales de conductores denominados buses: La memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit o unidad de información. La instrucción es la información necesaria para realizar lo que se desea con el computador. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con el computador. El número de celdas varían mucho de computador a computador, y las tecnologías empleadas para la memoria han cambiado bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip. En general, la memoria puede ser reescrita varios millones de veces (memoria RAM); se parece más a una pizarra que a una lápida (memoria ROM) que sólo puede ser escrita una vez. El procesador (también llamado Unidad central de procesamiento o CPU) consta de manera básica de los siguientes elementos: o La unidad aritmético lógica o ALU es el dispositivo diseñado y construido para llevar a cabo las operaciones elementales como las operaciones aritméticas (suma, resta, ...), operaciones lógicas (Y, O, NO), y operaciones de comparación o relacionales. En esta unidad es en donde se hace todo el trabajo computacional. o La unidad de control sigue la dirección de las posiciones en memoria que contienen la instrucción que el computador va a realizar en ese momento; recupera la información poniéndola en la ALU para la operación que debe desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria. Una vez que ocurre lo anterior, la unidad de control va a la siguiente instrucción (normalmente situada en la siguiente posición, a menos que la instrucción sea una instrucción de salto, informando al ordenador de que la próxima instrucción estará ubicada en otra posición de la memoria). Los procesadores pueden constar de además de las anteriormente citadas, de otras unidades adicionales como la unidad de Coma Flotante. Los dispositivos de Entrada/Salida sirven a la computadora para obtener información del mundo exterior y/o comunicar los resultados generados por el computador al exterior. Hay una gama muy extensa de dispositivos E/S como teclados, monitores, unidades de disco flexible o cámaras web. Sistemas Informáticos
  • 12. 12 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 1.5.1 CUELLO DE BOTELLA DE VON NEUMANN El canal de transmisión de los datos entre CPU y memoria genera un cuello de botella para el rendimiento del procesador. En la mayoría de computadoras modernas, la velocidad de comunicación entre la memoria y la CPU es más baja que la velocidad a la que puede trabajar esta última, reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso eficaz, sobre todo cuando se necesitan procesar grandes cantidades de datos. La CPU se ve forzada a esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria. La velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella. El problema de funcionamiento se redujo introduciendo una memoria caché entre la CPU y la memoria principal, y mejorando los algoritmos del predictor de ramas (es un circuito digital que trata de adivinar de qué manera una rama (por ejemplo, una estructura si-entonces-sino) se presentará ante lo que se conoce a ciencia cierta. El propósito de la rama de predicción es mejorar el flujo en la tubería de instrucciones). 1.6 EL SISTEMA INFORMÁTICO - N o v i s t o - Un sistema es un conjunto de partes o elementos organizados y relacionados que interactúan entre sí para lograr un objetivo. Los sistemas reciben (entrada) datos, energía o materia del ambiente y proveen (salida) información, energía o materia. Un sistema puede ser físico o concreto (un ordenador, un televisor, un humano) o puede ser abstracto o conceptual (un software) Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar formado por subsistemas y partes, y a la vez puede ser parte de un supersistema. Los sistemas tienen límites o fronteras, que los diferencian del ambiente. Ese límite puede ser físico (el gabinete de un ordenador) o conceptual. Si hay algún intercambio entre el sistema y el ambiente a través de ese límite, el sistema es abierto, de lo contrario, el sistema es cerrado. El ambiente es el medio en externo que envuelve física o conceptualmente a un sistema. El sistema tiene interacción con el ambiente, del cual recibe entradas y al cual se le devuelven salidas. El ambiente también puede ser una amenaza para el sistema. Un grupo de elementos no constituye un sistema si no hay una relación e interacción, que de la idea de un "todo" con un propósito (ver holismo y sinergía). Un sistema informático como todo sistema, es el conjunto de partes interrelacionadas, hardware, software y de recurso humano (humanware) que permite almacenar y procesar información. El hardware incluye computadoras, que consisten en procesadores, memoria, sistemas de almacenamiento externo, etc. El software incluye al sistema operativo, firmware y aplicaciones, siendo especialmente importante los sistemas de gestión de bases de datos. Por último el soporte humano incluye al personal técnico que crean y mantienen el sistema (analistas, programadores, operarios, etc.) y a los usuarios que lo utilizan. Sistemas Informáticos
  • 13. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 13 Los sistemas informáticos suelen estructurarse en Subsistemas.  Subsistema físico: asociado al hardware. Incluye entre otros elementos la CPU, memoria principal, la placa base, etc.  Subsistema lógico: asociado al software y la arquitectura. Incluye al sistema operativo, el firmware, las aplicaciones y las bases de datos. La lógica se define como aquélla representación del conocimiento y/o del formalismo racional originalmente desarrollada por matemáticos para formalizar el razonamiento matemático. Se considera componente lógico de un sistema informático lo que no se puede considerar tangible, es decir, todo aquello que tiene que ver con la información que se maneja en el sistema y con las herramientas intangibles necesarias para ello. No debe confundirse con el concepto de lógica que impera en el mundo de la inteligencia artificial (lógica de predicados o la lógica proposicional). Se pueden distinguir cuatro grandes grupos considerados lógicos en un sistema:  Datos: son los valores numéricos, o bien caracteres, medidas multidimensionales, tales como vectores, matrices,...  La información: como tal, es un conjunto de datos relacionados por alguna estructura o alguna relación de tipo sintáctico. En general, se la considera un subconjunto dentro de los datos.  El conocimiento: constituido por elementos de información con ciertos significados semánticos y se le suele considerar un subconjunto de la información  La inteligencia: conjunto específico de la información capaz de interpretar y gestionar otra. Es el subconjunto más interior del espacio total de datos. 1.6.1 DATOS El ordenador permite la recepción de datos entrantes, que se procesan según indican las instrucciones que posee el sistema. Por último, proporciona unos datos de salida que son los resultados. 1.6.1.1 TIPOS DE DATOS Se pueden considerar tres tipos de datos, según el punto del proceso en el que se encuentren:  Datos de entrada: son los que llegan al ordenador a través de alguno de los periféricos de entrada, tales como el teclado, lectores, etc.; o bien llegan desde unidades de almacenamiento, como son los discos. A veces este concepto se confunde con captura de datos -actividad de introducción de datos, casi siempre automatizada, en el que la recepción de los datos tiene una importancia secundaria-, y con la preparación de los datos -labor que supone preparar los datos para su entrada en el sistema, formateándolos o codificándolos-.  Datos intermedios: son los resultados que se van produciendo y que no forman parte de la salida porque no se especificó de esa manera en el diseño del programa.  Datos de salida: Son los datos resultados del procesamiento de los datos de entrada y de los intermedios. La forma de obtenerlos para su análisis es por medio de un periférico de salida, como son las pantallas o las impresoras; o bien almacenarlos. Sistemas Informáticos
  • 14. 14 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 1.6.2 CLASIFICACIÓN DE LOS SISTEMAS INFORMÁTICOS Los S.I. pueden clasificarse en base a numerosos criterios. Por supuesto las clasificaciones no son estancas y es común encontrar sistemas híbridos que no encajen en una única categoría. Por su uso pueden ser:  De uso general: varios tipos de aplicaciones.  De uso específico: han sido desarrollados para ser utilizados con un fin concreto, o una aplicación específica. Por el paralelismo de los procesadores, que puede ser:  SISD: Single Instruction Single Data - es un término que se refiere a una arquitectura en la que un sólo procesador, ejecuta un sólo flujo de instrucciones, para operar sobre datos almacenados en una única memoria. Se corresponde con la arquitectura de von Neumann. Ejemplo: PC’s.  SIMD: Single Instruction Multiple Data - Las computadoras SIMD tienen una sola unidad de control y múltiples unidades funcionales. La unidad de control se encarga de enviar la misma instrucción a todas las unidades funcionales. Cada unidad funcional trabaja sobre datos diferentes. Estos equipos son de propósito específico, es decir, son apropiados para ciertas aplicaciones particulares, como por ejemplo el procesamiento de imágenes.  MIMD: Multiple Instruction Multiple Data - Múltiples computadoras y multiprocesadores. Las piezas de código distribuidas entre los procesadores. Los procesadores pueden ejecutar la misma o instrucción o diferentes instrucciones. Se puede decir que MIMD es un super conjunto de SIMD. Por el tipo de ordenador utilizado en el sistema  Estaciones de trabajo (Workstations): Tipo de ordenador utilizado en aplicaciones de ingenieráia CAD/CAM, diseño gráfico, desarrollo de software y otros tipos de aplicaciones que requieren una moderada capacidad de computación y altas cualidades gráficas.  Terminales ligeros (Thin clients): es una computadora cliente o un software de cliente en una arquitectura de red cliente-servidor que depende primariamente del servidor central para las tareas de procesamiento, y principalmente se enfoca en transportar la entrada y la salida entre el usuario y el servidor remoto.  Microordenadores (por ejemplo ordenadores personales): ordenador relativamente barato diseñado para un usuario individual aunque se utiliza conjuntamente con otros formando redes de ordenadores.  Miniordenadores (servidores pequeños): es un sistema multiprocesador de tamaño medio capaz de soportar unos cientos de usuarios simultáneamente a un coste inferior al de un sistema grande.  Macroordenadores o Mainframes (servidores de gran capacidad): Un Mainframe es un ordenador de grandes dimensiones pensado principalmente para el tratamiento de grandísimos volúmenes de datos. Se utiliza para aplicaciones de Banca, Hacienda y mercado de valores, aerolíneas y tráfico aéreo. En definitiva, es un ordenador grande, en todos los sentidos (tanto por su capacidad, como por el volumen que ocupa).  Superordenadores: es el tipo más rápido, también son los más caros y se emplean para aplicaciones especializadas que requieren gran proceso de cálculo. Sistemas Informáticos
  • 15. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 15 Por la arquitectura  Sistema aislado: es un ordenador incapaz de comunicarse con el exterior por vía telemática.  Arquitectura cliente-servidor: es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.  Arquitectura de 3 capas:  Arquitectura de n capas:  Servidor de aplicaciones: se denomina servidor de aplicaciones a un servidor en una red de computadores que ejecuta ciertas aplicaciones.  Monitor de teleproceso o servidor de transacciones: Sistemas Informáticos
  • 16. 16 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 2 SISTEMAS DE NUMERACIÓN http://www.um.es/docencia/barzana/II/Ii05.html 2.1 INTRODUCCIÓN Un ordenador es una máquina que procesa información. La ejecución de una tarea implica la realización de unos tratamientos, según especifica un conjunto ordenado de instrucciones (es decir, un programa) sobre unos datos. Para que el ordenador ejecute un programa es necesario darle información de dos tipos:  Instrucciones que forman el programa  Los datos con los que debe operar ese programa Uno de los aspectos más importantes relacionado con la información, es cómo representarla. Normalmente se le da al ordenador en la forma usual escrita que utilizan los humanos, es decir, con ayuda de un alfabeto o conjunto de símbolos, los caracteres. Los caracteres que se utilizan para la representación externa son:  Numéricos: Constituidos por las diez dígitos en el sistema decimal  Alfabéticos: Letras mayúsculas y minúsculas  Especiales: Son símbolos no incluidos en los grupos anteriores, como: ), (, *, /, +, -, [, ]... Al conjunto de los dos primeros grupos se le denominan caracteres alfanuméricos. Veremos cómo estos caracteres usados en la representación externa son representables en los ordenadores. Este paso de una representación a otra se denomina codificación y el proceso inverso decodificación. Por lo tanto hay dos niveles en la representación de la información  Nivel de representación externa: usada por las personas e inadecuada para el ordenador.  Nivel de representación interna: adecuada al ordenador y no inteligible directamente por el ser humano. Las informaciones más complejas se reducirán a un conjunto de informaciones elementales por técnicas de codificación. Los elementos básicos que constituyen un ordenador son de naturaleza binaria, ya que sólo pueden adoptar dos valores, 0 y 1 (corresponden a dos niveles de tensión, dos valores de corriente, dos situaciones de una lámpara... ). Al tener que traducir toda la información suministrada a ceros y unos es necesario establecer una correspondencia entre el conjunto de todos los caracteres: {A, B, C, D,...Z, a, b, c,...z, 0, 1,...9, /, +,...} y el conjunto binario: {0, 1}n Sistemas Informáticos
  • 17. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 17 de forma que a cada elemento del primero le corresponda un elemento distinto del segundo. Estos códigos de transformación se denominan códigos entrada/salida (E/S) o externos y se pueden definir de forma arbitraria. Las operaciones aritméticas con datos numéricos se suelen realizar en una representación más adecuada para este objetivo que la del código de E/S. Por ello en el propio ordenador se efectúa una transformación entre códigos binarios, obteniéndose una representación fundamentada en el sistema de numeración en base dos, que al ser una representación numérica posicional es muy apta para realizar operaciones aritméticas. 2.1.1 CÓDIGOS DE ENTRADA/SALIDA. Los códigos de E/S o externos son códigos que asocian a cada carácter una combinación de bit. En otras palabras, un código de E/S es una correspondencia entre los conjuntos: A = {0, 1,...9, A, B,...Z, a, b,...z, *, +, /...} y B = {0, 1}n Si se usa un número fijo, n, de bit para codificar los símbolos de A, el valor mínimo de n dependerá del número m de elementos de A. Así:  Con 2 bit (n=2) podemos hacer 4 combinaciones distintas y se pueden codificar hasta 4 símbolos (m=4) distintos  Con 3 bit (n=3) podemos hacer 8 combinaciones distintas y se pueden codificar hasta 8 símbolos (m=8) distintos  Con 4 bit (n=4) podemos realizar 16 combinaciones dise pueden codificar hasta 16 símbolos (m=16) distintos  ....  Con n bit pueden codificarse m = 2n símbolos distintos. Se define un sistema de numeración como el conjunto de símbolos y reglas que se utilizan para la representación de cantidades. En ellos existe un elemento característico que define el sistema y se denomina base, siendo ésta el número de símbolos que se utilizan para la representación. Un sistema de numeración en base "b" utiliza para representar los números un alfabeto compuesto por b símbolos o cifras. Así todo número se expresa por un conjunto de cifras, teniendo cada una de ellas dentro del número un valor que depende:  De la cifra en sí  De la posición que ocupe dentro del número En el sistema de numeración decimal (base 10), que habitualmente se utiliza, b = 10 y el alfabeto por tanto, está constituido por 10 símbolos: {0, 1, 2..., 9} Generalizando se tiene que la representación de un número en una base b : N = ...n4 n3 n2 n1 n0 n-1 n-2 ... es una forma abreviada de expresar su valor, que es: N = n4 b4 + n3 b3 + .... + n-1 b-1 + n-2 b-2 Sistemas Informáticos
  • 18. 18 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Ejemplo en base 8: b = 8. Los símbolos que se usan son: {0, 1, 2, 3, 4, 5, 6, 7} El valor decimal del número octal 175.37 será: 175.37)8 = 1*82 + 7*81 + 5*80 + 3*8-1 + 7*8-2 = 125.31)10 2.2 NUMEROS BINARIOS, OCTALES Y HEXADECIMALES. Cuando ya no tenemos más dígitos para representar en un sistema, siempre se pasa al “10”, por eso:  En Decimal, pasamos del 9 al 10  En Binario, pasamos del 1 al 10  En Octal, pasamos del 7 al 10 DEC 0 1 2 3 4 5 6 7 8 9 10 BIN 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 OCT 0 1 2 3 4 5 6 7 10 11 12 2.2.1 SISTEMA DECIMAL El sistema de numeración utilizado habitualmente es la base 10; es decir, consta de 10 dígitos {0-9} que podemos colocar en grupos, ordenados de izquierda a derecha y de mayor a menor. Cada posición tiene un valor o peso de 10n donde n representa el lugar contado por la derecha: 1357 = 1 x 103 + 3 x 102 + 5 x 101 + 7 x 100 Explícitamente, se indica la base de numeración como 135710. En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora. Es decir, un ordenador trabaja con impulsos y por eso trabaja con el sistema binario. Si trabajara con un sistema decimal se ganaría en facilidad, pero se perdería efectividad y eficiencia, pues tendría que hacer más comparaciones. 2.2.2 SISTEMA BINARIO Análogamente a la base 10, cada posición tiene un valor de 2 n donde n es la posición contando desde la derecha y empezando por 0: Sistemas Informáticos
  • 19. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 19 2 1 0 101(2 = 1 x 2 + 0 x 2 + 1 x 2 En el sistema de numeración binario b=2, el conjunto de símbolos usados es: {0, 1}. 2.2.3 SISTEMA OCTAL Además, por su importancia y utilidad, es necesario conocer otros sistemas de numeración como pueden ser el octal (base 8) y el hexadecimal (base 16). En la base octal, b = 8, el conjunto de símbolos utilizados es: {0, 1,..., 7}. La unidad básica, en el ordenador, es el byte (8 dígitos), por eso se usa mucho el sistema octal, ya que se hacen muchas operaciones en este sistema. 2.2.4 SISTEMA HEXADECIMAL Para representar un número en base hexadecimal (b = 16) es necesario disponer de un conjunto o alfabeto de 16 símbolos. Se suele usar el conjunto: {0, 1, 2,..., 9, A, B, C, D, E, F} Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F 48F(16 = 4 x 162 + 8 x 161 + 15 x 160 2.2.5 AGRUPACIÓN DE CIFRAS 2.2.5.1 OCTAL-BINARIO / BINARIO-OCTAL Llegar a un número en este sistema desde base 2 es realmente sencillo si agrupamos las cifras binarias de 3 en 3 (octal). Para convertir un número octal a binario sólo debemos sustituir cada dígito octal por su equivalente binario. Equivalencias: OCTAL 0 1 2 3 4 5 6 7 BINARIO 000 001 010 011 100 101 110 111 Ejemplo: 537.24)8 = 101 011 111 . 010 100)2 que equivale según la tabla, a: 5 3 7 . 2 4 La conversión de binario a octal se realiza juntando en grupos de tres dígitos binarios, comenzando por la izquierda desde el punto decimal y sustituyendo cada grupo por el correspondiente dígito Sistemas Informáticos
  • 20. 20 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS octal. Ejemplo: El número binario 10001101100.11010)2 es en octal 10 001 101 100 . 110 10 = 2154.64)8 2.2.5.2 HEXADECIMAL-BINARIO / BINARIO-HEXADECIMAL Llegar a un número en este sistema desde base 2 es realmente sencillo si agrupamos las cifras binarias de 4 en 4 (hexadecimal). Equivalencias: HEX BINARIO DECIMAL HEX BINARIO DECIMAL 0 0000 0 8 1000 8 1 0001 1 9 1001 9 2 0010 2 A 1010 10 3 0110 3 B 1011 11 4 0100 4 C 1100 12 5 0101 5 D 1101 13 6 0110 6 E 1110 14 7 0111 7 F 1111 15 Ejemplo: Pasar el número binario 010010111011111.1011101)2 a hexadecimal. 010 0101 1101 1111 . 1011 101)2 = 25DF.BA)16 Ejemplo: Pasar el número 1ABC701.C4)16 a binario: 0001 1010 1011 1100 0111 0000 0001 . 1100 0100 )2 1 A B C 7 0 1 C 4 El número binario resultante es: 0001101010111100011100000001.11000100)2 De ahora en adelante, se utilizarán una serie de sufijos para determinar el sistema de numeración empleado: Sufijo Base Ejemplos b 2 01101010b o,q 8 175o d 10 789d h 16 6A5h En caso de que no aparezca el sufijo, el número se considera decimal; es decir, en base 10. Sistemas Informáticos
  • 21. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 21 Si nos piden transformar un número de hexadecimal a octal, es más fácil pasar de hexadecimal a binario y de binario a octal. Lo mismo ocurre de octal a hexadecimal. 2.3 CAMBIO DE BASE Pese a que las conversiones entre base 2 y base 8 y 16 son prácticamente directas, existe un sistema general para realizar el cambio de una base a otra. 2.3.1 DE BINARIO A DECIMAL / DE DECIMAL A BINARIO Se puede transformar un número binario a decimal sin más que usar la expresión vista anteriormente: n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 24 + n3 23 + n2 22 + n1 21 + n0 20+ n-1 2-1 +… = N(10 Ejemplos: Transformar a decimal los siguientes números binarios: 110100)2 = 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 0*20 = 25 + 24 + 22 = 52)10 0.10100)2 = 0*20 + 1*2-1 + 0*2-2 + 1*2-3 + 0*2-4 + 0*2-5 = 2-1 + 2-3 = 0.625)10 10100.001)2 = 1*24 + 1*22 + 1*2-3 = 20.125)10 Para transformar un número decimal a binario: a) La parte entera del nuevo número (binario) se obtiene efectuando divisiones enteras (sin obtener decimales) por dos, de la parte entera del número decimal de partida y de los cocientes que sucesivamente se vayan obteniendo. Los restos de estas divisiones y el último cociente (que serán siempre ceros y unos) son las cifras binarias. El último cociente será el bit más significativo y el primer resto el bit menos significativo (más a la derecha). Ejemplo: 26)10 es en binario: 26 | 2_ 0 13 | 2_ 1 6 | 2_ 0 3 |2_ 1 1 26)10 = 11010)2 Al dividir un número entre 2 el resto no puede ser más que 0 o 1. b) La parte fraccionaria del número binario se obtiene multiplicando por 2 sucesivamente la parte fraccionaria del número decimal de partida y las partes fraccionarias que se van obteniendo en los productos sucesivos. El número binario se forma con las partes enteras (que serán ceros y unos) de los productos obtenidos. Sistemas Informáticos
  • 22. 22 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Ejemplo: Transformar a binario natural el número decimal 0.1875 0.1875 0.3750 0.7500 0.5000 *2 *2 *2 * 2 --------- ---------- ---------- ---------- 0.3750 0.7500 1.5000 1.0000 0.1875)10 = 0.0011)2 Ejemplo: Transformar a binario el número decimal 74.423 a) Parte entera: 74 | 2_ 0 37 | 2__ 1 18 | 2__ 0 9 | 2_ 1 4 | 2__ 0 2 | 2__ 0 1 b) Parte fraccionaria: 0.423 0.846 0.692 0.384 0.768 *2 *2 *2 *2 *2 -------- --------- --------- --------- --------- 0.846 1.692 1.384 0.768 1.536 74.423)10 = 1001010.01101...)2 Podríamos tener una operación infinita, ya que es un sistema de codificación distinto. Por lo tanto, si tenemos un número con parte entera y parte decimal, hay que hacer las operaciones por separado. Por ejemplo 745,01423 Dividir entre 2 Multiplicar por 2 2.3.2 DE OCTAL A DECIMAL / DE DECIMAL A OCTAL Se transforma un número octal a decimal utilizando la expresión vista anteriormente: n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 84 + n3 83 + n2 82 + n1 81 + n0 80+ n-1 8-1 +… = N(10 Por ejemplo, el número octal 2738 tiene un valor que se calcula así: 2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610 2738 = 149610 Para transformar un número decimal a octal: Para pasar un número entero decimal a octal se hacen sucesivas divisiones enteras del número y los subsiguientes cocientes por 8 (al igual que en Sistemas Informáticos
  • 23. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 23 binario). Para transformar la parte fraccionaria de un número decimal a octal se hacen sucesivas multiplicaciones por 8 (de la misma forma que en binario). Ejemplo: Para pasar el número decimal 760.33)10 a octal: 760 | 8__ 40 0 95 | 8__ 15 7 11 | 8__ 3 1 0.33 0.64 0.12 0.96 *8 *8 *8 *8 ------ ------- ------- ------- 2.64 5.12 0.96 7.68 El número en octal es 1370.2507 Cuando dividimos la parte entera entre 8, el resto tiene que ser un dígito entre 0 y 7. 2.3.3 DE HEXADECIMAL A DECIMAL / DE DECIMAL A HEXADECIMAL Se transforma un número hexadecimal a decimal utilizando la expresión vista anteriormente: n4 n3 n2 n1 n0 n-1 n-2...(2 = ...n4 164 + n3 163 + n2 162 + n1 161 + n0 160+ n-1 16-1 +… = N(10 Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16: 1A3F16 = 1*163 + A*162 + 3*161 + F*160 1*4096 + 10*256 + 3*16 + 15*1 = 6719 1A3F16 = 671910 Para transformar un número decimal a hexadecimal: Para pasar un número de decimal a hexadecimal se hace de forma análoga a los casos binario y octal: la parte entera se divide por 16, así como los cocientes enteros sucesivos, y la parte fraccionaria se multiplica por 16, así como las partes fraccionarias de los productos sucesivos. Ejemplo: El número 4573.79)10 se corresponde en hexadecimal: 4573 |16 137 093 285 |16 13 125 13 17 |16 1 1 Sistemas Informáticos
  • 24. 24 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 0.79 0.64 0.24 * 16 * 16 * 16 ------ ----- - ----- 474 384 144 +79 +64 +24 ----- ---- ----- 12.64 10.24 3.84 C A 3 El número en hexadecimal es 11DD.CA3)16 2.4 ESTRUCTURA ELEMENTAL DE LA MEMORIA 2.4.1 BIT Toda la memoria del ordenador se compone de dispositivos electrónicos que pueden adoptar únicamente dos estados, que representamos matemáticamente por 0 y 1. Cualquiera de estas unidades de información se denomina BIT, contracción de «binary digit» en inglés. 2.4.1.1 El tamaño de las cifras binarias La cantidad de dígitos necesarios para representar un número en el sistema binario es mayor que en el sistema decimal. Para representar números grandes harán falta muchos más dígitos. Por ejemplo, para representar números mayores de 255 se necesitarán más de ocho dígitos, porque 28 = 256 y podemos afirmar, por tanto, que 255 es el número más grande que puede representarse con ocho dígitos. Como regla general, con n dígitos binarios pueden representarse un máximo de 2 n, números. El número más grande que puede escribirse con n dígitos es una unidad menos, es decir, 2 n – 1. Con cuatro bits, por ejemplo, pueden representarse un total de 16 números, porque 2 4 = 16 y el mayor de dichos números es el 15, porque 24-1 = 15. 2.4.2 BYTE Cada grupo de 8 bits se conoce como byte u octeto. Los bits en un byte se numeran de derecha a izquierda y de 0 a 7, correspondiendo con los exponentes de las potencias de 2 que reflejan el valor de cada posición. Un byte nos permite, por tanto, representar 256 estados (de 0 a 255) según la combinación de bits que tomemos. Al principio, en lugar de trabajar con 8 bits, se cogían 7, por lo que se podían codificar 27 = 128 estados. Es lo que se denomina el código ASCII. Pero con los nuevos microprocesadores se vio que se necesitaba más caracteres añadiéndose un bit. Por esta razón, se dijo que el byte iba a ser la unidad de medida. El byte es la unidad de almacenamiento en memoria, la cual está constituida por un elevado número de posiciones que almacenan bytes. La cantidad de memoria de que dispone un sistema se mide en Sistemas Informáticos
  • 25. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 25 Kilobytes (1 Kb = 1024 bytes), en Megabytes (1 Mb = 1024 Kb), Gigabytes (1 Gb = 1024 Mb), Terabytes (1 Tb = 1024 Gb) o Petabytes (1 Pb = 1024 Tb). 2.4.3 NIBBLE Cada grupo de cuatro bits de un byte constituye un nibble, de forma que los dos nibbles de un byte se llaman nibble superior (el compuesto por los bits 4 a 7) e inferior (el compuesto por los bits 0 a 3). El nibble tiene gran utilidad debido a que cada uno almacena un dígito hexadecimal: Binario Hex. Decimal Binario Hex. Decimal 0000 0 0 1000 8 8 0001 1 1 1001 9 9 0010 2 2 1010 A 10 0011 3 3 1011 B 11 0100 4 4 1100 C 12 0101 5 5 1101 D 13 0110 6 6 1110 E 14 0111 7 7 1111 F 15 Parte alta Parte baja Unidades de medida: Los fabricantes multiplican por 1000 (Sistema Internacional: SI), en lugar de 1024. Sistemas Informáticos
  • 26. 26 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Nomenclatura: Byte Kilobyte Megabyte Gigabyte Terabyte Petabyte Exabyte Zettabyte Yottabyte Brontobyte B KB MB GB TB PB EB ZB YB BB 2.5 COMPLEMENTO A DOS El complemento a dos de un número N, compuesto por n bits, se define como: C2N = 2n – N Veamos un ejemplo: tomemos el número N = 101101 (2, que tiene 6 bits, y calculemos su complemento a dos: N = 4510 n = 6 26 = 64 y, por tanto: C2N = 64 – 45 = 19 = 010011(2 En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener 00h, por ejemplo: Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (-128) y el número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el complemento a dos. Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a otro mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda son bits a 0. Sin embargo, si era negativo (bit más significativo activo) la parte que se añade por la izquierda son bits a 1. Este fenómeno, en cuya demostración matemática no entraremos, se puede resumir en que el bit más significativo se copia en todos los añadidos: es lo que se denomina la extensión del signo: los dos siguientes números son realmente el mismo número (el -310): 11012 (4 bits) y 111111012 (8 bits). 2.6 COMPLEMENTO A UNO El complemento a uno de un número N, compuesto por n bits es, por definición, una unidad menor que el complemento a dos, es decir: C1N = C2N - 1 y, por la misma razón: C2N = C1N + 1 Sistemas Informáticos
  • 27. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 27 Calculemos el complemento a uno del mismo número del ejemplo anterior: N = 101101, y su complemento a dos C2N = 010011 C1N = C2N – 1 = 010011 – 000001 = 010010 C1N = 010010 Da la sensación de que calcular el complemento a uno no es más que una forma elegante de complicarse la vida, y que no va a ser más sencillo restar utilizando el complemento a dos, porque el procedimiento para calcular el complemento a dos es más difícil y laborioso que la propia resta. Pero es mucho más sencillo de lo que parece. En realidad, el complemento a uno de un número binario es el número resultante de invertir los UNOS y CEROS de dicho número. Por ejemplo si: N = 110100101 obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta: C1N = 001011010 y su complemento a dos es: C2N = C1N + 1 = 001011011 Veamos otro ejemplo: N = 0110110101 El complemento a uno es: C1N = 1001001010 y el complemento a dos es: C2N = 1001001011 2.7 AGRUPACIONES DE BYTES. Tipo Definición Palabra 2 bytes contiguos Doble palabra 2 palabras contiguas (4 bytes) Cuádruple palabra 4 palabras contiguas (8 bytes) Párrafo 16 bytes Página 256 bytes, 16 Kb, etc. Segmento 64 Kbytes Por ejemplo, en los colores RGB, donde R es la cantidad de Rojo, G la cantidad de Verde y B la cantidad de Azul. Para indicar la cantidad de Rojo, de Verde o de Azul, se usa dos palabras, en cada uno de los casos, por ejemplo: 00 00 FF, donde 00 son dos palabras. 2.8 REPRESENTACIÓN DE LOS DATOS EN MEMORIA 2.8.1 NUMEROS BINARIOS: máximo número representable Sistemas Informáticos
  • 28. 28 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Tipo Sin signo 1 byte 255 ¡Cuidado! 2 bytes no es el 2 bytes 65.535 doble del byte 4 bytes 4.294.967.295 8 bytes 18.446.744.073.709.551.615 Tipo Positivo Negativo 1 byte 127 -128 2 bytes 32.767 -32.768 4 bytes 2.147.483.647 -2.147.483.648 8 bytes 9.223.372.036.854.775.807 -9.223.372.036.854.775.808 Los números binarios de más de un byte se almacenan en la memoria en los procesadores de Intel en orden inverso: 01234567h se almacenaría: 67h, 45h, 23h, 01h. 2.8.2 NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD) Consiste en emplear cuatro bits para codificar los dígitos del 0 al 9 (desperdiciando las seis combinaciones que van de la 1010 a la 1111). La ventaja es la simplicidad de conversión a/de base 10, que resulta inmediata. Los números BCD pueden almacenarse desempaquetados, en cuyo caso cada byte contiene un dígito BCD (Binary-Coded Decimal); o empaquetados, almacenando dos dígitos por byte (para construir los números que van del 00 al 99). La notación BCD ocupa cuatro bits -un nibble- por cifra, de forma que en el formato desempaquetado el nibble superior siempre es 0. 2.8.3 NUMEROS EN PUNTO FLOTANTE Son grupos de bytes en los que una parte se emplea para guardar las cifras del número (mantisa) y otra para indicar la posición del punto flotante (exponente), de modo equivalente a la notación científica. Esto permite trabajar con números de muy elevado tamaño -según el exponente- y con una mayor o menor precisión en función de los bits empleados para codificar la mantisa. Por ejemplo, si tenemos el número 0.9 102, solo se almacena el 9 y el 2. De esta forma se puede almacenar números muy grandes. 2.8.4 CÓDIGO ASCII El código A.S.C.I.I. (American Standard Code for Information Interchange) es un convenio adoptado para asignar a cada carácter un valor numérico; su origen está en los comienzos de la Informática tomando como muestra algunos códigos de la transmisión de información de radioteletipo. Se trata de un código de 7 bits con capacidad para 128 símbolos que incluyen todos los caracteres alfanuméricos del inglés, con símbolos de puntuación y algunos caracteres de control de la transmisión. Se dieron cuenta que con 128 no eran suficientes y surgió el ASCII extendido. Hasta el 128, en todos los países era el mismo, pero el resto puede ser distintos, según el país. Con posterioridad, con la aparición de los microordenadores y la gran expansión entre ellos de los IBM-PC y compatibles, la ampliación del código ASCII realizada por esta marca a 8 bits, con capacidad para 128 símbolos adicionales, experimenta un considerable auge, siendo en la actualidad muy Sistemas Informáticos
  • 29. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 29 utilizada y recibiendo la denominación oficial de página de códigos 437 (EEUU). Se puede consultar al final de este libro. Es habitualmente la única página soportada por las BIOS de los PC. Para ciertas nacionalidades se han diseñado otras páginas específicas que requieren de un software externo. En las lenguas del estado español y en las de la mayoría de los demás países de la UE, esta tabla cubre todas las necesidades del idioma. 2.9 OPERACIONES LÓGICAS EN BINARIO Se realizan a nivel de bit y pueden ser de uno o dos operandos: x y x AND y x OR y x XOR y x NOT (x) 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 2.10 OPERACIONES ARITMÉTICAS SENCILLAS EN BINARIO Una variable binaria puede representar, una cifra de un número en el sistema de numeración en base dos. Las operaciones aritméticas básicas con variables binarias naturales son la suma, resta, multiplicación y división. Estas operaciones son análogas a las realizadas en decimal pero usando ceros y unos. SUMA PRODUCTO A B A+ B A B A* B 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 y llevo 1 1 1 1 RESTA DIVISIÓN A B A- B A B A/ B 0 0 0 0 0 - 0 1 1 y llevo 1 0 1 0 1 0 1 1 0 - 1 1 0 1 1 1 Las operaciones lógicas o booleanas con variables binarias son la suma lógica (+), llamada también función OR, el producto lógico (llamado también AND y la complementación (-) o negación o NOT. Sistemas Informáticos
  • 30. 30 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Ejemplos: 1110101 1101010 1101010 1110110 - 1010111 * 11 ------------- ------------- ------------ 11101011 0010011 1101010 + 1101010 --------------- 100111110 2.10.1 RESTAR EN BINARIO USANDO EL COMPLEMENTO A DOS Para representar un número negativo se puede utilizar el complemento de ese número a la base. De esta forma las sumas y restas quedan reducidas a sumas. Este sistema de representación es de sumo interés en el caso de los ordenadores ya que al usarlo se reduce la complejidad de los circuitos. El complemento a la base de un número, es el número que resulta de restar a cada una de las cifras del número N a la base menos uno del sistema que se esté utilizando y posteriormente sumar uno a la diferencia obtenida. Sistemas Informáticos
  • 31. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 31 Ejemplo:  En base 10:  Base menos uno del sistema: 9  Representar el número 63 en complemento a la base. N = 63 99 36 -63 +1 ------ ------ 36 37 Es decir, el complemento a 10 (base) del número 63 es 37. En base 2: Base menos uno: 1 Complemento a 2 del número 10010 es 01110 11111 01101 - 10010 + 1 ------------- ------------- 01101 01110 Complemento a 2 del número 101010 es 010110 111111 010101 101010 + 1 ----------- ------------ 010101 010110 Observamos que para transformar un número binario N a complemento a 2 basta con cambiar los 0 por 1 y los 1 por 0 de N y sumar 1 al resultado. Veremos ahora que la utilidad de esta representación es para convertir la realización de las restas a sumas, lo cual simplifica el diseño del procesador. Ejemplo: Base 10 Supongamos que se ha de realizar la siguiente operación: 77 - 63 Se puede hacer de dos formas diferentes: a) Directamente: 77 - 63 = 14 b) Utilizando el complemento a 10 del substraendo: del 63 es 37 99 36 -63 +1 ---- ----- 36 37 77 +37 ----- 114 - (No se considera) Sistemas Informáticos
  • 32. 32 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS El resultado es 14 Es decir, para restar basta con sumar el minuendo con el complemento a la base del substraendo y sin considerar el acarreo. Ejemplo: Base 2  Supongamos se ha de efectuar la siguiente resta: 11001 – 10010 Se puede hacer de dos formas: a) Directamente: 11001 -10010 -------- 00111 b) Usando el complemento a 2 del substraendo: El substraendo es 10010. Su complemento a 2 se obtiene cambiando 0 por 1 y 1 por 0. 01101 y sumándole 1 01101 + 1 -------- 01110  Ahora sumamos al minuendo el complemento a 2 del substraendo : 11001 +01110 --------- 100111 - (No se considera) 2.11 REPRESENTACIÓN INTERNA DE LA INFORMACIÓN. - N o v i s t o - En la memoria y el procesador central la información se transmite y procesa en unidades denominadas palabras. La organización de las palabras depende del ordenador, siendo usuales las longitudes: 8, 16, 32, 36, 60 y 64 bit, aunque hay hasta de 512 bit. La memoria principal se encuentra organizada en palabras, cada una de las cuales tiene asignada una Sistemas Informáticos
  • 33. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 33 dirección. Los intercambios de información entre el procesador y la memoria se hacen en unidades denominadas palabras y no en caracteres (octetos) o en bit. Normalmente para aprovechar la memoria, la longitud de la palabra debe ser un múltiplo entero del número de bit usados para representar un carácter. Los datos se introducen inicialmente en el ordenador según un código de entrada/salida (que ya hemos visto), tanto si estos son de tipo alfabético como de tipo numérico. Los datos de tipo numérico se utilizan normalmente para operar aritméticamente con ellos, y la representación simbólica obtenida con el código de E/S no resulta adecuada para realizar este tipo de operaciones. Resulta más adecuado operar en un sistema de numeración que en un código de E/S. Por los motivos anteriores, y teniendo en cuenta que la ALU opera con palabras, se realiza una conversión de notaciones pasando de la representación simbólica de E/S a otra notación que denominamos representación interna. 2.11.1 TIPOS DE INFORMACION En un sistema de procesamiento de la información es necesaria la codificación de tres clases de información: 1) Información numérica: a) Enteros b) Reales c) Complejos d) Lógicos 2) Información no numérica (o alfanumérica): a) Caracteres 3) Instrucciones del programa A) Datos de tipo complejo Los datos de tipo complejo se representan por parejas de números reales almacenados en posiciones consecutivas de memoria. Es decir, pueden considerarse como un caso particular de números reales. B) Datos de tipo lógico Representan un valor del Algebra de Boole binaria, es decir, 0 (falso) ó 1 (verdad). C) Representación en punto fijo El nombre de esta representación surge al considerar el punto fraccional, situado en una posición fija. El punto fijo es utilizado para la representación de números enteros, suponiéndose el punto fraccional ubicado a la derecha de los bits. Cualquiera de los sistemas de representación de enteros es una representación de punto fijo. También, se puede utilizar la representación en punto fijo para representar fracciones binarias escalando los números, de modo que el punto fraccional quede ubicado implícitamente en otra posición entre los bit, y en el caso límite a la izquierda de todos ellos describiendo un número fraccional binario puro (menor a 1). Sistemas Informáticos
  • 34. 34 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 1 El signo se representa en el bit situado más a la izquierda de la palabra. Este bit es 0 si el número es positivo ó 1 si el número es negativo. 2 El valor absoluto: 2.1 Números positivos: Se almacenan directamente el número en binario natural. 2.2 Números negativos: Dependiendo del ordenador se almacena el complemento a 2 del número binario natural o la magnitud del número en binario natural. Ejemplo de representación interna de datos de tipo entero en un ordenador de palabras de 4 bit: DECIMAL SIGNO Y MAGNITUD COMPLEMENTO A 2 7 0111 0111 6 0110 0110 5 0101 0101 4 0100 0100 3 0011 0011 2 0010 0010 1 0001 0001 +0 0000 0000 -0 1000 ---- -1 1001 1111 -2 1010 1110 -3 1011 1101 -4 1100 1100 -5 1101 1011 -6 1110 1010 -7 1111 1001 -8 ----- 1000 D) Representación en punto flotante El punto flotante surge de la necesidad de representar números reales y enteros con un rango de representación mayor que el que ofrece la representación en punto fijo y posibilitar al ordenador el tratamiento de números muy grandes y muy pequeños. Estas ventajas que ofrece el punto flotante traen como contraprestación una disminución en la precisión de los números representados. En su representación se utiliza la notación científica o exponencial matemática en la que una cantidad se representa de la siguiente forma: n° = mantisa * base de exponenciación exponente Un número en esta notación tiene infinitas representaciones, de las que se toma como estándar la denominada normalizada, que consiste en que la mantisa no tiene parte entera y el primer dígito o cifra a la derecha del punto decimal es significativo (distinto de 0), salvo en la representación del número 0. Ejemplo (^ significa elevado a): 835.4 = 8354*10^-1 = 835.4 * 10^0 = 83.54 * 10^1 = 8.354 * 10^2 = .8354 * 10^3 Representación del número decimal 835.4 con base de exponenciación 10. Siendo está última expresión la que corresponde al número normalizado. Sistemas Informáticos
  • 35. UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS 35 En este sistema de codificación, se dividen los bit disponibles en la palabra o doble palabra del ordenador entre la mantisa y el exponente, teniendo una base de exponenciación determinada (2 o potencia de 2). Normalmente la definición de la coma flotante sigue las siguientes reglas:  El exponente se representa en uno de los siguientes sistemas de codificación: módulo y signo o exceso a 2n-1, siendo siempre un número entero. En este sistema de codificación el exponente también recibe el nombre de característica.  La mantisa es un número real con el punto decimal implícito a la izquierda de sus bits, representada normalmente en uno de los siguientes sistemas de codificación: módulo y signo, complemento a 1 o complemento a 2.  La base de exponenciación es una potencia de 2 determinada por el fabricante del equipo (2, 8 o 16). Existen muchas formas de representación en punto flotante, variando la longitud de la palabra del ordenador, la base de la exponenciación, el número de bit reservados para la mantisa y para el exponente, el sistema utilizado para representar la mantisa y el exponente, etc. El punto flotante se define particularmente en cada caso. Las definiciones más comunes son las siguientes: a) para simple precisión (32 bit) signo exponente mantisa 31 30 23 22 0 b) para doble precisión (64 bit) signo exponente mantisa 63 62 52 51 0 El rango de representación en la coma flotante debe ser analizado teniendo en cuenta los máximos y mínimos valores representables tanto con signo positivo como negativo: mínimo número negativo = -(mantisa máxima) * basemáximo exponente máximo número negativo = -(mantisa mínima) * base-máximo exponente mínimo número positivo = mantisa mínima * base-máximo exponente máximo número positivo = mantisa máxima * basemáximo exponente Conviene observar que existen cuatro zonas de números que no pueden ser representados mediante un determinado formato de coma flotante. Estas zonas están ubicadas cercanas al 0, tanto para valores positivos como negativos (subdesbordamiento positivo o negativo), como para valores grandes (positivos) o pequeños (negativos) que exceden el rango de representación. Ejemplo Un ordenador utiliza el siguiente formato para registrar números en punto flotante:  los bit del 23 al 30 se utilizan para representar el exponente en exceso a 128 (2 7)  los bit del 0 al 22 se utilizan para representar la mantisa normalizada para el sistema Módulo y signo  el bit 31 se utiliza para representar el signo de la mantisa (0 para el +)  la base de exponenciación es 2  el 0 se representa con todos los bit en 0. Sistemas Informáticos
  • 36. 36 UT1. EXPLOTACIÓN DE SISTEMAS INFORMÁTICOS Representar en este formato el número 12:  12 en notación normalizada de base 2 es 0.75 * 24  el exponente de valor 4 en exceso a 128 es: 10000100  la mantisa 0.75 en binario es 0.11 de donde la representación del número 12 quedará como: 0 10000100 11000000000000000000000 signo (+) exponente 4 mantisa 0.75 Representar en el formato definido el 12. En este caso la notación normalizada solo sufre cambio en el signo de la mantisa (-0.75 * 24), la expresión quedará entonces: 1 10000100 11000000000000000000000 signo (-) exponente 4 mantisa 0.75 El rango de representación de este formato en coma flotante será: mínimo negativo = -(1 - 223)*2127 = -2127 = 1.701411834605 * 1038 máximo negativo = -0.5 * 2-128 = -2-129 = -1.469367938528 * 10-39 mínimo positivo = 0.5 * 2-128 = 2-129 = 1.469367938528 * 10-39 máximo positivo = (1 - 223)*2127 = 2127 = 1.701411834605 * 1038 E) Datos de tipo carácter Los datos de tipo carácter, representan sencillamente cadenas de caracteres representados según el código de E/S. A las representaciones de los caracteres se les imponen las siguientes condiciones:  Deben englobar las 26 letras del alfabeto latino, los 10 dígitos y un cierto número de caracteres gráficos (operadores) y signos de puntuación.  Deben permitir añadir nuevos caracteres específicos.  Deben incluir un sistema de redundancia que permita la detección de errores en el curso de la transmisión.  Los subconjuntos de letras y números deben estar ordenados y ser coherentes. Estarán en dos grupos diferentes y ordenados. F) Codificación de instrucciones Las instrucciones llevan cierto número de informaciones:  Código de operación.  Dirección de operandos/resultados.  Condiciones de direccionamiento, etc. A cada una de estas informaciones se le asocia una zona formada por un número de bits suficientes para codificar los diferentes estados posibles de la instrucción. Sistemas Informáticos