Tema 2
Soporte Lógico de los
Ordenadores
Índice
Motivación
Representación interna de la
información
Almacenamiento de datos: Importancia
de las BD
Principios de Sistemas Operativos
Otras Aplicaciones
Motivación
Software: Conjunto de programas que
dirigen el funcionamiento de un
ordenador.
Soporte Lógico = Software
Datos-> Ordenador->Información
Representación de la
Información: Índice
Representación interna de los datos:
caracteres, números enteros, números
reales, datos lógicos, imágenes y
sonidos, códigos intermedios.
Representación interna de las
instrucciones.
Representación de la
información: Introducción
Un ordenador sólo distingue entre dos
estados: 0 y 1 (un bit)
0=No hay electricidad, 1=hay
electricidad
Sólo podemos trabajar con bits.
Código: forma que toma la información
que se intercambia.
Representación de la
información: Codificación
Ejemplos codificaciones:
• Persona-> DNI
• Coche -> Matrícula
• Morse
¿Bits Necesarios para 27 símbolos?
Código Binario: ceros y unos
Capacidad de representación:
• Digital 10n
• Binario 2n
Codificación caracteres (1)
Necesitamos representar:
• Alfabeto (a,b,..,z,A,B,…,Z)
• Números (0,1,2,…,9)
• Caracteres de control: Espacio, escape, …
• Símbolos: (,),=,/,&,%, ….
Alfanuméricos= Alfabeto+Números
Codificación ASCII: 8 bits (7 + 1)
Codificación caracteres (2)
Código ASCII (American Standard Code
for Information Interchange — Código
Estadounidense Estándar para el
Intercambio de Información)
ASCII 7+1 bits
Codificación caracteres (3)
7 bits para caracteres. 27=128
1 bit detección de errores (código
redundante)
Paridad par:
• 0= número par de unos
• 1= número impar de unos
• 0= número impar de unos
• 1= número par de unos
Paridad impar:
Codificación caracteres (3)
Tipos codificación caracteres
ASCII: 7+1 bits, representa abecedario inglés.
ASCII extendido: 8 bits, uno para cada un
conjunto de lenguas.
Unicode: asigna código único a cada carácter
para todos los lenguajes.
UTF-8: Unicode Trasformation Format, 8 bits
variable. Representa cualquier carácter
Unicode. Longitud variable. Incluye ASCII 7
bits.
ASCII Extendido
Codificación enteros (1)
¿Caracteres ASCII para representar enteros?
Mayor consumo de memoria:
• 10 números:
• 100 números:
• 1 carácter ASCII (8 bits)
• 4 bits (24=16>10>23=8)
• 2 caracteres ASCII (16 bits)
• 7 bits (27=128>100>26=64)
ALU Trabaja con número binarios
Codificación enteros (2)
Sistemas de numeración:
• Binaria: 0 ó 1 (Base 2)
• Octal; 0,1,2,3,4,5,6 ó 7 (Base 8)
• Decimal: 0,1,2,3,4,5,6,7,8 ó 9 (Base 10)
• Hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F (Base 16)
Base = Número de dígitos
Codificación enteros (3)
Pasar a decimal:
• i= posición dígito
• di= dígito i-esimo
• b= base
=0i
• 255)10=5*100 +5*101+2*102= 255)10
• 255)8=5*80+5*81+2*82 = 173)10
• 11010)2=0*20+1*21+0*22+1*23+1*24 = 26)10
∑
i
i bd x
Codificación enteros (4)
Para pasar un número decimal a número
en base b.
Dividir el número sucesivamente por b
hasta que el número sea menor que b
El número está formado
por los restos y por el
último cociente: Primero
el cociente y luego los
restos (últimos primero)
Codificación enteros (5)
Números negativos: Bit de (0=positivo,
1=negativo).
Números negativos implican Números más
pequeños
7 bits 27=máximo 128 (-128..0..127)
8 bits 28=máximo 256 (0….256)
Tamaños usados: 2 bytes, 4 bytes, 8
bytes.
Codificación reales (1)
Números reales son números con
Notación científica (normalizada):
decimales
• Signo: positivos y negativos
• Mantisa: cifras que componen el número
• Exponente: potencia de 10 asociada
Representación:1 bit de signo + Mantisa +
Exponente (como números enteros en
binario)
Codificación reales (2)
Ejemplos:
Tamaños usados:
• 23.4=0.234 x 102= (+,234,2)=0-11101010-010
• -0.0076=-0.76 x 10-2= (-,76,-2)= 1-1001100-110
• 15=0.15 x 102 =(+,15,2)=0-1111-010
• Simple precisión:1bit signo + 23bit mantisa +
8bit exponente (4 bytes)
• Doble precisión:1bit signo + 52bit mantisa +
11bit exponente (8 bytes)
Codificación lógicos
Valores lógicos: Verdadero(1) o Falso(0) [1
bit]
Uso muy común: ¿Número mayor?¿se ha
pulsado una tecla?¿ha recibido
correctamente un byte?
AND (Y lógico): ¿Se ha pulsado ALT y F4?
OR (O lógico): ¿Se ha escogido opción salir
o se ha pinchado la x?
NOT (Negación): Not F=V, Not V=F. Ej.: Si
no se ha pulsado Enter ….
Codificación Imágenes
Cabecera:
Más bits implican colores más precisos
• Tamaño en píxeles (puntos): Ancho y alto
• Color o blanco y negro.
• Transparencias. Formato. Compresión, etc.
• Rojo, Verde y Azul (RGB=Red, Green, Blue)
• Nivel de gris
Puntos:
Codificación Sonido (1)
Sonido es una onda continúa. Frecuencias.
Se toman muestras y se convierten en
números.
Más muestras y más bits, mayor calidad de
sonido.
También tiene una cabecera indicando
formato de sonido, muestras por segundo,
calidad de cada muestra, etc.
Codificación Sonido (2)
Codificación Sonido (3)
Códigos intermedios: Octal
El código octal permite utilizar los dígitos
entre 0 y 7
Binario es 21= 2 Dígitos (0 y 1), octal 23= 8
Dígitos (0,1,2,3,4,5,6 y 7).
Cada dígito en octal se corresponde a 3
dígitos binarios
25)8=010101)2
Códigos intermedios:
Hexadecimal
El código Hexadecimal permite
usar 16 dígitos:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Cada dígito Hexadecimal (24=
16) se corresponde a 4 dígitos
binarios (21= 2)
25)16=00100101)2
Representación interna
instrucciones
Un programa se compone de
instrucciones.
Se representan mediante 0’s y 1s. Código
binario o Código máquina.
Cada codificación depende del
procesador.
Las instrucciones deben ser sencillas.
Por ejemplo, suma A,B y no Dibuja una
casa.
Tipos de instrucciones (1)
Instrucciones de transferencia:
Mover los datos de un sitio a otro.
Instrucciones de tratamiento de
datos: Operaciones Aritmético-
Lógicas
Instrucciones de control: Permiten
saltar el orden secuencial de un
programa.
Tipos de instrucciones (2)
Partes de una instrucción
Código de operación: Codifican una
instrucción determinada.
Argumentos: Datos de la instrucción:
Pueden ser:
• Direcciones de memoria con datos.
• Datos a usar directamente.
• Direcciones de memoria con la siguiente
instrucción.
Problemas del código máquina
Código máquina, código binario o
lenguaje de bajo nivel.
Secuencia de ceros y unos.
Dependiente del procesador.
Incomprensibles.
Realización de tareas complejas
supone un gran esfuerzo.
Lenguajes alto nivel y bajo nivel
Si(nota>=5)entonces
nota=aprobado
Sino
nota=suspenso
Escribe(nota)
Mueve M[22], R1
Mueve 5,R2
Compara R1,R2
SaltaMenor M[10]
Mueve M[30],x41
Mueve M[31],x70
Mueve M[32],x72
Mueve M[33],x6F, etc.
Lenguajes de alto nivel (1)
Más fáciles de entender.
Más compatibles.
Operaciones más complejas.
Necesidad de un Traductor que pase de
lenguaje de alto nivel a código máquinas:
• Compilador: Se hace la conversión una vez de forma
completa
• Intérprete: Se hace la conversión cada vez que se
llama, sentencia a sentencia.
Lenguajes de alto nivel (2)
Ejemplos: Java (Interpretado), C
(Compilado), C++(Compilado), C#
(Interpretado), Pascal(Compilado), PHP
(Interpretado), Perl (Interpretado) ,
JavaScript (Interpretado), Basic
(Interpretado), Cobol(compilado),
Fortran(Compilado)
Entornos de programación
Editor de texto
Compilador/traductor
Depurador
Sistemas de ayuda
Herramientas varias (generación de
documentación, generación de
interfaces de usuario, etc.)
Almacenamiento de datos
El usuario decide como guardar sus
datos
Archivo o fichero es la unidad elemental
de almacenamiento.
Carpetas o directorios son agrupaciones
de archivos y/o carpetas.
Almacenamiento de datos (2)
Ordenar datos en
registros y, dentro,
por campos
Por ejemplo, cada registro es un alumno y
dentro de cada campo guardamos datos de
ese alumno: nombre, apellidos, teléfono,
foto, etc.
Hacer un programa para añadir, borrar,
modificar alumnos o sacar listados.
Importancia de la Bases de
Datos
Datos de universidad, matrículas,
asignaturas matriculadas, asignaturas
impartidas, profesores, cursos,
nóminas… ¿Hacer más programas?.
Utilización de programas para gestión de
Bases de Datos: facilitan la
construcción, almacenamiento, gestión y
utilización de las BD.
Importancia de la Bases de
Datos (2)
Almacenamiento de la información usando
tablas (ficheros), compuestas por tuplas
(registros) y éstas compuestas por
atributos (campos). Relaciones como
tablas.
Consultas: Permiten recuperar la
información fácilmente.
Formularios: Permiten gestionar fácilmente
los datos.
Informes.
Principios de Sistemas
Operativos
Conjunto de programas con los
siguientes objetivos principales:
Facilitar al usuario y aplicaciones el uso
del hardware
Gestionar los recursos eficientemente
entre usuarios y programas
Tareas del Sistema Operativo (1)
Uso del procesador: todo programa
necesita pasar por la CPU para
funcionar.
Gestión de memoria principal: Repartir
los programas en memoria principal.
Gestión de los dispositivos de
almacenamiento masivo (sistema de
ficheros)
Tareas del Sistema Operativo (2)
Control y comunicación con los periféricos.
Necesidad de Controladores (drivers).
Protección de los recursos: (memoria,
CPU, sistema de ficheros, acceso a los
periféricos, etc.)
Interfaz de usuario: Uso fácil, transp
Comentarios de: TEMA 2: Soporte lógico de los ordenadores (0)
No hay comentarios