Download actividad 2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
ACTIVIDAD II
ARQUITECTURA DE COMPUTADORES
SANTOS MAURICIO LONDOÑO
CODIGO: 1.121.829.886
Trabajo presentado al Ing.
HAIMER GUTIERREZ
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
FACULTAD DE CIENCIAS BASICAS E INGENIERIAS
INGENIERIAS DE SISTEMAS, QUINTO SEMESTRE
ACACIAS 2007
ACTIVIDAD II
ARQUITECTURA DE COMPUTADORES
Trabajo presentado al Ing.
HAIMER GUTIERREZ
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
FACULTAD DE CIENCIAS BASICAS E INGENIERIAS
INGENIERIAS DE SISTEMAS, QUINTO SEMESTRE
ACACIAS 2007
ACTIVIDAD 2
TRABAJO GRUPAL
1. DEFINA QUE ES UN COMPUTADOR Y CUALES
PRINCIPALES FUNCIONES QUE DEBE REALIZAR
SON
LAS
Rta: Un ordenador es una máquina capaz de procesar información y realizar
cálculos complejos. Los primeros ordenadores requerían grandes conocimientos
de informática, mientras que ahora basta con presionar un botón para imprimir un
texto, lanzar un juego, abrir un fichero...
En un principio los ordenadores no disponían de pantalla o monitor. Los resultados
de los cálculos aparecían impresos en papel; hoy las posibilidades son muy
variadas: monitores, impresoras, altavoces, línea telefónica...
Los primeros ordenadores solo servían para realizar cálculos matemáticos, pero
en la actualidad se usan con fines muy variados. En cualquier caso, el esquema
de funcionamiento de un ordenador siempre es el mismo:
A. Primero hay que introducir datos en el ordenador: se puede hacer a mano,
mediante el teclado, o introduciéndolos desde algún soporte, como un disquete o
un CD-ROM.
B. A continuación, el ordenador procesa los datos.
C. Por último, el ordenador nos proporciona los resultados. Existen diferentes
opciones para mostrar los resultados: de forma visual, en la pantalla o impresa
sobre papel por medio de una impresora, o bien información grabada en algún
soporte (disco duro, disquete, CD-RW...).
2. QUE ES LA UNIDAD DE CONTROL Y CUALES SON SUS PRINCIPALES
FUNCIONES
UNIDAD DE CONTROL
Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan
todas las operaciones. Cómo funciones básicas tiene:



tomar las instrucciones de memoria
decodificar o interpretar las instrucciones
ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes
a la propia CPU) y de tipo externo (inherentes a los periféricos)
Para realizar su función, la unidad de control consta de los siguientes elementos:





Contador de programa
Registro de instrucciones
Decodificador
Reloj
Secuenciador
Instrucciones de control. Son instrucciones especiales o de control que actúan
sobre el propio microprocesador. Permiten acceder a diversas funciones, como
por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador
matemático, detener la actividad del microprocesador hasta que se produzca una
interrupción, etc.
3. QUE SON LAS INSTRUCCIONES MÁQUINA
Cómo funcionan las computadoras
aunque las tecnologías empleadas en las computadoras digitales han cambiado
mucho desde que aparecieron los primeros computadores en los años 40, la
mayoría todavía utilizan la arquitectura von Neumann, propuesta a principios de
los años 1940 por John von Neumann.
La arquitectura von Neumann describe un computador con 4 secciones
principales: la unidad lógica y aritmética (ALU), la unidad de control, la memoria, y
los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por
un conjunto de cables denominados buses.
En este sistema, la memoria es una secuencia de celdas de almacenamiento
numeradas, donde cada una es un bit o unidad de información. La instrucción es
la información necesaria para realizar lo que se desea con la computadora. Las
«celdas» contienen datos que se necesitan para llevar a cabo las instrucciones,
con la computadora. En general, la memoria puede ser rescrita varios millones de
veces; se parece más a una libreta que a una lápida.
Vista expandida de una computadora
1: Monitor
2: Placa base
3: Procesador
4: Puertos ATA
5: Memoria principal (RAM)
6: Placas de expansión
7: Fuente eléctrica
8: Unidad de almacenamiento óptico
9: Disco duro
10: Teclado
11: Ratón
Disco duro
Monitor
El tamaño de cada celda y el número de celdas varía mucho de computadora a
computadora, y las tecnologías empleadas para la memoria han cambiado
bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los
que se formaban los pulsos acústicos, matrices de imanes permanentes,
transistores individuales a circuitos integrados con millones de celdas en un solo
chip.
Con los circuitos electrónicos se simula las operaciones lógicas y aritméticas, se
pueden diseñar circuitos para que realicen cualquier forma de operación.
La unidad lógica y aritmética, o ALU, es el dispositivo diseñado y construido para
llevar a cabo las operaciones elementales como las operaciones aritméticas
(suma, resta), operaciones lógicas (Y, O, NO), y operaciones de comparación. En
esta unidad es en donde se hace todo el trabajo computacional.
La unidad de control sigue la dirección de las posiciones en memoria que
contienen la instrucción que la computadora va a realizar en ese momento;
recupera la información poniéndola en la ALU para la operación que debe
desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria.
Una vez que ocurre lo anterior, la unidad de control va a la siguiente instrucción
(normalmente situada en la siguiente posición, a menos que la instrucción sea una
instrucción de salto, informando a la computadora de que la próxima instrucción
estará ubicada en otra posición de la memoria).
Los dispositivos E/S sirven a la computadora para, obtener información del mundo
exterior y devolver los resultados de dicha información. Hay una gama muy
extensa de dispositivos E/S como los teclados, monitores y unidades de disco
flexible o las cámaras web.
Las instrucciones que acabamos de discutir, no son las ricas instrucciones del ser
humano. Una computadora sólo se diseña con un número limitado de
instrucciones bien definidas. Los tipos de instrucciones típicas realizadas por la
mayoría de las computadoras son como estos ejemplos: "...copia los contenidos
de la posición de memoria 123, y coloca la copia en la posición 456, añade los
contenidos de la posición 666 a la 042, y coloca el resultado en la posición 013, y,
si los contenidos de la posición 999 son 0, tu próxima instrucción está en la
posición 345...".
Las instrucciones dentro de la computadora se representan mediante números.
Por ejemplo, el código para copiar puede ser 001. El conjunto de instrucciones que
puede realizar una computadora se conoce como lenguaje de máquina o código
máquina. En la práctica, no se escriben las instrucciones para las computadoras
directamente en lenguaje de máquina, sino que se usa un lenguaje de
programación de alto nivel que se traduce después al lenguaje de la máquina
automáticamente, a través de programas especiales de traducción (intérpretes y
compiladores). Algunos lenguajes de programación representan de manera muy
directa el lenguaje de máquina, como los ensambladores (lenguajes de bajo nivel)
y, por otra parte, los lenguajes como Java, se basan en principios abstractos muy
alejados de los que hace la máquina en concreto (lenguajes de alto nivel).
Las computadoras actuales colocan la ALU y la unidad de control dentro de un
único circuito integrado conocido como Unidad central de procesamiento o CPU.
Normalmente, la memoria de la computadora se sitúa en unos pocos circuitos
integrados pequeños cerca de la CPU. La gran mayoría de la masa de la
computadora está formada por sistemas auxiliares (por ejemplo, para traer
electricidad) o dispositivos E/S.
Algunas computadoras más grandes se diferencian del modelo anterior, en un
aspecto importante, porque tienen varias CPU y unidades de control que trabajan
al mismo tiempo. Además, algunas computadoras, usadas principalmente para la
investigación, son muy diferentes del modelo anterior, pero no tienen muchas
aplicaciones comerciales.
Por lo tanto, el funcionamiento de una computadora es en principio bastante
sencillo. La computadora trae las instrucciones y los datos de la memoria. Se
ejecutan las instrucciones, se almacenan los datos y se va a por la siguiente
instrucción. Este procedimiento se repite continuamente, hasta que se apaga la
computadora. Los Programas de computadora (software) son simplemente largas
listas de instrucciones que debe ejecutar la computadora, a veces con tablas de
datos. Muchos programas de computadora contienen millones de instrucciones, y
muchas de esas instrucciones se ejecutan rápidamente. Una computadora
personal moderna (en el año 2003) puede ejecutar de 2000 a 3000 millones de
instrucciones por segundo. Las capacidades extraordinarias que tienen las
computadoras no se deben a su habilidad para ejecutar instrucciones complejas.
Las computadoras ejecutan millones de instrucciones simples diseñadas por
personas inteligentes llamados programadores. Los buenos programadores
desarrollan grupos de instrucciones para hacer tareas comunes (por ejemplo,
dibujar un punto en la pantalla) y luego ponen dichos grupos de instrucciones a
disposición de otros programadores.
En la actualidad, podemos tener la impresión de que las computadoras están
ejecutando varios programas al mismo tiempo. Esto se conoce como multitarea,
siendo más usado el segundo término. En realidad, la CPU ejecuta instrucciones
de un programa y después tras un breve periodo de tiempo, cambian a un
segundo programa y ejecuta algunas de sus instrucciones. Esto crea la ilusión de
que se están ejecutando varios programas simultáneamente, repartiendo el tiempo
de la CPU entre los programas. Esto es similar a la película que está formada por
una sucesión rápida de fotogramas. El sistema operativo es el programa que
controla el reparto del tiempo generalmente.
El sistema operativo es una especie de caja de herramientas lleno de rutinas.
Cada vez que alguna rutina de computadora se usa en muchos tipos diferentes de
programas durante muchos años, los programadores llevarán dicha rutina al
sistema operativo, al final.
El sistema operativo sirve para decidir, por ejemplo, qué programas se ejecutan, y
cuándo, y qué fuentes (memoria o dispositivos E/S) se utilizan. El sistema
operativo tiene otras funciones que ofrecer a otros programas, como los códigos
que sirven a los programadores, escribir programas para una máquina sin
necesidad de conocer los detalles internos de todos los dispositivos electrónicos
conectados.
En la actualidad se están empezando a incluir dentro del sistema operativo
algunos programas muy usados debido a que es una manera económica de
distribuirlos. No es extraño que un sistema operativo incluya navegadores de
internet, procesadores de texto, programas de correo electrónico, interfaces de
red, reproductores de películas y otros programas que antes se tenían que
conseguir aparte.
4. CUALES SON LAS CONDICIONES QUE UN JUEGO
INSTRUCCIONES DE UN COMPUTADOR DEBE CUMPLIR
DE
El computador responde a una estructura mecánica capaz de desarrollar
actividades que, de hacerlas el hombre, demandarían el uso de capacidades
intelectuales. La idea de computador como Cerebro Electrónico es adecuada si se
entiende como un mecanismo que debe ser programado para cada tarea que se
quiere realizar.
Una computadora no debe considerarse como una máquina capaz de realizar
únicamente operaciones aritméticas, aunque éste fue su primera aplicación real,
es capaz de realizar trabajos con símbolos, números, textos, imágenes, sonidos y
otros, describiendo así el concepto de multimedia.
La gran velocidad de operación es la más brillante característica de la
computadora. La velocidad de un computador se mide, en nuestros días, en
nanosegundos y picosegundos, equivalentes a una mil millonésima y una
billonésima parte de un segundo respectivamente.
5. EXPLICAR LOS PRINCIPALES GRUPOS DE
MÁQUINA SEGÚN LA FUNCIÓN QUE REALIZAN
INSTRUCCIONES
Funcionamiento



Para que un programa se pueda ejecutar ( RUN ) , debe ser situado en la
memoria en una operación que se llama carga ( LOAD ) del programa;
posteriormente cualquier dato a procesar por el programa se debe llevar a la
memoria mediante unas instrucciones .
La memoria central de una computadora es una zona de almacenamiento
organizada en miles de millones de unidades de almacenamiento individual (
celdas de memoria ).
La unidad elemental de memoria se llama byte y almacena un carácter de
información. 1 bits guarda, almacena 1 digito, que puede ser:
1
0 un uno (1)
un cero (0) .

Un carácter de un dato alfanumérico se almacenan en un byte. Ejemplo la
palabra subproyecto .
S U B P R O Y E C T O
Los datos numéricos pueden ocupar 2, 4 o 8 bytes consecutivos, según sea

su tipo

valor
declaración ejemplo
simple precisión
!
Área! ; presión! ; precio!
doble precisión
#
Masatomica#; energia#
entero
%
Etapas% ; correas%
entero largo
&
Un byte, tiene asociado una dirección y su contenido; permiten su acceso
para almacenarlo o recuperarlo
6. ENUMERAR LOS MODOS DE DIRECCIONAMIENTO O MODOS DE
ACCESO A LA MEMORIA EN EL MICROPROCESADOR.
Modos de direccionamiento más usuales
En los párrafos siguientes se irán describiendo los modos de direccionamiento
más frecuentes. La mayoría de estos modos son comunes a muchas máquinas,
sin embargo, hay otros que sólo se usan en determinados procesadores.
- Direccionamiento implícito
En este modo, llamado también inherente, el operando se especifica en la misma
definición de la instrucción. El modo implícito se usa para hacer referencia a
operandos de dos tipos:
- Registros: En el caso de que el código de operación se refiera en particular a un
registro.
- Operandos en la pila: En el caso de que la operación se realice siempre sobre
el dato situado en la cima de pila.
El primer caso es típico de las organizaciones de un solo acumulador.
Generalmente en un ordenador de este tipo todas las instrucciones que actúan
sobre el acumulador utilizan direccionamiento implícito.
En el segundo caso están la mayoría de las instrucciones de los ordenadores con
organización de pila. Estas operaciones llevan implícitos los operandos que son
los elementos de la cima de pila. Esto se debe a que en este tipo de máquinas la
mayoría de las operaciones no tienen campos de dirección. También están en
este caso las instrucciones PUSH y POP de la mayoría de los ordenadores cuyo
operando implícito también es, como en el caso anterior, la cima de pila.
- Direccionamiento inmediato (o literal)
En este modo es el operando el que figura en la instrucción no su dirección. En
otras palabras el campo de operando contiene él mismo, sin transformación
alguna, la información sobre la que hay que operar. Este modo es útil para
inicializar registros o palabras de memoria con un valor constante.
- Direccionamiento directo por registro
Se mencionó anteriormente que el campo de dirección de una instrucción puede
especificar una palabra de memoria o un registro M procesador. Cuando se da
este último caso se dice que el operando está especificado con direccionamiento
directo por registro, en tal caso, el operando reside en uno de los registros del
procesador que es seleccionado por un campo de registro de k bits en la
instrucción. Un campo de k bits puede especificar uno de 2k registros. Este modo
es típico de los ordenadores con organización de registros de uso general.
Las ventajas de este modo son:
- El acceso a los registros es muy rápido, por tanto el direccionamiento por registro
debe usarse en las variables que se usen con más frecuencia para evitar accesos
a memoria que son más lentos, un ejemplo muy típico del uso de este
direccionamiento son los índices de los bucles.
- El número de bits necesarios para especificar un registro es mucho más pequeño
que el necesario para especificar una dirección de memoria, esto es debido a que
el número de registros del procesador es muy pequeño comparado con el número
de direcciones de memoria. Sin embargo, hay que tener en cuenta que en los
ordenadores modernos el número de registros ha aumentado considerablemente.
- Direccionamiento directo (o absoluto)
Este es el modo de direccionamiento más sencillo. El campo de dirección no
necesita transformación alguna para dar la dirección efectiva, es decir la función
que transforma el campo de operando en la dirección efectiva es la identidad. Esto
significa que el campo de operando es ya la dirección efectiva.
Este direccionamiento sólo se usa en ordenadores pequeños en que el programa
siempre se sitúa en la misma zona de memoria ya que dificulta la relocalización de
los programas, es decir que el código de los programas no dependa de su
situación en memoria. Ordinariamente este modo sólo se usa para acceder a
direcciones del sistema que normalmente se refieren a operaciones de entrada y
salida ya que estas direcciones no dependen del programa.
- Direccionamiento indirecto
En este modo el campo de operando de la instrucción indica la localización de la
dirección efectiva del operando. El modo de direccionamiento indirecto puede
adquirir diferentes formas según cuál sea el lugar donde se encuentre la dirección
del operando. En general, todos los modos de direccionamiento tienen su versión
indirecta que añade un eslabón más a la cadena del direccionamiento. Por
ejemplo existe el direccionamiento indirecto por registro, en el que el registro
especificado contiene la dirección del operando, no el operando mismo.
Este direccionamiento es útil cuando se trabaja con punteros ya que los punteros
son variables que contienen las direcciones de los operandos, no los operandos
mismos.
- Direccionamiento relativo
Hay algunos modos de direccionamiento en que se hace uso de una propiedad
muy generalizada de los programas denominada localidad de referencia, esta
propiedad consiste en que las direcciones referenciadas por los programas no
suelen alejarse mucho unas de otras y, por tanto, suelen estar concentradas en
una parte de la memoria. Estas consideraciones nos llevan a la conclusión de que
no es necesario utilizar todos los bits de la dirección de memoria en el campo de
operando, basta utilizar los bits precisos para cubrir la parte de memoria donde
estén incluidas las direcciones a las que el programa hace referencia. Esto puede
hacerse tomando corno referencia un punto de la memoria y tomando como
campo de operando la diferencia entre ese punto y la dirección efectiva del
operando. La dirección que se toma como punto de referencia puede residir en un
registro de la CPU y, por tanto, sumando el contenido de ese registro con el
campo de operando obtendremos la dirección efectiva. Hay varios
direccionamientos basados en esta técnica que reciben diferentes nombres
dependiendo de cuál sea el registro en el que radica la dirección tomada como
referencia. Todos ellos podrían catalogarse como direccionamientos relativos a un
registro.
El direccionamiento denominado habitualmente relativo toma como valor de
referencia el registro contador de programa. Cuando se usa este modo de
direccionamiento, el campo de operando consiste en un número (normalmente con
signo) que expresa la diferencia entre la dirección del dato y la dirección siguiente
a la instrucción en curso (contenida en el contador de programa). Si el campo de
operando, llamado en este caso desplazamiento u offset, es positivo el operando
residirá en una dirección posterior a la de la instrucción y si es negativo, en una
dirección anterior.
Este modo de direccionamiento es usado muy frecuentemente en programas cuyo
código deba ser independiente de la posición de memoria donde estén situados
(programas relocalizables) ya que el desplazamiento es independiente de la
localización del programa. También se usa con mucha frecuencia en instrucciones
de bifurcación.
- Direccionamiento por base y desplazamiento
Este modo de direccionamiento se fundamenta en la propiedad de localidad de
referencia mencionada anteriormente. La dirección que se toma como referencia
de la zona de memoria en la que están localizados los datos se deposita en un
registro denominado registro base y el campo de operando indica la diferencia
entre el registro base y la dirección M operando. Normalmente se toma como
referencia (registro base) la dirección de comienzo de la zona de memoria
ocupada por un programa. Por tanto, la dirección efectiva del operando se
calculará sumando el contenido del registro base con el campo de operando.
Este modo de direccionamiento se usa en ordenadores que pueden mantener en
memoria varios programas ya que, de esta forma, los diferentes registros base
pueden contener las direcciones de comienzo de cada uno de los programas. Esto
es muy útil porque facilita la relocalización de los programas para situar el
programa en una zona de memoria diferente bastará con cambiar el contenido de
su registro base, no será necesario cambiar ninguno de los campos de operando.
- Direccionamiento indexado
En este modo de direccionamiento, la dirección del operando también se calcula
sumando un registro de la CPU al campo de operando, este registro es un registro
específico para este uso llamado registro índice. En los ordenadores con
organización de registros generales, el registro índice puede ser cualquiera de los
registros de la CPU. En los ordenadores en que el contador de programa es
considerado como un registro de uso general (PDP 11 y VAX) el modo relativo es
un caso particular del direccionamiento indexado. A la cantidad que hay que
sumar al registro índice para conseguir la dirección del operando también se le
llama desplazamiento u offset. Este modo de direccionamiento es especialmente
útil para el direccionamiento de vectores y matrices en bucles ya que, si se quieren
direccionar elementos consecutivos del vector o matriz, basta mantener en el
desplazamiento la dirección del primer elemento e ir incrementando el registro
índice. También sirve para acceder de forma relativa a elementos de vectores
cercanos a uno dado, para ello, se carga la dirección del elemento de referencia
en el registro índice y después se accede mediante direccionamiento indexado,
con el desplazamiento adecuado, al anterior, al siguiente, etc., esto mismo
también es aplicable a pilas, en que, en ocasiones, hay que acceder a datos
cercanos, por encima o por debajo, al dato señalado por algún apuntador. Una
consecuencia de todo esto es una modalidad de direccionamiento indexado de
que disponen algunos ordenadores, denominada autoindexación, que hace que el
registro índice sea incrementado o decrementado en el tamaño del operando
antes o después de acceder al mismo. Los ordenadores que poseen
autoindexación incorporan los modos de direccionamiento descritos en los dos
apartados siguientes. En algunos ordenadores existen variantes del
direccionamiento indexado en que se obtiene la dirección del operando sumando
el contenido de varios registros con el desplazamiento, esto puede servir para
especificar el comienzo de un vector mediante un desplazamiento respecto a un
registro y el elemento del vector mediante un registro índice.
- Direccionamiento autoincremental o postincremental
En este modo, la dirección del operando se encuentra en un registro y éste es
incrementado, después de acceder al operando, en el tamaño del mismo.
Este modo es útil para manejar vectores y matrices como se veía en el apartado
anterior. También se puede utilizar para extraer datos de pilas (que crezcan hacia
direcciones bajas) ya que, si el registro sobre el que se aplica este modo es el
apuntador de pila, después de la operación el apuntador señalará al siguiente
elemento de la pila.
- Direccionamiento autodecremental o predecremental
En este modo para obtener la dirección del operando hay que decrementar un
registro en el tamaño del operando; el nuevo contenido del registro después de
efectuar esa operación, es la dirección del operando.
Para finalizar, veamos un resumen de las utilidades de los modos de
direccionamiento usados con más frecuencia.
7. CUALES SON LAS FASES QUE COMPONE UNA INSTRUCCIÓN
Se compone de dos fases:


Fase de búsqueda
Fase de ejecución
.Fase de búsqueda. En esta fase se transfiere la instrucción que se va a ejecutar
desde la memoria central a la unidad de control.
.Fase de ejecución. Consiste en la realización de todas las acciones que conlleva
la propia instrucción.
Una forma de clasificar los microprocesadores es en función de las instrucciones
que son capaces de ejecutar. Podemos encontrar dos tipos: microprocesadores:
con tecnología CISC y RISC.
CISC Complex Instructions Set Computer, Ordenador con un conjunto de
instrucciones complejo.
RISC Reduced Instructions Set Computer, Ordenador con un conjunto de
instrucciones reducido.
8. REALIZAR UN CUADRO COMPARATIVO DE LAS DIFERENCIAS
ENTRE UNA SUBRUTINA Y LAS EXCEPCIONES EN LAS
INSTRUCCIONES MAQUINA
CUADRO COMPARATIVO
LAS EXCEPCIONES EN LAS
SUBRUTINA
INSTRUCCIONES MAQUINA
Son el mecanismo estándar para informar
de errores. Las aplicaciones y bibliotecas no
deberían utilizar códigos de devolución para
comunicar
los
errores.
El
uso
de
excepciones contribuye al diseño de un
marco de trabajo coherente y permite la
transmisión de información sobre errores
desde miembros, como los constructores,
que no pueden tener un tipo de valor
devuelto. Las excepciones también permiten
a los programas controlar el error o
cerrarse,
según
corresponda.
El
comportamiento
predeterminado
es
finalizar una aplicación si no controla la
excepción iniciada. Para obtener una
discusión detallada de las excepciones.
Una subrutina o subprograma, como idea
general, se presenta como un algoritmo
separado del algoritmo principal, el cual
permite resolver una tarea específica. Un
ejemplo
sería:
Programa
principal
instrucción 1 instrucción 2 ... instrucción N
... Subrutina NombreX ....... fin subrutinaX
9. REALIZAR UN CUADRO SINÓPTICO DE LA EVOLUCIÓN DE LOS
PROCESADORES INTEL HASTA NUESTROS DÍAS
8088
El procesador
del
que
hablamos
fue
desarrollado
entre 1.979 y
Agosto
de
1981.
Era una versión
mejorada
del
microprocesado
r 8086 de Intel
de 16bit pero
con un bus de
8bit
(en
contraste con el
de 16bit del
8087
El 8087 fue el primer
co-procesador de Intel
(el primero de la serie
87)
diseñado
para
funcionar en paralelo
de los procesadores
8088 y 8086.
Estaba principalmente
pensado para realizar
operaciones
matemáticas en las que
se necesita operar con
la notación de punto
flotante.
80286
Este
microprocesador
apareció en febrero de
1982, disponía de 134000
transistores
CMOS(transistores
de
efecto campo), el tamaño
de sus conexiones era de
1.5 micras de metro, con
una velocidad de reloj de
10Mhz y un tamaño de
pastilla de 68.7 mm
cuadrados.
Este microprocesador de
16 bits con capacidad de
direccionamiento de 16
Mbytes en contraste con 1
Mbyte del 8086, incluía en
su pastilla el micro del
8086 y el del 80286, para
solucionar problemas de
compatibilidad
de
programas,
que
comenzaron
a
surgir
80386
El procesador de
Intel
80386
aparece en el año
1985 y supone la
subida
de
un
nuevo peldaño en
el
avance
tecnológico
del
mundo
de
los
microprocesadore
s.
Como
novedad
respecto
a
su
predecesor,
se
amplían los buses
de
datos,
el
número de líneas
de las direcciones
y el tamaño de los
registros a 32bits.
Esta
ampliación
supone
un
80486
Los Intel 80486 son
una
familia
de
microprocesadores de
32
bits
con
arquitectura
x86
diseñados por Intel en
1989.
Los 80486 son muy
similares
a
sus
predecesores,
diferenciándose
sobretodo a la del
80386
en
que
incorpora
el
coprocesador
matemático
80387
(permite trabajar en
coma flotante y un
caché integrado en el
propio
circuito
integrado
del
microprocesador de 8
Kbytes
lo
que
Pentium
La quinta generación de
microprocesadores Intel
tomó el nombre de
Pentium. Aparecido en
marzo de 1993 en
frecuencias de trabajo
de 60 y 66 MHz llega a
ser cinco veces más
potente que un 80486 a
33 MHz. Posteriormente
aparecieron
procesadores de esta
primera generación de
Pentium a 75, 90, 100 y
133 MHz en la versión
Pentium Pro (1995) que
llego a los 200 MHz.
Fabricados
con
un
proceso BiCMOS de
geometría de 8 micras y
con una arquitectura
superescalar,
los
8086). Aunque
esto reducía su
eficiencia
y
velocidad al ser
mas sencillo el
diseño
con
buses
de
tamaño
reducido y por
la
compatibilidad
se convirtió en
el procesador
de los IBM PC.
El otro gran
cambio que se
produjo en el
8088
con
respecto
al
8086, fue la
reducción
del
tamaño y el
cambio de los
algoritmos de la
cola (de 6 bytes
a 4 bytes).
Las
características
técnicas
eran
las mismas que
las del 8086:
reloj inicial de
4.7Mhz, 29.000
transistores con
conexiones
entre
sí
de
3micras, y la
posibilidad de
direccionamient
o de hasta 1MB
de
memoria
(mediante
palabras
de
20bits
de
dirección).
Este
procesador
admitía
60
nuevas
instrucciones , que
empezaban con la letra
F, para diferenciarlas
de sus homólogas del
8086/88.
Los registros en este
microprocesador
no
son lineales como en
8086/88,
sino
que
están estructurados en
forma de pila de datos
(instrucciones push y
pop).
El hecho de que
convivieran el 8087 y
8086/88, hacía que se
pudieran repartir las
tareas
y
que
funcionaran al mismo
tiempo sin que uno de
ellos
tuviese
que
esperar a que el otro
acabase de ejecutar
una instrucción.
debido
a
la
rápida
evolución
de
los
ordenadores (“No todo el
mundo
cambiaba
de
ordenador cada 4 años”).
El aumento de densidad
de los componentes de la
pastilla,
no
fue
el
esperado según la Ley de
Moore:
134000transistores el 80286 por
29000 del 8086. El
tamaño
era
aproximadamente
68.7
mm cuadrados por 28.6
del 8086. Aplicando una
sencilla regla de tres,
vemos que el aumento de
densidad
fue
aproximadamente de 2.
incremento en la
memoria
RAM,
que
puede
direccionar 4Gb.
Además, incorpora
un nuevo modo de
operación:
el
modo real virtual
del 8086, lo que
permite
tener
varias
sesiones
8086
trabajando
simultáneamente.
El 80386 posee
2.750.000
transistores CMOS
y trabaja con un
reloj de 16 a
33MHz, según el
modelo.
Sus
conexiones son de
1,5µm, lo que le
confiere
un
tamaño global de
104mm2. Es decir,
mientras que el
número
de
transistores se ha
duplicado,
el
tamaño del µP ha
aumentado
tan
solo un cincuenta
por ciento.
aumentaba
la
velocidad
del
microprocesador al no
tener que acceder
continuamente
a
memoria externa.
La
diferencias
principales son que
los 486 tienen un
conjunto
de
instrucciones
(los
comandos que la cpu
debe
entender
y
ejecutar) que están
optimizadas y una
unidad de interfaz de
bus mejorada. Estas
mejoras hacen que
los 486 sean el doble
de rápidos que un 386
a la misma velocidad
de reloj.
Las velocidades de
reloj típicas para los
i486 eran 16 MHz (no
muy frecuente), 20
MHz (ídem), 25 MHz,
33 MHz, 40 MHz, 50
MHz (típicamente con
duplicación del reloj),
66
MHz
(con
duplicación del reloj),
75
MHz
(con
triplicación del reloj).
El
microprocesador
80486
estaba
compuesto
por
1200000 transistores
CMOS, con unas
conexiones de 1µm lo
que producía que el
microprocesador
tuviera una dimensión
de 167 mm^2, el
tamaño aumenta con
respecto al 386 por el
mayor número de
transistores y por la
memoria caché.
microprocesadores
Pentium se encuadran
en un concepto RISC.
Mientras que el 80386 y
el 80486 tienen una
unidad de ejecución, el
Pentium
tiene
dos,
pudiendo ejecutar dos
instrucciones por ciclo
de
reloj
con
sus
correspondientes
cálculos,
ya
que
también
tiene
dos
unidades
aritméticológicas (ALU).
Intel toma como modelo
la estructura separada
para la memoria caché
interna
del
microprocesador
que
consta de dos bloques
de 8 Kbytes, uno para
las instrucciones y otro
para los datos que
trabajan
bajo
una
estructura
de
asociación de conjuntos
bidireccional. También
incorpora
como
su
predecesor
un
coprocesador
matemático, el cual en
sus primeros modelos
debido a un error de
diseño tenía un famoso
bug, que producía un
error en la división.
Este
coprocesador
utiliza
algoritmos
mejorados y añade
instrucciones de suma,
multiplicación y división
de números en punto
flotante.
Se integran nuevos
avances
tecnológicos
como por ejemplo la
predicción
de
ramificaciones, buses
de datos internos de
256 bits, bus de datos
externo de 64 bits (que
soporta transferencias
de 258 Kbytes por
segundo) y memorias
caché
de
escritura
diferida.
Este procesador es
bastante
mayor
en
tamaño de la pastilla
que su predecesor (264
mm^2) a pesar de su
menor tamaño en las
conexiones (0,8 µm)
debido a que casi le
triplicaba en número de
transistores con un
poco más de 3 millones
de transistores. Este
gran aumento en el
hardware permite una
mayor eficiencia en las
instrucciones,
simplificación del código
software
y
el
considerable aumento
en la velocidad de
ejecución.
10. REALIZAR UN CUADRO COMPARATIVO ENTRE AL ARQUITECTURA
HARVARD Y LA ARQUITECTURA VON NEUMAN
ARQUITECTURA HARVARD
ARQUITECTURA VON NEUMANN
Tradicionalmente los microprocesadores se
basan en la estructura de Von Neumann, como
la de la figura siguiente, que se caracteriza por
disponer de una única memoria principal en la
que se almacenan los datos y las instrucciones.
A esta memoria se accede a través de un
sistema de buses único
La arquitectura von Neumann se refiere a
las arquitecturas de computadoras que
utilizan
el
mismo
dispositivo
de
almacenamiento tanto para las instrucciones
como para los datos (a diferencia de la
arquitectura Harvard). El término se acuñó
en el documento First Draft of a Report on
the EDVAC (1945), escrito por el conocido
matemático John von Neumann, que
propuso el concepto de programa
almacenado.
Dicho
documento
fue
redactado en vistas a la construcción del
sucesor de la computadora ENIAC, y su
contenido fue desarrollado por John Presper
Eckert, John William Mauchly, Arthur
Burks, y otros durante varios meses antes de
que von Neumann redactara el borrador del
informe.
Los ordenadores con arquitectura von
Neumann constan de cinco partes: La
unidad aritmético-lógica o ALU, la unidad
de control, la memoria, un dispositivo de
entrada/salida y el bus de datos que
proporciona un medio de transporte de los
datos entre las distintas partes.



Bus de datos
Bus de direcciones
Bus de control
Arquitectura según el modelo de Von Neumann
Un ordenador con arquitectura von Neumann
El modelo Harvard , representado en la figura
siguiente, dispone de dos memorias:
realiza
o
emula
los
siguientes
pasos
secuencialmente:


Memoria de datos
Memoria de Programa
Además cada memoria dispone de su
respectivo bus, lo que permite, que la CPU
pueda acceder de forma independiente y
simultánea a la memoria de datos y a la de
instrucciones.
Como
los
buses
son
independientes éstos pueden tener distintos
contenidos en la misma dirección .

Enciende el ordenador y obtiene la
siguiente instrucción desde la memoria
en la dirección indicada por el contador
de programa y la guarda en el registro
de instrucción.

Aumenta el contador de programa en la
longitud de la instrucción para apuntar
a la siguiente.

Descodifica la instrucción mediante la
unidad de control. Ésta se encarga de
coordinar el resto de componentes del
ordenador para realizar una función
determinada.

Se ejecuta la instrucción. Ésta puede
cambiar el valor del contador del
programa, permitiendo así operaciones
repetitivas. El contador puede cambiar
también cuando se cumpla una cierta
condición aritmética, haciendo que el
ordenador pueda 'tomar decisiones',
que pueden alcanzar cualquier grado
de complejidad, mediante la aritmética
y lógica anteriores.

Vuelve al paso 2.
11. INVESTIGAR LAS CARACTERÍSTICAS DE LOS COMPUTADORES TIPO
CISC Y LOS COMPUTADORES TIPO RISC (REPERTORIO DE
INSTRUCCIONES)
CISC Complex Instructions Set Computer, Ordenador con un conjunto de
instrucciones complejo.
RISC Reduced Instructions Set Computer, Ordenador con un conjunto de
instrucciones reducido.
Anteriormente hemos definido el set de instrucciones como el conjunto de
instrucciones que es capaz de entender y ejecutar un microprocesador. Si ese
microprocesador entiende y ejecuta muchas instrucciones (cientos de ellas), se
trata entonces de un microprocesador CISC. En cambio, si el microprocesador
entiende y ejecuta muy pocas instrucciones (decenas de ellas), se trata
entonces de un microprocesador RISC.
En principio, parece que la tecnología CISC es mucho más ventajosa que la RISC.
Pero no es así: un micro CISC tarda mucho tiempo en ejecutar cada una de esas
instrucciones. En cambio un micro RISC, como sólo entiende unas cuantas, su
diseño interno le permite ejecutarlas en muy poco tiempo, a una gran velocidad,
mucho más rápido que un microprocesador CISC.
Cuando se desee que un microprocesador RISC ejecute cierta instrucción que no
entiende, ésta se descompondrá en varias instrucciones de las sencillas que sí
entiende. Aún así, descomponiendo una instrucción compleja en varias sencillas,
es capaz de operar mucho más rápido que el microprocesador CISC, el cual no
tiene que descomponer esa instrucción porque la entiende directamente.
Prácticamente, todos los microprocesadores que se utilizan en la fabricación de
ordenadores personales (microprocesadores fabricados por Intel) son de
tecnología CISC. Intel, poco a poco, va abandonando la tecnología CISC y la
sustituye por tecnología RISC. Así por ejemplo, un Pentium, sin dejar de
pertenecer a la categoria CISC incorpora algunas caracteristicas de los micros
RISC. Es de esperar que en un futuro, los micros fabricados sean de tecnología
RISC; entonces los ordenadores serán muchísimo más rápido de lo que hoy los
conocemos.
Intel no fabrica microprocesadores completamente RISC para no perder la
compatibilidad con los microprocesadores anteriores.
Microprocesadores CISC Interpretan y ejecutan un gran número de
instrucciones. Son más lentos.
Microprocesadores RISC Interpretan y ejecutan sólo unas pocas
instrucciones. Son mucho más rápidos que los microprocesadores CISC.
Todos los microprocesadores utilizando en la fabricación de ordenadores
personales, son de tecnología CISC.
12. INVESTIGAR LAS TABLAS DE VERDAD Y EL SÍMBOLO DE LAS
COMPUERTAS LÓGICAS: OR, AND, NOT, NAND, NOR.
OR
Una OR de dos entradas, y su tabla de verdad.
Compuerta OR (O)
Esta compuerta es simplemente la negación de la compuerta AND. Se puede
pensar como una compuerta AND con una compuerta NOT a la salida. Esto
modifica su tabla de verdad, quedando que la salida solo será un “0” cuando
todas sus entradas estén en “1”. En la figura podemos ver su símbolo y su
tabla
de
verdad.
El pequeño círculo en su salida es el que simboliza la negación. El numero de
entradas debe ser como mínimo de dos, pero no es raro encontrar NAND de 3
o
mas
entradas.
AND
Compuerta AND y la tabla de verdad correspondiente.
Compuerta AND (Y)
La función booleana OR es la asociada a la suma, y matemáticamente la
expresamos como “+”. Esta compuerta presenta un estado alto en su salida (un
“1”) cuando al menos una de sus entradas también esta en alto. En los demás
casos,
la
salida
será
“0”.
Un circuito equivalente a esta compuerta seria una lámpara en serie con la
alimentación y con dos interruptores que esta en paralelo entre si. Nuevamente,
los interruptores serian las entradas, y la lámpara la salida. Si seguimos las
convenciones fijadas en el ejemplo visto al explicar la compuerta AND, tenemos
que si ambos interruptores están abiertos (“0”), la lámpara permanece apagada
(“0”). Pero basta que cerremos solo uno de los interruptores para que la lámpara
se
encienda.
Al igual que en las compuertas AND, el numero de entradas puede ser mayor
que
dos.
NOT
Compuerta NOT y su tabla de verdad.
Compuerta NOT (NO)
Esta compuerta realiza la función boleana de la multiplicación. Su salida será
un “1” cuando todas sus entradas también estén en nivel alto. En cualquier
otro caso, la salida será un “0”. El operador AND se lo asocia a la
multiplicación, de la misma forma que al operador SI se lo asociaba a la
igualdad. En efecto, el resultado de multiplicar entre si diferentes valores
binarios solo dará como resultado “1” cuando todos ellos también sean 1, como
se puede ver en la figura al final de la página. Matemáticamente se lo
simboliza
con
el
signo
“x”.
Podemos pensar en esta compuerta como una lámpara en serie con la
alimentación y dos o mas interruptores. La lámpara se encenderá únicamente
cuando
todos
los
interruptores
estén
cerrados.
En
este
ejemplo,
los
interruptores serian las entradas de la compuerta, y su estado seria “1” cuando
están cerrados. La salida estaría representada por la lámpara, cuyo estado
“alto” o “1” se asocia al encendido. Si alguna de las entradas (interruptores)
esta en “0” (interruptor abierto) no habrá circulación de corriente por lo tanto
la
salida
estará
en
“0”
(lámpara
apagada).
La tabla de verdad y el esquema de más abajo corresponden a una AND de 2
entradas, pero también existen compuertas AND de 3, 4 o mas entradas.
NAND
Tabla y esquema de una compuerta NAND.
Compuerta NAND (NO Y)
De forma similar a la compuerta NAND, una NOR es la negación de una
compuerta
OR,
obtenida
agregando
una
etapa
NOT
en
su
salida.
Como podemos ver en su tabla de verdad, la salida de una compuerta NOR es
“1”
cuando
todas
sus
entradas
son
“0”.
Igual que en casos anteriores, la negación se expresa en los esquemas
mediante un círculo en la salida. El número de entradas puede ser mayor a
dos.
NOR
Puerta NOR: esquema y tabla de verdad.
Compuerta NOR (NO O)
La
compuerta
OR
vista
anteriormente
realiza
la
operación
lógica
correspondiente al “O” inclusivo, es decir, una o ambas de las entradas deben
estar en “1” para que la salida sea “1”. Un ejemplo de esta compuerta en
lenguaje coloquial seria “Mañana iré de compras o al cine”. Basta con que vaya
de compras o al cine para que la afirmación sea verdadera. En caso de que
realice ambas cosas, la afirmación también es verdadera. Aquí es donde la
función XOR difiere de la OR: en una compuerta XOR la salida será “0” siempre
que las entradas sean distintas entre si. En el ejemplo anterior, si se tratase de
la operación XOR, la salida seria “1” solamente si fuimos de compras o si
fuimos al cine, pero “0” si no fuimos a ninguno de esos lugares, o si fuimos a
ambos.
Esta característica, como veremos en notas posteriores, hacen que la
compuerta XOR sea útil para efectuar sumas de números , como en el caso de
las
calculadoras.
13. INVESTIGAR LOS POSTULADOS LÓGICOS O LAS LEYES DE
ÁLGEBRA DE BOOLE
P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
P2 El elemento de identidad con respecto a · es uno y con respecto a + es cero.
No existe elemento de identidad para el operador NOT
P3 Los operadores · y + son conmutativos.
P4 · y + son distributivos uno con respecto al otro, esto es, A· (B+C) =
(A·B)+(A·C) y A+ (B·C) = (A+B) ·(A+C).
P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el
complemento lógico de A.
P6 · y + son ambos asociativos, ésto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).
Es posible probar todos los teoremas del álgebra booleana utilizando éstos
postulados, además es buena idea familiarizarse con algunos de los teoremas
más importantes de los cuales podemos mencionar los siguientes:
















Teorema 1: A + A = A
Teorema 2: A · A = A
Teorema 3: A + 0 = A
Teorema 4: A · 1 = A
Teorema 5: A · 0 = 0
Teorema 6: A + 1 = 1
Teorema 7: (A + B)' = A' · B'
Teorema 8: (A · B)' = A' + B'
Teorema 9: A + A · B = A
Teorema 10: A · (A + B) = A
Teorema 11: A + A'B = A + B
Teorema 12: A' · (A + B') = A'B'
Teorema 13: AB + AB' = A
Teorema 14: (A' + B') · (A' + B) = A'
Teorema 15: A + A' = 1
Teorema 16: A · A' = 0
14. INVESTIGAR EL MÉTODO DE SIMPLIFICACIÓN DE FUNCIONES
Método algebraico
Es el método básico de simplificación de funciones y consiste en aplicar
Directamente la propiedad distributiva a los términos de la función, eliminando
variables. Por ejemplo:

f1(d,c,b,a) = d·c·b·a + d·c·b·a = d·c·b·(a+a) = d·c·b·1 = d·c·b
f2 (d,c,b,a) = (d+c+b+a)·(d+c+b+a) = (d+c+b·b+a) = (d+c+a)
Sin embargo, pocas veces viene expresada la función de forma que sea
Fácilmente aplicable este método.

Método de Karnaugh

Método tabular gráfico que se basa en los llamados “mapas de Karnaugh”,
consistentes en una tabla de cuadros, cada uno de los cuales representa un
término canónico.
Estos cuadros están distribuidos de tal modo que dos cualesquiera de ellos,
contiguos físicamente, corresponden a términos canónicos adyacentes.
Términos canónicos adyacentes: son aquellos para los que sus
respectivas configuraciones binarias difieren entre sí en un único bit.
Se pueden definir también como aquellos términos a los que se les puede aplicar
la propiedad distributiva para simplificar una variable.


Métodos de simplificación programados: Algoritmo de Quine McCluskey