Subido por Jaime Rios

ESCTRUCTURA DEL COMPUTADOR

Anuncio
ESTRUCTURA DE UN COMPUTADOR
EVOLUCIÓN DE LAS COMPUTADORAS
La historia conocida de los artefactos que calculan o computan, se
remonta a muchos años antes de Jesucristo.
El Ábaco
Usa cosas para contar, ya sea los dedos, piedras, conchas,
semillas. El otro es colocar esos objetos en posiciones
determinadas. Sirve hasta el día de hoy, para realizar
complejos cálculos aritméticos.
EVOLUCIÓN DE LAS COMPUTADORAS
La Pascalina
La primera máquina de calcular mecánica, un precursor del
ordenador digital, fue inventada en 1642 por el matemático
francés Blaise Pascal. Utilizaba una serie de ruedas de diez dientes
que representaba un dígito del 0 al 9.
Las ruedas estaban conectadas de tal manera que podían
sumarse números haciéndolas avanzar el número de dientes
correcto.
EVOLUCIÓN DE LAS COMPUTADORAS
La máquina analítica
Elaborada en el siglo XIX el británico Charles Babbage.
Tenía las características de un ordenador moderno. Incluía un
flujo de entrada en forma de paquete de tarjetas perforadas,
una memoria, un procesador y una impresora.
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Primeros Ordenadores
Los ordenadores analógicos comenzaron a construirse a
principios del siglo XX. Los primeros modelos realizaban los
cálculos mediante ejes y engranajes giratorios.
Ordenadores electrónicos
1944 aparece la primera computadora, al modo actual, que
se pone en funcionamiento. El Dr. Howard Aiken, la presenta
con el nombre de Mark I.
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Primera Generación (1958)
Sistemas constituidos por tubos de vacío, desprendían bastante
calor y tenían una vida relativamente corta.
Máquinas grandes y pesadas. Alto consumo de energía.
Almacenamiento de la información en tambor magnético
interior.
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Segunda Generación (1959-1964)
Transistor como componente principal. Disminución del tamaño.
Disminución del consumo de energía y de la producción del
calor.
Mayor rapidez (ms.)
Instrumentos de almacenamiento: cintas y discos.
Mejoran los dispositivos de entrada y salida. Aumenta la
confiabilidad.
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Tercera Generación (chips)(1964-1971)
Circuito integrado. Menor consumo de energía.
Reducción de espacio. Aumento de fiabilidad y flexibilidad.
Mayor capacidad de almacenamiento. Rapidez en la respuesta.
Generalización de lenguajes de programación de alto nivel.
Compatibilidad para compartir software entre diversos equipos
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Cuarta Generación (1971-1982)
Se minimizan los circuitos, aumenta la capacidad de
almacenamiento.
El microprocesador: controla las funciones del ordenador.
Memorias Electrónicas: resultan más rápidas.
Sistema de tratamiento de base de datos
Reducen el tiempo de respuesta. Aparece el Multiproceso.
Gran expansión del uso de las Computadoras.
GENERACIÓN DE LAS COMPUTADORAS (ORDENADORES)
Generación posterior y la Inteligencia Artificial (1982)
 Mayor velocidad y Mayor miniaturización de los elementos.
 Aumenta la capacidad de memoria.
 Lenguajes de programación: PROGOL (Programming Logic)
y LISP (List Processing).
 Máquinas activadas por la voz.
 Características de procesamiento similares a las secuencias
de procesamiento Humano.
 Multiprocesador (Procesadores interconectados).
ARQUITECTURA DE COMPUTADORAS
ARQUITECTURA DE COMPUTADORAS
La Arquitecturas de Computadores es parte de los
Sistemas Digitales y constituye el fundamento de los
llamados Sistemas de Computación.
Los computadores constituyen sin duda el área de
mayor dinamismo e innovación con un crecimiento
espectacular desde su introducción alrededor del año
1940.
Los computadores han cambiado la sociedad y lo
seguirán haciendo.
ARQUITECTURA DE COMPUTADORAS
¿Por que estudiar Arquitecturas?
Conocer la arquitectura de un sistema permite construir
Software de mayor desempeño.
Ubicuidad de los procesadores: electrodomésticos, PDA
(Asistente digital personal u ordenador de bolsillo), celulares
etc...
Desarrollo de sistemas embebidos.
Desarrollo de procesadores propios.
ARQUITECTURA DE COMPUTADORAS
La arquitectura esta determinada por los atributos de un
sistema que son visibles para un programador.
Por ejemplo...
Conjunto de instrucciones.
Nº de Bits utilizados.
Mecanismos E/S.
Direccionamiento de memoria.
etc..
Evolución tecnológica
Los Procesadores han aumentado su velocidad a tasas
increíbles, debido principalmente a la disminución del tamaño
de sus componentes.
Aumento del tamaño y velocidad de las memorias; y la
velocidad del sistema E/S.
El desempeño relativo por unidad de costo tiene un
crecimiento explosivo.
EVOLUCIÓN TECNOLÓGICA
Ley de Moore: “El desarrollo de las tecnologías de fabricación permite que
el numero de transistores integrados en los microprocesadores se
duplique cada 18 meses.”
LEY DE MOORE:
ORGANIZACIÓN
La organización tiene referencia a las unidades
funcionales y sus interconexiones. No tiene un
impacto para un programador, por lo que cambios
en ella son transparentes al momento de la
implementación. Sin embargo es necesario tenerla en
cuenta.
Por ejemplo...
Detalles de HW internos.
Señales de control
Tecnología de memoria utilizada.
ARQUITECTURA Y ORGANIZACIÓN
Aspectos que intervienen en la arquitectura de
un sistema:
Tecnología.
Aplicaciones.
Sistemas Operativos.
Lenguajes de Programación
PROCESADORES
 Los procesadores sufren un incremento
anual de su frecuencia cercano al 20 %.
 La capacidad lógica de los procesadores
tiene un incremento de un 30 % anual.
MEMORIA RAM
 Las memorias de acceso aleatorio (RAM) han ido
aumentando en capacidad, llegando a un 60%
por año.
 No así su velocidad de acceso la que solo alcanza
un crecimiento de un 10 % anual.
ALMACENAMIENTO
Los discos duros tienen un crecimiento anual
cercano al 60 %.
La información que se genera en todo el mundo
aumenta a un ritmo de un 30 % anual.
REPRESENTACIÓN DE LA INFORMACIÓN
Introducción
En el mundo que vivimos estamos rodeados
de información, se dice la llamada “Sociedad
de la información”.
Pero, ¿Que es la información?
Definición de Información
Datos: Representación simbólica de un
atributo o característica. Un dato por si solo
no dice nada.
Información: Conjunto de datos procesados
que nos permiten realizar operaciones o
tomar decisiones.
Información analógica e Información Digital
Comúnmente la información es procesada de 2
maneras: analógica y digitalmente.
¿Cual es la diferencia entre información digital e
información analógica?
La representación de la información esta dada por
señales.
por lo que existen señales analógicas y señales
digitales.
Información analógica e Información Digital
Una señal se puede considerar
como una función en el tiempo
g(t). Una función g (t) continua en
el tiempo se dice que es una
señal analógica.
Por su parte, una señal digital es
una función discreta (niveles).
Información analógica e Información Digital
Señales Analógicas:
Audio.
Instrumentos con agujas.
Señales Digitales:
TTL. (tecnología de construcción de circuitos
electrónicos digitales)
instrumentos con indicadores numéricos.
En la naturaleza todo es analógico, ya que físicamente
todo es continuo. Los computadores realizan sus
operaciones sobre información digital.
Es posible convertir la información analógica en
información digital y viceversa (ADC y DAC).
Información analógica e Información Digital
¿Es mejor la información digital?
Se evitan errores debidos a cambios físicos, como
la temperatura, humedad, etc.
Se evitan los errores acumulativos.
Representación Numérica
Representación Numérica
Existen diversas representaciones numéricas.
Sin duda, las mas fáciles y cómodas de utilizar
para fines matemáticos, son las que se
representan mediante bases numéricas.
Las representaciones numéricas que utilizan
bases, son posicionales.
Es posible representar una misma cantidad
numérica, en diferentes bases.
Números decimales
Forma general de expresar un numero en función de su
base
k1k2k3 . . . km = k1 ∗ B m−1 + k2 ∗ B m−2 + · · · + kn-1∗ B1 + km∗ B0
donde B =base y ki =la cifra i .
Las cifras ki pueden ser dígitos entre 0 y B − 1.
Bases Numéricas
La base mas común y natural de utilizar es la base 10, la
que corresponde a los números decimales.
En esta base estamos acostumbrados a realizar todas
nuestras operaciones de calculo.
Por ejemplo...
El numero 7523810 puede ser representado de la forma general, de
la siguiente forma:
7 ∗ 104 + 5 ∗ 103 + 2 ∗ 102 + 3 ∗ 101 + 8 ∗ 100.
Números Binarios
En el mundo digital, se utilizan generalmente
representaciones que tienen solo 2 estados discretos
(0 o 1, on u off, etc...).
Para ello se utilizan los números binarios {0,1} cuya
base es 2.
Por ejemplo...
Si se tiene 10011102 corresponde a:
1 ∗ 26 + 0 ∗ 25 + 0 ∗ 24 + 1 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 = 781
Bases Numéricas
En la computación son muy útiles además las
bases octal(8) y hexadecimal(16).
La utilidad de estas bases, se debe a que pueden
representar información binaria de manera
compacta (8 y 16 bits).
Conversión de Bases Numéricas
Para la conversión desde la base decimal, a otra base, se
realizan divisiones sucesivas de los cocientes, por la base a
la cual se transformara. Rescatando en cada paso los
restos de las divisiones.
Por ejemplo...
Convertir 23410 a la base octal.
234
29
3
0
8
2
5
3
→23410 = 3528
Conversión de Bases Numéricas
Esta idea se puede extender además para números
fraccionarios.
En este caso es necesario tratar la parte entera y la parte
decimal, por separado.
Por ejemplo...
Convertir 23,437510 a la base binaria.
23
11
5
2
1
0
2
1
1
1
0
1
0,4375
0,875
1,750
1,500
1,000
2
2
2
2
2
→23,437510 = 10111,01112
CONVERSIÓN DE BASES NUMÉRICAS
Para realizar una conversión desde cualquier base a la
base
decimal, es necesario aplicar la formula general propuesta
anteriormente:
Por ejemplo...
Convertir 724,348 a la base decimal.
7 ∗ 82 + 2 ∗ 81 + 4 ∗ 80 + 3 ∗ 8−1 + 4 ∗ 8−2 = 468,4375
ARITMÉTICA DE LOS COMPUTADORES
Los computadores tienen como unidad de almacenamiento,
solo la capacidad de distinguir entre 2 estados (on u off, 0 o 1,
etc..).
Los computadores pueden realizar operaciones aritméticas,
por lo que requieren de algún dispositivo de HW para
almacenar los números que se estén operando.
Estos dispositivos se denominan registros.
los registros tienen un ancho en bits, definido por la
arquitectura. Actualmente los procesadores utilizan registros
de 32 o 64 bits.
EL REGISTRO
Un registro se representa por un conjunto de bits
(generalmente 8, 16, 32 o 64).
un ejemplo de un registro de 16 bits esta dado por:
1100101100011011
Por convención, los grupos de 8 bits (b) se denominan bytes
(B).
EL REGISTRO
Podemos darnos cuenta, que si un numero debe ser
almacenado en un registro, entonces el tamaño máximo de
este numero esta limitado por el ancho del registro.
Con solo 16 bits el numero mas grande representable por un
registro es 216 − 1 = 65535.
Sin embargo, ¿Cuando hemos utilizado nuestros
computadores normales (de 32 bits), hemos podido trabajar
con números mayores a 232 − 1?
ARITMÉTICA DE LOS COMPUTADORES
Sin duda, al hablar de operaciones aritméticas se requiere
además que el computador sea capaz de trabajar con
números negativos y con números decimales.
¿Como se representa un numero negativo en un registro?
Existen diferentes formas de representar un numero negativo,
pero por convención el bit mas significativo del registro
representa el signo.
Numero positivo.
0100101100011011
Numero negativo.
1100101100011011
Números negativos
Hay 3 formas de representar números
negativos:
Signo y Magnitud (S-M).
Complemento 1 (C-1).
Complemento 2 (C-2).
En estas 3 representaciones, los números
positivos quedan de la misma forma.
SIGNO Y MAGNITUD
La idea de esta representación, es reservar el bit mas
significativo del registro, para el signo y en el resto de los
bits se almacena la magnitud.
En un registro de 16 bits, solo se utilizan 15 bits para la
magnitud, es decir, el rango representable en 16 bits es:
-32767 a 32767.
Ejemplo:
para representar el numero −1310 en un registro de 6 bits.
1
0
1
1
0
1
COMPLEMENTO 1
La idea de esta representación es básicamente tomar un
numero positivo y luego complementar cada bit del
registro para transformarlo en negativo.
este mecanismo es bastante sencillo y rápido de realizar.
Ejemplo:
para representar el numero −1310 en un registro de 6 bits.
Primero se considera 1310
0
0
1
1
0
1
Luego se complementa cada bit
1
1
0
0
1
0
COMPLEMENTO 2
Calcular primero el C-1 y luego sumar 1.
De esta forma, su calculo es bastante rápido y sencillo,
por lo que es muy fácil de implementar por Hardware.
Ejemplo:
para representar el numero −1310 en un registro de 6 bits.
0
0
1
1
0
1
13
1
1
0
0
1
0
13 en C-1
0
0
0
0
0
1
Se suma 1
1
1
0
0
1
1
-1310 en C-2
CÓDIGOS
Por código se entiende una relación capaz de
llevar un conjunto de símbolos de un espacio
(dominio), a otro espacio diferente (condominio).
CÓDIGO BCD
Por ejemplo para representar el numero 57310 se
puede convertir a binario,
resultando 57310 = 10001111012
Esta conversión resulta un poco larga, si pensamos
que se debe realizar por cada numero que
queremos representar.
Además, se debe tener conocimiento completo del
numero, para poder realizar la conversión
CÓDIGO BCD
El código BCD establece una relación que permite
convertir rápida y fácilmente los números decimales
en binarios.
Decimal
0
1
2
3
4
BCD
0000
0001
0010
0011
0100
Decimal
5
6
7
8
9
BCD
0101
0110
0111
1000
1001
CÓDIGO BCD
Convertir 438510 a un numero en BCD:
4
3
8
5
0100
0011
1000
0101
4385 --> 0100 0011 1000 0101
CÓDIGO BCD
Existen otros códigos, como por ejemplo el EBCDIC.
Por ejemplo el código ASCII (American Standard
Code of Information).
CÓDIGO GRAY
El código Gray tiene propiedades muy particulares,
porque es altamente utilizado.
Esta definido de la siguiente forma:
El código Gray de 1 bit, esta dado por {0, 1}.
El código se puede construir para k + 1 bits, dado el
código de k bits.
Para ello se hace una lista con el código Gray
conocido y se le anteponen 0’s. Luego se sigue la
lista con el código en orden inverso, y antepuesto
por 1’s.
CÓDIGO GRAY
Construcción del Código Gray
0
1
0
0
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0 0
0 1
1 1
1 0
1 0
1 1
0 1
0 0
CÓDIGO GRAY: Ejemplo de un código Gray de 3 dígitos
i
0
1
2
3
4
5
6
7
G(i)
0 00
0 0 1
0 1 1
0 1 0
1 1 0
1 1 1
1 0 1
1 0 0
Descargar