Apuntes de Informática Introducción a los computadores Página 1 Qué es una computadora? 1 . Introducción: Informática es la ciencia que estudia el procesamiento informático de la información. Computadora es una máquina digital (procesa información que son cadenas de 0 y 1) y electrónica (todos sus componentes son electrónicos en estado físico) que procesa información siguiendo las instrucciones de programas. B us d e d a to s Unidad Cent ral de P roc es os M em oria Secundaria Dispos it iv os P erif éric os M em oria P rincipal B u s d e C o n t ro l B u s de Dire ccio ne s Estructura de un computador Capacidades: 1. Operaciones de entrada de datos: Suministrar información. 2. Operaciones de salida de datos: Proporciona la información. 3. Operaciones de almacenamiento de datos: Hacer copias permanentes de información en la computadora. 4. Operaciones de recuperación de datos: Recoger datos previamente almacenados en la computadora. 5. Operaciones de transmisión de datos: Enviar información a otra computadora a través de red. 6. Operaciones de recepción de datos: Recibir información de otra computadora a través de red. 7. Operaciones de tratamientos de datos: Seleccionar, ordenar datos, realizar cálculos... Hardware (HW) es la parte física de la computadora (soporte físico). Software (SW) son los programas que permiten manipular la computadora (soporte lógico). El SISTEMA OPERATIVO es un programa o conjunto de programas que se utiliza para la manipulación y gestión de la computadora. Sus funciones básicas son: 1. Asignación de tiempos de CPU. 2. Control y asignación de los recursos de la computadora (memoria y espacio de almacenamiento). 3. Control de la entrada y salida. 4. Control de errores y protección. 5. Interfaz entre la computadora y el usuario. Juan Alvarez Riera Página 2 Apuntes de Informática Introducción a los computadores Los PROGRAMAS DE APLICACIONES son programas que aplican a la computadora a la realización de tareas completas. Hay varios tipos: 1. Procesadores de texto: Generan texto (tipo de letra, márgenes, paginado etc.): Word97. 2. Hojas de cálculo: Crean tablas de datos relacionados entre si (análisis financiero). 3. Sistemas de gestión de bases de datos: Colección de datos almacenada en diversos archivos (acceso, manipulación y recuperación de datos): Microsoft Access. 4. Herramientas CAD. 5. Juegos. 2. Estructura básica de un computador digital. Perspectiva histórica: 1. Ábaco: En el 3000 a. C. Era digital. 2. En el siglo XVII Pascal construye una maquina que suma y resta. Era manual. 3. Leibnitz mejora la maquina de Pascal introduciendo la multiplicación y la división pero seguía siendo manual. 4. En el siglo XIX Babbage introduce el concepto de programa externo. 5. En el siglo XX comienza “la era de la informática” debido a Von Newman y el desarrollo de la electrónica. Von Newman aporta el funcionamiento y características de una computadora. La electrónica aporta el programa interno, el programa y los datos ya están residentes (el desarrollo del plan de Von Newman). Von Newman hace un símil entre una panadería ideal y una computadora: Panadería ideal Compra productos Elaboración del pan Venta del pan Almacén Encargado Panadero Vendedor Transportistas Computadora Entrada de datos Acciones Procesamiento de datos Salida de datos Unidad de memoria (UM) Unidad de control (UC) Unidad aritmetico-lógica Componentes (UAL) Unidad de entrada-salida (E/S) Buses Concepto: Unidad de entrada y salida (E/S): Su función es comunicar la computadora con el exterior (dispositivos periféricos). Tipos de dispositivos periféricos: 1. De entrada: Permiten introducir datos en la computadora (teclado, ratón ...). 2. De salida: La pantalla, impresora, plotter... 3. De entrada-salida: Permiten ambas cosas (módem). 4. De almacenamiento: Disquetes, discos Zip... Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 3 Concepto: Buses: Su función es actuar como líneas por las que circula la información digital en el PC. Tipos de buses: 1. De direcciones: Circulan por ellos direcciones. 2. De datos: Circulan datos. 3. De control: circulan señales de la unidad de control para activar circuitos. La computadora ideada por Von Newman está compuesta por : unidad de control, ALU (Unidad Lógico-Aritmética), memoria principal, entrada/salida. 3. Representación de datos. 3.1 Codificación de símbolos. Los datos deben procesarse en un código o elementos materiales que sean asumibles por la máquina. Estos elementos materiales son de tipo binario y cada elemento es capaz de almacenar un bit o dígito binario. El código se basa en conduce o no conduce (corriente eléctrica): conduce 0 verdadero no conduce 1 falso Ejemplo: representamos elementos con dos letras de la A a la Z (25) . Se generan 252 elementos de dos bits. Se esquematiza así : p = elementos, n = elementos de la base, b = base. P = 252 ⇒ P = bn . Representación binaria de elementos por codificación por campos: Separa el código del campo. A B C D E 0 0 0 0 0 campo 000 001 010 011 100 Código a b c d e 1 1 1 1 1 campo 000 001 010 011 100 Código El código de control ayuda a representar elementos especiales. Se ponen antes de los elementos que se quieren modificar ( para acentuar letras). Acentoà101. Ej.: Bebé à 001/100/001/101/100 Las unidades funcionales del computador suelen estar diseñadas para trabajar con una cadena de n bits que suelen ser: el octeto (byte), palabra .... 3.2 Codificacion de números 3.2.1 Representación de números Un número en decimal está representado en base 10. Cada dígito tiene un valor en función de la posición que ocupa y es similar en todos los sistemas. Ej: 437 = 4.102+3.101+7.100 En binario: 1101base 2à1.23+1.22+0.21+1.20 = 13base 10 Juan Alvarez Riera Página 4 Apuntes de Informática Introducción a los computadores Para pasar de decimal a binario: se va dividiendo entre 2 sucesivamente cogiendo el resto de abajo hacia arriba (el menos significativo). 13/2=6(1)/2=3(0)/2=1(1)/2=0(1) à 1101 Ejemplo :Vamos a pasar el número 77.187510 a base 2 : a) Cogemos la parte entera, vamos dividiendo por la base, y tenemos en cuenta los dígitos del resto, así como el último cociente: 77 2 17 38 2 1 18 19 2 0 1 9 2 1 4 2 0 2 2 0 1 Luego la parte entera seria Nentera=7710=10011012 b) Ahora cogemos la parte decimal , la vamos multiplicando por la base y vamos teniendo en cuenta los dígitos enteros resultantes. Para el paso siguiente, obviamente, sólo tendremos en cuenta la parte fraccionaria resultante. 0.1875 x 2 0.375 0.3750 x 2 0.75 x 2 0.5 x 2 0.75 1.5 1.0 Para obtener un nº impar el menos significativo debe ser un 1. En BCD: (2n=10) Cada cifra se pasa a binario por separado. Ej: 13 à 0001/0011 esto es BCD empaquetado porque los números se meten por el teclado que utilizan 8 bit por carácter. Desempaquetado sería: 0000 0001/0000 0011. Debido a que se utilizan 4 bits para representarlos se generan 16 combinaciones pero sólo se utilizan 10. En AIKEN 2421: Los 0 y 1 corresponde a la posición de la suma de 2421. 0 1 2 3 4 0000 0001 0010 0011 0100 5 6 7 8 9 0101 1100 0111 1110 1111 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 5 En BIQUINARIO 5421: (no cae) En hexadecimal: la base es 16 así los dígitos permitidos son del 0-9 y A-F (0 a 15). Conversión a binario: 16=24, cada 4 bits corresponde a un dígito hexadecimal. Ejemplo: 11011011102=0011 0110 11102=36E16 = En Octal: base 8, dígitos del 0-7. Conversión a binario: 8=23, cada 3 bits corresponde a un dígito. Ej: 11011112 = 001 101 1112 = 1578 = 1310=11012=0011012=158 ⇒ Conversiones: a) Conversión de decimal a octal: Se hace de la misma manera que cuando pasábamos de decimal a binario pero dividiendo y multiplicando ahora por la base b=8. Ejemplo : N=9410 94 8 11 8 3 1 6 b) De decimal a hexadecimal: También de modo análogo a como lo hicimos en el octal: Ejemplo : N=57210. ⇒ N=23C16 572 16 92 35 16 12 3 2 Nota: Para saber cuantos bits corresponden a cada dígito en la otra base se realiza la siguiente operación: b1n=b2; así podemos coger n bits de la base 1 y representar dicho elemento en la base 2 directamente. Ej: 011 1002=348=2810 23=8 0111002=0001 11002=1C16 24=16 Si no se puede completar el octal se añaden 0 a la izquierda. Juan Alvarez Riera Página 6 Apuntes de Informática Introducción a los computadores Tabla resumen de correspondencia. Decimal Binario Hexadecimal Octal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17 3.2.2 Representación de números enteros. Complemento a 1 (CA1). En este sistema los números positivos se representan como son. Para formar los números negativos se sigue el algoritmo: -Aàbn-1-A , siendo b la base y n el número de dígitos utilizados. En binario quedaría así: C1=2n-1-A , siendo C1 el número expresado en complemento A1. Básicamente se trata de cambiar del número en valor absoluto los 0 por 1 y viceversa. Ej: 1010=010102 -1010=1000002-1-010102=101012 ßà -1010=(25)10-1-010102 Al sumar dos números negativos o uno positivo y otro negativo el resultado es una unidad distinta al resultado correcto y se produce un bit de acarreo superior. Esto se soluciona sumando ese bit de acarreo al bit menos significativo. Ej: -3-8=-11 à 11100+10111=1 10011 = 10100 +9-4=+5 à 01001+11011=1 00100 = 00101 +4-1=3 à 0100+1110= 1 0010= 0011 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 7 Complemento a 2 (CA2). Los números negativos se representan restando de 2n el valor absoluto del número, siendo n el número de bits empleados para expresar el número. –A=2n-A=C22 Otra manera es obtener el complemento a 1 y sumarle una unidad. -510=(2510)2-001012=100000-00101=110112 ; 25=1000002 En este sistema no existe duplicidad en el cero y no presenta problemas para sumar números de distinto signo. Ej: +4-1=3 à 01002+11112=1 00112= 00112 ;donde –110≡00012≡11102≡11112=C22 Representación en exceso a Z: Este formato se obtiene sumando Z (último elemento) al número en binario puro. Z=2n-1-(1); n=bits A=|A2|+Z2. En 8 bits hay 27=128 números para cada signo, en total 256 números. El bit de la izquierda (el octavo) indica el signo (0=neg. y 1=pos.) Ejemplo: n=5 y z=16 z=24=16 -810=100002+110002=010002 1510=100002+011112=111112 -1610=100002+100002=000002 3.2.3 Representación de números fraccionarios. Esto números pueden ser representados por dos métodos: • La coma fija que en 8 bits consiste en ponerla en un sitio determinado sin exponente. ----.---- No suele usarse y requiere memoria. • La coma flotante consiste en la división de los n bits en dos partes: Mantisa: contiene los dígitos significativos del número. m bits Exponente: Indica el factor de escala, como una potencia de la base. e bits. n = m + e ; A=mantisa.baseexponente ej: 0,11101.2-4 = 0,000011101; 0,11101.24 = 01110,1 3.2.3.1 Representación de fraccionarios con coma flotante y mantisa entera. Es poco usado. Se utiliza el exponente en exceso: 2e-1 y mantisa en binario puro con signo. Ej: m=001000 e=101 ...x=8.21=1610; m=101000 e=001 ...x=-8.2-3=-110 3.2.3.2 Representación de fraccionarios con coma flotante y mantisa fracción. Normalización. Los dígitos nulos a la derecha inmediata de la coma se eliminan ajustando el valor al exponente. Ej: 0,00101.23 = 0,101.21 En base 2, el primer dígito es un 1, por lo que puede no representarse quedando como bit implícito. De esta forma la mantisa tiene un bit más de los que pueden almacenarse en memoria. Juan Alvarez Riera Página 8 Apuntes de Informática Introducción a los computadores Norma IEEE P754 El número de dígitos utilizados para representar un número admite dos variantes de precisión: Signo 0 (1º bit) 0+,10 (1º bit) Simple 32 bits Doble 64 bits Exponente Mantisa 1---------------------8 9--------------------31 1--------------------11 12------------------63 Propiedades: 1. Usa mantisa sin ceros a la derecha de la coma, en binario puro sin signo. 2. El exponente se representa en exceso: 2e-1-1, es decir, en exceso 127,con simple y en exceso 1023 con doble. 3. El 0 se representa como m=0 y e=0. 4. e = (255) 11111111, m ≠ 0 no tiene sentido (se llama NAN ) 5. e = (255) 11111111, m = 0 es ∞ (con s=0) y -∞ (con s=1) 6. e = (0) 00000000, m=0 es 010 7. e = 01111111nota1 , m≠0 de la forma 0,m representan números próximos a cero (Especial). Ej: -510: =-0101 à s=1; m=0101 à 1,01.22 ß010 Representamos al exponente en exceso (8 bits): 28-1-1=127 00000010 (2) exp . + 01111111 10000001 < −127 exp . quedaría: -510= 1|10000001|010000000000 ß 32 bits para hacerlo al revés se resta 12810=100000002 al exponente. –1,01.22 = -(0.2-1+1.2-2).4=-5 4. Sistemas de almacenamiento. (Memoria). 4.1 Funciones y requerimientos. Contienen datos y programas para que se ejecuten en la CPU la cual requiere un acceso a la memoria lo más rápida y grande posible. La evolución entre el coste y rapidez aumenta de forma exponencial y entre capacidad y rapidez disminuye de forma lineal (por razones tecnológicas). Clasificación de las memorias atendiendo al coste y capacidad: + Coste - nota1 Capacidad 1. 2. 3. Memoria principal: ROM, RAM, PROM, EPROM. Memoria secundaria Memoria auxiliar + Es la representación del 010 por exceso a 127 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 9 4.2 Definiciones y unidades. Tiempo de acceso/lectura: tiempo que transcurre entre la solicitud de leer un dato y cuando esto se produce (llegada del dato al bus de datos). Tiempo de escritura: tiempo que pasa entre la solicitud de guardar algo en un sitio y cuando esto se produce. Acceso aleatorio: es el acceso a cualquier dato directamente esté donde esté. Se tarda el mismo tiempo en acceder a cualquier dato independientemente de la posición física que ocupe. Se construyen con semiconductores Acceso secuencial: para tener acceso a un dato hay que leer antes todos los datos que están antes que él. Unidades de memoria: bit: cantidad de información mínima (0/1) byte: 8 bits palabra (Word): bytes que puedes procesar la CPU al mismo tiempo. (2, 4, 8 bits) Kilobyte (KB): 210 bytes = 1024 bytes Megabyte (MB): 220 bytes = 1048576 bytes Gigabyte (GB): 230 bytes = 1073741824 bytes Terabyte (TB): 240 bytes 4.3 Jerarquización de la memoria La memoria más rápida se utiliza para las tareas más críticas. Clasificación en orden descendente de rapidez: Registros de la CPU ( 8 o 16 registros en un PC) Memoria caché (∈ al chip de la CPU y a la placa base) 10ns., 1MB Memoria principal [RAM] ( ∈ a la placa base) 60ns., 512MB Memoria secundaria ( discos duros..) 10ms., 20GB Memoria auxiliar 100ms (copias de seguridad). Mediante unos algoritmos detecta los códigos a los que más se accede y las guarda según las prioridades de almacenamiento. En la memoria caché se almacena lo que se usa más frecuentemente y en la memoria principal lo que se está usando en ese momento. Juan Alvarez Riera Página 10 Apuntes de Informática Introducción a los computadores 4.3.1 Memoria principal y caché. Son circuitos electrónicos fabricados a base de silicio y encapsulados con líneas de entrada y salida de señales. Dirección C elda 0 1 2 3 n-2 By te n-1 Longit ud del b y t e Estructura de la memoria Clasificación: • RAM: memoria de acceso aleatorio (lectura y escritura). a) estáticas: el dato permanece inalterable hasta que se apaga el equipo. b) dinámicas: la información se almacena en un condensador (es necesario que se lea y escriba continuamente el dato). • ROM: memoria de acceso aleatorio (lectura, tiene los datos escritos de fábrica). • PROM: Programable ROM (proceso de escritura irreversible). Las PROM son programming rom (como punto de memoria tienen fusibles). Salen vírgenes y luego se programan a base de fundir los fusibles (0) o no fundirlos (1). Solo se puede hacer una grabación • EPROM: memoria de lectura pero programable y de borrado por la luz. Las EPROM son memorias rom en las que se puede programar y borrar. Para grabar hay que borrar la información (utilizando luz ultravioleta) y luego se graba. Para ello se utilizan corrientes eléctricas especiales. Admiten varios borrados y varias escrituras. • EEPROM: memoria de sólo lectura pero programable y de borrado. Las EEROM son muy parecidas a las EPROM, pero con métodos diferentes. Se borran con tensiones eléctricas especiales y no con luz ultravioleta. Admiten varios ciclos de borrado. De solo lectura tenemos (ROM, PROM, EPROM, EEPROM y EAPROM). Son dispositivos que salen ya grabados de fabrica. Excepto la ROM, en las demás si se puede grabar info Las EAPROM son iguales que las EEPROM, pero no hace falta borrarlas, sino que se puede simplemente modificarlas. Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 11 4.3.2 Memoria secundaria Son los discos duros: discos de aluminio recubiertos de material magnético (FeO). Un esquema puede ser el siguiente: Pista: surco de determinado espesor alrededor del disco. Sector: mínima lectura posible en un disco. Es un trozo de pista. Cluster: agrupación de sectores (entre 4 y 64). Un disco duro se divide (compone) en pistas, sectores por pista y clusters, que deben ser números enteros que combinados se acerquen a la capacidad máxima del disco duro. Un mismo disco duro puede tener varios “discos” girando en paralelo. Un disco duro siempre está girando a una velocidad que oscila de 3600 a 5400 rev/min. cuya cabeza lectora levita encima del disco. A rb o l D is c os C a be z al L ec to -Gra b ad o r Esquema de disco duro magnético 1 P is ta 1 P is ta 2 … … P is ta n … … S w itc h in g Gap Esquema de disco magnético 2 Fragmentación: se debe a que al escribir datos en un cluster, este no se llena y por tanto no se puede aprovechar para operaciones posteriores. Hay dos tipos de fragmentación: a) interna: no tiene solución b) externa: hay programas que ordenan el disco duro y resuelven el problema. Los discos flexibles actúan de la misma forma pero sólo giran cuando se realizan operaciones en él. La cabeza lectora está más separada del disco y por eso son más lentos. Juan Alvarez Riera Página 12 Apuntes de Informática Introducción a los computadores La lectura y escritura se hacen por medio magnético (inducción): cabeza grabadora induce al disco. disco induce a la cabeza lectora. Lo que se busca en las memorias es que tengan una velocidad alta y gran capacidad. Para mejorar estas características hay diferentes métodos: 1. Memoria cache: Aumenta la velocidad a través de registros que almacenan las direcciones de las informaciones que se acceden con mayor frecuencia. 2. Memoria virtual: Se utiliza memoria secundaria para aumentar la capacidad. 3. Paginación. 4. Segmentación. 4.3.3 Memoria virtual : VMS VMS : virtual memory system Es la memoria utilizada del disco duro como memoria principal (RAM) y que es transparente al usuario (memoria que utiliza Windows95 cuando se acaba la RAM). Esta memoria cuando se necesita de verdad se pasa a la memoria principal para operar con ella. Esta memoria se implementa de tres formas: a) Memoria paginada: se divide la memoria utilizada del HD y la RAM en bloques de tamaño fijo (páginas), y el sistema toma una de las páginas ocupadas en la RAM y la sustituye por la que necesitamos de las del HD. Para acceder a un dato hay que cargar la página entera. El inconveniente que tiene es que para acceder a datos pequeños se manejan cantidades grandes de memoria. Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 13 b) Memoria segmentada: El sistema segmenta ambas memorias pero los segmento no tienen porqué ser iguales y finitos. Para coger un dato del segmento 8K, el sistema carga al HD el segmento/s menos crítico de la memoria física para que quepa el dato y carga el segmento de 8K entero. el inconveniente es que se puede meter un segmento del HD en un segmento de la memoria física que puede ser mayor con lo que se desperdicia espacio en la memoria física (fragmentación). Además de complicado es difícil crear un sistema operativo que gestione esto. c) Memoria segmentada y paginada: Cada segmento tiene un número entero y finito de páginas, lo que implica un nº finito de segmentos que es más sencillo de controlar y es más fácil que los tamaños de los bloques coincidan. 5 Unidad Central de Proceso:CPU La CPU se compone de la ALU y la CU. U nidad A ritm ét ica y Lógica (U A L) Flujos de C ontrol Flujos de Dat os C onex ión con datos al ex t erior U nidad de E/S R egis tro U nidad de C ontrol (U C ) C onex ión con cont rol al ex terior R egis tro Estructura de la CPU Unidad de control (UC): Sus funciones principales son: 1. Identificar cual es la instrucción y la operación que conlleva la instrucción. 2. Localizar los datos u operandos. 3. Desencadenar la ejecución de la instrucción. 4. Desencadenar el almacenamiento del resultado. 5.1 Unidad Aritmetico-Lógica: ALU Su función es ejecutar la operación sobre los datos que recibe de la unidad de control. Solo sabe las operaciones suma, resta, AND (‘y’ lógica) y OR (‘o’ lógica). Las demás operaciones las realiza a través de programas. Consta de dos partes: 1. Banco de registros: Se almacenan los datos que vienen de la unidad de control. Uno de los registros se llama acumulador que es donde se almacena el resultado. Juan Alvarez Riera Página 14 Apuntes de Informática Introducción a los computadores 2. Operador: El que realiza las operaciones. . Los datos se almacenan en los registros, van al operador, donde este devuelve un resultado que va al acumulador. Banco de registros Operador Acumulador Partes de la ALU: Operadores: circuitos electrónicos digitales sencillos. Realizan todas las operaciones de la ALU. Banco de registros: (entre 8 y 16 ) es donde se almacena lo hecho en las operadores. Acumulador: es donde se almacenan las operaciones realizadas por defecto. Para llevarlo a un registro debe cogerlo de aquí. Señalizadores (flags): son memorias cero → 1( z ) negativo → 1( N ) estados: acarreo → 1(c ) desbordamiento → 1(V ) de un solo bit.Se utilizan para guardar Secuenciador: forma parte de la ALU pero también de la unidad de control.Cuando una operación se realice por repetición de otras, esta parte es lo que indica la secuencia de realización de los operadores. ! Tipos de operadores: **VIP** Operadores lógicos: (Algebra de Boole) Se definen mediante su tabla de la verdad. El número de casos es finito por lo que se cumple la tabla de la verdad. AND • X 0 0 1 1 Y 0 1 0 1 Z 0 0 0 1 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 15 X 0 0 1 1 OR + X 1 0 NOT XOR ⊕ OR exclusivo No Y NAND NOR Y 0 1 0 1 Z 0 1 1 1 Y 0 1 X 0 0 1 1 Y 0 1 0 1 Z 0 1 1 0 X 0 0 1 1 Y 0 1 0 1 Z 1 1 1 0 X 0 0 1 1 Y 0 1 0 1 Z 1 0 0 0 Juan Alvarez Riera Página 16 Apuntes de Informática Introducción a los computadores Propiedades: 0+X=X 1+X=1 X +X=1 X+X=X 0*X=0 1*X=X X*X=X X *X=0 X+Y=Y+X X*Y=Y*X 0+1=1 0+0=0 1+0=1 1+1=0 0+1=1 1+0=1 1+1=1 0+0=0 0*0=0 0*1=0 1*0=0 1*1=1 0*0=0 1*1=1 0*1=0 1*0=0 0+0=0=0+0 1+1=1=1+1 1+0=1=0+1 0+1=1=1+0 0*0=0=0*0 1*1=1=1*1 0*1=0=1*0 1*0=0=0*1 X*(Y*Z)=(X*Y)*Z X+(Y+Z)=(X+Y)+Z Operadores de desplazamiento: consisten en mover bits. 1. A la izquierda: los bits se mueven un puesto a la izquierda, se pierde el que está en el extremo izquierdo y en el extremo derecho se pone un cero. 2. A la derecha. 3. Circulares a la izquierda: el bit de la izquierda pasa al extremo de la derecha moviendo todos los demás bits que están en el medio. 4. Circulares a la derecha. 5. Aritmetico a la izquierda: como el 1. Pero se conserva el bit del signo (el que está más a la izquieda). 6. Aritmetico a la derecha. Operadores aritméticos: (cambio de signo). Es util cuando tenemos 10011011 y tememos que pasarlo a 16 bits à 100000000 0011011 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 17 5.2 La Unidad de Control La unidad de control del computador es la encargada de interpretar, sincronizar y controlar la ejecución de las instrucciones de los programas. Detecta señales de estado procedentes de las distintas unidades, indicando su situación o condición de funcionamiento. Capta de la memoria una a una las instrucciones del programa, y genera, de acuerdo con el código de operación de la instrucción captada y con las señales de estado, señales de control dirigidas a todas las unidades, monitorizando las operaciones que implican la ejecución de la instrucción. La unidad de control contiene un reloj o generador de pulsos que sincroniza todas las operaciones elementales del computador. El período de esta señal se denomina tiempo de ciclo, y está comprendido aproximadamente entre nanosegundos y varios microsegundos, dependiendo de la CPU. La frecuencia de reloj (que suele darse en millones de ciclos/segundo, o Megahercios, abreviadamente MHz) es un parámetro que en parte determina la velocidad de funcionamiento del computador. Como se ha comentado anteriormente, una instrucción es un conjunto de símbolos que representa una orden de operación o tratamiento para el computador. Un programa es un conjunto ordenado de instrucciones que se dan al computador indicándole las operaciones o tareas que se desea que realice. Las instrucciones se envían desde la Memoria a la Unidad de Control, donde se interpretan y se generan las señales de gobierno sobre los restantes bloques del sistema. Tratamiento de las instrucciones Inicialmente las instrucciones están almacenadas en la memoria principal de forma ordenada, para ser ejecutadas una tras otra, de acuerdo con el orden establecido por el programa. Únicamente las instrucciones de salto rompen dicha secuencia. La unidad de control es el bloque del computador encargado de analizar e interpretar los bits de los diversos campos de una instrucción. Descompone en campos a la instrucción para efectuar un tratamiento independiente de cada uno. Tras la interpretación, se procede a generar las señales de gobierno adecuadas para especificar al camino de datos: a) la operación que debe llevar a cabo, b) los operandos de entrada y c) el lugar donde se debe dejar el resultado. Fases en la ejecución de una instrucción Una instrucción típica puede descomponerse en cinco fases: 1ª Fase: Fase de búsqueda de la instrucción. En esta etapa se localiza el código binario de la instrucción en la Memoria Principal. Un registro especial, llamado Contador de Programa (PC), es el encargado de depositar en el bus de direcciones la dirección de la instrucción que hay que ejecutar. Una vez que se ha decodificado dicha dirección en la Memoria, se lee la posición correspondiente y su contenido se transfiere por el bus de datos e instrucciones a la Unidad de Control. 2ª Fase: Fase de decodificación. La Unidad de Control interpreta el código binario de la instrucción en curso que se ha recibido de la Memoria Principal. Juan Alvarez Riera Página 18 Apuntes de Informática Introducción a los computadores 3ª Fase: Búsqueda de operandos. Tras el adecuado tratamiento de los campos del código de la instrucción dedicados a los operandos fuente, la Unidad de Control determina el valor o la situación donde se encuentran dichos operandos y ordena su búsqueda. 4ª Fase: Fase de ejecución. La Unidad de Control genera las señales de gobierno precisas para que el Camino de Datos efectúe la operación correspondiente a la instrucción en curso. La operación lógico-aritmética que se realiza en el Camino de Datos sobre los operandos origina un resultado, llamado también operando destino. 5ª Fase: Escritura del resultado. El resultado obtenido tras la ejecución de la operación de la instrucción con los operandos fuente se guarda, generalmente, en la Memoria Principal. Bús queda de I ns t rucción Ejecución de I ns t rucción Increm ent ar PC Decodif icación de I ns t rucción 6.0 Unidad de entrada y salida (E/S): Su función es comunicar la computadora con el exterior (dispositivos periféricos). Tipos de dispositivos periféricos: 1 De entrada: Permiten introducir datos en la computadora (teclado, ratón, lápiz óptico...). 2 De salida: La pantalla, impresora, plotter... 3 De entrada-salida: Permiten ambas cosas (módem). 4 De almacenamiento: Disquetes, discos Zip... U nid ad d e E/ S 0 1 2 3 B us de D irec c io ne s MAR B us de D a t os M BR n -1 Juan Alvarez Riera Apuntes de Informática Introducción a los computadores Página 19 Clasificación de los dispositivos: Tipo de E/S Teclado Ratón Scanner Impresora láser Pantalla Red de Area Local HDD Función E E E S S E/S Almacena Usuario Humano Humano Máquina Maquina Maquina Maquina Maquina Velocidad 0.01 Kb/s 0.02 Kb/s 200 Kb/s 100 Kb/s 30000 Kb/s 200 Kb/s 2000 Kb/s La velocidad para hacer algo queda determinada por el dispositivo más lento que se utilice porque hace de embudo. Tiempo de respuesta: tiempo desde que entra una orden y la ejecuta. Buses: Su función es actuar como líneas por las que circula la información digital. Tipos de buses: 4. De direcciones: Circulan por ellos direcciones. 5. De datos: Circulan datos. 6. De control: circulan señales de la unidad de control para activar circuitos. Esquema general de E/S: CPU CACHE BUS DE DATOS MEM PRINCIPAL CONTROLADORES DE DISPOSITIVOS CONTR. DISP CONTR. DISP HDD PANTALLA Esquema de Comuncación física entre la CPU y los periféricos: • Ejecución de instrucción (codificada). • dirección de E/S • señales de control: • sincrona: todos los periféricos con mismo tiempo de respuesta. • asíncrona: lo contrario, necesario señalar el estado del periférico. • Datos (obtenidos). Juan Alvarez Riera Página 20 • Apuntes de Informática Introducción a los computadores DMA (Acceso directo a memoria), necesitamos: • Dirección de memoria • Tamaño de los bloques • leer o escribir Los periféricos demandan la atención de la CPU mediante las interrupciones que desencadenan programas que paran la CPU. Juan Alvarez Riera