Você está na página 1de 54

SEMANA 1

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 8
29 2
3 5 →23410 = 3528
0 3
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 2 0,4375 2
11 1 0,875 2
5 1 1,750 2 →23,437510 = 10111,01112
2 1 1,500 2
1 0 1,000 2
0 1
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 relacion capaz de
llevar un conjunto de símbolos de un espacio
(dominio), a otro espacio diferente (codominio).
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 BCD Decimal BCD
0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 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
0 0 0
Construcción del Código Gray
0 0 1
0 0 0 1 1
0 0 1 0 1 0
1 1 1 1 1 0
1 1 1
1 0 1 0 1
1 0 0
i G(i)
0 0 0 0
Código Gray:
Ejemplo de un código 1 0 0 1
Gray de 3 dígitos
2 0 1 1
3 0 1 0
4 1 1 0
5 1 1 1
6 1 0 1
7 1 0 0

Você também pode gostar