Descargar

Sistema de cómputo (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Ejercicio Expresa, en código binario, los números decimales siguientes: 191, 25, 67, 99, 135, 276

edu.red

 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. En el ejemplo del párrafo anterior, para representar el número 77, que en el sistema decimal está compuesto tan sólo por dos dígitos, han hecho falta siete dígitos en binario.

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 2n , números. El número más grande que puede escribirse con n dígitos es una unidad menos, es decir, 2n – 1. Con cuatro bits, por ejemplo, pueden representarse un total de 16 números, porque 24= 16 y el mayor de dichos números es el 15, porque 24 -1 = 15.

edu.red

Ejercicios Ejercicio 2: Averigua cuántos números pueden representarse con 8, 10, 16 y 32 bits y cuál es el número más grande que puede escribirse en cada caso.

Ejercicio 3: Dados dos números binarios: 01001000 y 01000100 ¿Cuál de ellos es el mayor? ¿Podrías compararlos sin necesidad de convertirlos al sistema decimal?

edu.red

Sistema de numeración octal El inconveniente de la codificación binaria es que la representación de algunos números resulta muy larga. Por este motivo se utilizan otros sistemas de numeración que resulten más cómodos de escribir: el sistema octal y el sistema hexadecimal. Afortunadamente, resulta muy fácil convertir un número binario a octal o a hexadecimal. En el sistema de numeración octal, los números se representan mediante ocho dígitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dígito tiene, naturalmente, un valor distinto dependiendo del lugar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8.

edu.red

Ejemplo 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

edu.red

Conversión de un número decimal a octal La conversión de un número decimal a octal se hace con la misma técnica que ya hemos utilizado en la conversión a binario, mediante divisiones sucesivas por 8 y colocando los restos obtenidos en orden inverso. Por ejemplo, para escribir en octal el número decimal 12210 tendremos que hacer las siguientes divisiones: 122 : 8 = 15     Resto: 2 15 : 8 = 1         Resto: 7 1 : 8 = 0           Resto: 1 Tomando los restos obtenidos en orden inverso tendremos la cifra octal: 12210 = 1728

edu.red

Ejercicio Ejercicio 5: Convierte los siguientes números decimales en octales:  6310,   51310,   11910

edu.red

Conversión octal a decimal La conversión de un número octal a decimal es igualmente sencilla, conociendo el peso de cada posición en una cifra octal.

Por ejemplo, para convertir el número 2378 a decimal basta con desarrollar el valor de cada dígito: 2*82 + 3*81 + 7*80 = 128 + 24 + 7 = 15910 2378 = 15910

edu.red

Ejercicio Ejercicio 6: Convierte al sistema decimal los siguientes números octales: 458,   1258,   6258

edu.red

Sistema de numeración hexadecimal Sistema de numeración hexadecimal En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16.

edu.red

Ejemplo 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

edu.red

Ejercicio Ejercicio 7: Expresa en el sistema decimal las siguientes cifras hexadecimales: 2BC516,  10016,  1FF16

edu.red

Convertir números Decimales a hexadecimal Por ejemplo, para convertir a hexadecimal del número 173510 será necesario hacer las siguientes divisiones:

1735 : 16 = 108    Resto: 7 108 : 16 = 6          Resto: C es decir, 1210 6 : 16 = 0          Resto: 6 De ahí que, tomando los restos en orden inverso, resolvemos el número en hexadecimal: 173510 = 6C716

edu.red

Ejercicio Convierte al sistema hexadecimal los siguientes números decimales: 351910, 102410, 409510

edu.red

Conversión de números binarios a octales y viceversa

Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de convertir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos binarios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal

edu.red

Ejemplo

1010010112 = 5138

edu.red

Ejercicio Ejercicio 9: Convierte los siguientes números binarios en octales: 11011012, 1011102, 110110112, 1011010112

edu.red

Conversión de números binarios a hexadecimales y viceversa Podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios

edu.red

Ejemplo Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal:  10102 = A16 01112 = 716 00112 = 316 y, por tanto: 1010011100112 = A7316

En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo: 1011102 = 001011102 = 2E16

edu.red

Ejercicio 11: Convierte a hexadecimales los siguientes números binarios: 10101001010111010102, 1110000111100002, 10100001110101112

edu.red

33 Instrucciones vs. Datos Instrucción: conjunto de símbolos insertados en una secuencia estructurada o específica que el procesador interpreta y ejecuta.

Datos: Símbolos que representan hechos, condiciones, situaciones o valores. Elementos de información.

1.1 Componentes de un Sistema de Cómputo

edu.red

34 Lenguaje natural:

Suma lo que hay en A con lo que tiene la posición 17 de una secuencia de valores.

Lenguaje de programación de alto nivel:

A= A + M[17]

Ensamblador y lenguaje máquina:

ADD A, M(17) ? 11000 001 0001 001111

Instrucciones vs. Datos (cont) 1.1 Componentes de un Sistema de Cómputo

edu.red

Hardware (Soporte Físico) 35 1.1 Componentes de un Sistema de Cómputo

edu.red

Firmware El firmware es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria de tipo no volátil (ROM, EEPROM, flash, etc), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware, pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y su electrónica, ya que es el encargado de controlar a ésta última para ejecutar correctamente dichas órdenes externas.

edu.red

Firmware 37 1.1 Componentes de un Sistema de Cómputo

edu.red

Software (Soporte Lógico) 38 1.1 Componentes de un Sistema de Cómputo

edu.red

El hardware y el SW utilizados para proporcionar aplicaciones a los usuarios se pueden ver de forma jerárquica o en capas Definiciones Básicas

edu.red

Definiciones Básicas Hardware Sistema Operativo Utilidades y Herramientas Programas de Aplicación Diseñador del SO Programador Usuario Final 40 1.1 Componentes de un Sistema de Cómputo

edu.red

Arquitectura de un Sistema 41 1.2 Capa Hardware

edu.red

Registros del Procesador Registros visibles para el usuario.

Registros de control y estado Contador de programa (PC). Puntero de pila (SP). Registro de instrucción (IR). Registro de estado (bits informativos).

42 1.2 Capa Hardware

edu.red

Ejecución de Instrucciones Procesar una instrucción consta de dos pasos:

El Procesador lee (busca) instrucciones de la memoria, una cada vez. El Procesador ejecuta cada instrucción.

La ejecución de un programa consiste en repetir el proceso de búsqueda y ejecución de instrucciones.

Se denomina ciclo de instrucción al procesamiento requerido por una única instrucción.

Inicio Leer siguiente instrucción Ejecutar la instrucción Parada 43 1.2 Capa Hardware

edu.red

Ejecución de Instrucciones Ejemplo 1.

El contador del programa (PC) tiene 300, la dirección de la primera instrucción. Los primeros 4 bits (dígitos en hexadecimal) en el registro de instrucción (IR) indica que el acumulador (AC) será cargado desde memoria. Los siguientes 12 bits (tres dígitos en hexadecimal) indican la dirección, 940. La siguiente instrucción (5941) será captada desde la dirección 301. El PC se incrementa. El anterior contenido del AC y el contenido de la dirección 941 se suman y el resultado se almacena en el AC. La siguiente instrucción (2941) será captada desde la dirección 302. El PC se incrementa. El contenido del AC se aloja en la dirección 941.

44 1.2 Capa Hardware

edu.red

La E/S permite al computador interactuar con el "mundo exterior" Dispositivos típicos de E/S (PERIFÉRICOS) Dispositivos de E/S básica teclado, ratón, pantalla Dispositivos de almacenamiento discos, disquetes, CD-ROM, cintas,discos magneto-ópticos, … Dispositivos de impresión y escáner impresoras, plotters, scanners, … Dispositivos de comunicación redes, módems, … Dispositivos multimedia audio, video, … . CPU MEMORIA Disco E/S (Gp:) 8085 (Gp:) 8085

(Gp:) 8085 (Gp:) 8085

(Gp:) 8085 (Gp:) 8085

Subsistema de E/S

edu.red

46 1.2 Capa Hardware Técnicas de Comunicación de E/S Hay tres técnicas para llevar a cabo las operaciones de E/S:

E/S Programada. E/S dirigida de interrupciones. Acceso directo de memoria

¿Qué necesita la CPU para hacer su trabajo leer/escribir en memoria o en un dispositivo de E/S:

edu.red

47 1.2 Capa Hardware Técnicas de Comunicación de E/S E/S Programada. El procesador encuentra una instrucción con la E/S. Se genera un mandato al módulo de E/S apropiado.

Con esta técnica, el procesador es el responsable de extraer los datos de la memoria principal en una operación de salida y almacenarlos en ella en una operación de entrada

El software de E/S se escribe de manera que el procesador ejecuta instrucciones que le dan control directo de la operación de E/S incluyendo: Comprobar el estado del dispositivo Enviar un mandato de lectura o de escritura Transferir los datos

edu.red

48 1.2 Capa Hardware Técnicas de Comunicación de E/S La figura muestra un ejemplo del uso de E/S programada para leer un bloque de datos de un dispositivo externo (p. ej. Un registro de cinta) y almacenarlo en memoria. Los datos se leen palabra a palabra (por ejemplo 16 bits). Por cada palabra que se lee, el procesador debe permanecer en un bucle de comprobación del estado hasta que determina que la palabra está disponible en el registro de datos del módulo de E/S.

edu.red

E/S programada Problema: El problema de la técnica de la E/S programada es que el procesador tiene que esperar mucho tiempo hasta que el módulo de E/S correspondiente esté listo para la recepción o la transmisión de más datos. El procesador mientras está esperando, debe comprobar repetidamente el estado del módulo de E/S. Cómo resultado, el nivel de rendimiento de todo el sistema se degrada gravemente. Solución: Mientras se atiende al módulo de E/S, el procesador pueda continuar con trabajo útil.

edu.red

50 E/S Dirigida por Interrupciones. Evento que interrumpe el flujo normal de ejecución producido por un elemento externo al procesador. Es un evento asíncrono. Técnicas de Comunicación de E/S 1.2 Capa Hardware Problema: En transferencias considerables de memoria a dispositivo o viceversa conlleva un uso excesivo del procesador.

Solución: Acceso Directo a Memoria. En un solo mandato se genera todo lo necesario para realizar la transferencia de información de memoria al dispositivo o viceversa.

edu.red

51 1.2 Capa Hardware Técnicas de Comunicación de E/S Ciclo de instrucción con interrupciones. Inicio Leer siguiente instrucción Ejecutar la instrucción Parada Comprobación de interrupción del proceso Interrupciones habilitadas Interrupciones inhabilitadas Fase de búsqueda Fase de ejecución Fase de Interrupción

edu.red

52 1.2 Capa Hardware Tratamiento de Interrupciones Vectorizadas (Gp:) CPU

(Gp:) Dispositivo (Gp:) Interrupción

(Gp:) Código del SO

Salto (Gp:) Memoria Principal

(Gp:) . . . (Gp:) . . . (Gp:) Código de usuario (Gp:) Rutina de servicio de interrupción i (Gp:) ………… (Gp:) ……………………… (Gp:) ………………………

··· i Tabla de vectores de interrupción ···

edu.red

53 Tratamiento de Interrupciones Vectorizadas 1.2 Capa Hardware

edu.red

54 Acceso Directo a Memoria (DMA, Direct Access Memory). Realizada por un módulo separado conectado en el bus del sistema o incluida en un módulo de E/S. Útil cuando el procesador desea leer o escribir un bloque de datos. Técnicas de Comunicación de E/S 1.2 Capa Hardware

edu.red

55 Definición de excepción: Evento inesperado generado por alguna condición que ocurre durante la ejecución de una instrucción (ejemplo, desbordamiento aritmético, dirección inválida, instrucción privilegiada, etc.). Es un evento síncrono. Excepciones 1.2 Capa Hardware

edu.red

56 1.2 Capa Hardware Protección Funcionamiento en Modo Dual. ¿Qué ocurre si un programa accede a la memoria donde se alojan los vectores de interrupciones? ¿Qué pasa si las modifica?

Solución: El procesador dispone de diferentes modos de ejecución de instrucciones:

Instrucciones privilegiadas (modo supervisor/kernel): Aquellas cuya ejecución puede interferir en la ejecución de un programa cualquiera o programa del SO (ejemplo, escribir en el puerto de un dispositivo).

Instrucciones no privilegiadas (modo usuario): Aquellas cuya ejecución no presenta ningún problema de seguridad para el resto de programas (ejemplo, incrementar un contador).

edu.red

57 1.2 Capa Hardware Protección de los Dispositivos de E/S Los dispositivos de E/S son recursos que han de estar protegidos (ejemplo, los archivos, las impresoras, .)

¿Cómo se consigue? ? Las instrucciones máquina para acceso a los dispositivos de E/S no pueden ejecutarse en modo usuario: son privilegiadas.

Cualquier acceso a los dispositivos desde un programa de usuario se hará mediante peticiones al SO.

edu.red

58 1.2 Capa Hardware Protección de Memoria Cada programa en ejecución requiere de un espacio de memoria.

Objetivo: Hay que proteger la zona de memoria asignada y la memoria en la que está el código del sistema operativo (tabla de vectores de interrupción, rutinas de tratamiento de cada interrupción).

edu.red

59 1.3 El Sistema Operativo El Sistema Operativo Un SO es un programa o conjunto de programas que controla la ejecución de los programas de aplicación y que actúa como interfaz entre el usuario de una computadora y el hardware de la misma.

Hardware Sistema Operativo Utilidades y Herramientas

edu.red

60 1.3 El Sistema Operativo El SO como interfaz Usuario/Computadora Presenta al usuario una máquina abstracta más fácil de programar que el hardware subyacente:

Oculta la complejidad del hardware. Da tratamiento homogéneo a diferentes objetos de bajo nivel (archivos, procesos, dispositivos, etc.).

Una aplicación se puede expresar en un lenguaje de programación y la desarrolla un programador de aplicaciones.

Es más fácil programar las aplicaciones en lenguajes de alto nivel que en el lenguaje máquina que entiende el hardware.

edu.red

61 61 1.3 El Sistema Operativo El SO como interfaz Usuario/Computadora Un SO proporciona normalmente utilidades en las siguientes áreas:

Desarrollo de programas (editores de texto, compiladores, depuradores de programas).

Ejecución de programas (cargador de programas y ejecución de éstos).

Acceso a dispositivos de E/S (cada dispositivo requiere su propio conjunto de instrucciones).

edu.red

62 1.3 El Sistema Operativo El SO como interfaz Usuario/Computadora (cont.)

Acceso al sistema (En sistemas compartidos o públicos, el SO controla el acceso y uso de los recursos del sistema: Shell, Interfaz gráfico).

Detección y respuesta a errores (tratamiento de errores a nivel software y hardware).

Contabilidad (estadísticas de uso de los recursos y medida del rendimiento del sistema).

edu.red

63 1.3 El Sistema Operativo El SO como Administrador de Recursos Un computador es un conjunto de recursos y el SO debe gestionarlos y para ello posee un mecanismo de control en dos aspectos:

Las funciones del SO actúan de la misma forma que el resto del software, es decir, son programas ejecutados por el procesador.

El SO frecuentemente cede el control y depende del procesador para volver a retomarlo.

edu.red

64 1.3 El Sistema Operativo El SO como Administrador de Recursos Por lo tanto:

El SO Dirige al procesador en el uso de los recursos del sistema y en la temporización de la ejecución de otros programas.

Una parte del código del SO se encuentra cargado en la memoria principal (kernel y, en ciertos momentos, otras partes del SO que se estén usando). El resto de la memoria está ocupada por programas y datos de usuario.

edu.red

65 1.3 El Sistema Operativo El SO como Administrador de Recursos Por lo tanto: (cont.)

La asignación de la memoria principal la realizan conjuntamente el SO y el hardware de gestión de memoria del procesador.

El SO decide cuándo un programa en ejecución puede usar un dispositivo de E/S y también el acceso y uso de los ficheros. El procesador es también un recurso.

edu.red

66 1.3 El Sistema Operativo Características deseables en un Sistema Operativo Comodidad en el uso.

Eficiencia: Existen más programas que recursos. Hay que repartir los recursos entre los programas

Facilidad de Evolución: Un SO importante debe evolucionar en el tiempo por las siguientes razones:

Actualizaciones del hardware y nuevos tipos de hardware. Mejorar y/o aportar nuevos servicios. Resolución de fallos.

edu.red

67 1.4 Utilidades del Sistema Programas de Servicio del SO Se trata de un conjunto de programas de servicio que, en cierta medida, pueden considerarse como una ampliación del SO:

Compactación de discos. Compresión de datos. Gestión de comunicaciones. Navegadores de internet. Respaldo de seguridad. Recuperación de archivos eliminados. Antivirus. Salvapantallas. Interfaz gráfica.

edu.red

68 1.4 Utilidades del Sistema Herramientas Generales Su misión es facilitar la construcción de las aplicaciones de los usuarios, sea cual sea la naturaleza de éstas, tales como:

Editores de texto. Compiladores. Intérpretes. Enlazadores. Cargadores/Montadores. .

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente