Está en la página 1de 58

UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE

HUAMANGA
FACULTAD DE INGENIERÍA DE MINAS, GEOLOGÍA Y CIVIL
E.F.P DE INGENIERÍA DE SISTEMAS
MÁQUINA DE VON NEUMANN. UNIDAD DE CONTROL. CONJUNTO DE INSTRUCCIONES Y TIPOS
(MANIPULACIÓN DE DATOS, CONTROL, E/S).
INTEGRANTES:
QUISPE FERNANDEZ Cristhian R 27182106
TRUJILLO ALARCON, Alexander 27182113
PAREJA RAMOS Noé Abel 27182507
RIVERA ARAUJO,YemerEduard 27180110
CORICHAHUA ATAO, Brayan 27180508
Máquina de
Von Neumann
¿Qué es la arquitectura Von Neumann?
La arquitectura Von Neumann es la arquitectura común de todos
los procesadores para PC. Todas y cada una de las CPU, desde
ARM a x86, desde 8086 al Ryzen pasando por los Pentium. Todas
ellas son arquitecturas Von Neumann y todas ellas heredan cierto
problema común.
John Von Neumann fue un matemático de origen húngaro que es
famoso por dos cosas. La primera es por haber trabajado en el
Proyecto Manhattan donde se desarrolló la bomba atómica que
los Estados Unidos lanzó contra Japón a finales de la Segunda
Guerra Mundial. La segunda es el desarrollo de la arquitectura
base que hoy en día utilizan nuestros PC sean del tamaño que
sean, así como también la forma de los programas que estos
ejecutan.
¿Cuáles son las limitaciones de la
arquitectura Von Neumann?

La principal desventaja es que la memoria RAM que es donde se encuentran las


instrucciones y los datos que han de ser procesados se encuentran unificados y
compartidos a través un mismo bus de datos y direccionamiento común. Por lo
que las instrucciones y los datos han de ser captados de manera secuencial desde
la memoria. Este cuello de botella es el llamado cuello de botella de Von
Neumann. Es por ello que los diferentes microprocesadores tienen la caché más
cercana al procesador dividida en dos tipos, una para datos y otra para
instrucciones.

4
¿Cuáles son las limitaciones de la
arquitectura Von Neumann?
En los años recientes, las velocidades de los procesadores ha ido aumentando de
manera mucho más rápida que la memoria RAM, por lo que se ha aumentado el
tiempo en que los datos tardan en ser comunicados desde hacía la memoria. Lo
que ha obligado a desarrollar soluciones para paliar este problema, producto del
cuello de botella de Von Neumann.
En los procesadores donde normalmente se utiliza la arquitectura Harvard es en
los que estos se encuentran autocontenidos y por tanto no tienen acceso a la
memoria RAM en común del sistema, sino que ejecutan su propia memoria y
programa de manera aislada a la CPU principal. Estos procesadores reciben la lista
de datos e instrucciones en dos ramales de datos distintos. Uno para la memoria de
instrucciones y el otro para la memoria de datos de dicho procesador.

5
¿Cuáles son las limitaciones de la
arquitectura Von Neumann?

6
Organización del computador
La arquitectura Von Neumann es en la que se basan todos los procesadores
para PC, ya que todos ellos están organizados con una serie de componentes
comunes, los cuales son los siguientes:
Unidad de Control: Encargada de las etapas de captación y descodificación
del ciclo de instrucción.
Unidad lógico-aritmética o ALU: Encargada de realizar las operaciones
matemáticas y de lógica que requieren los programas.
Memoria: La memoria en la que se almacena el programa, la cual la
conocemos como memoria RAM
Dispositivo de entrada: Desde el que nos comunicamos con el ordenador.
Dispositivo de Salida: Desde el que el ordenador se comunica con nosotros.

7
Arquitectura von neumann

8
Arquitectura von neumann

9
Arquitectura von neumann

10
Arquitectura von neumann

11
Arquitectura von neumann

12
Arquitectura von neumann

13
Unidad Aritmética y Lógica (ALU)

Una ALU (Unidad Aritmética-Lógica) es un circuito que permite, como


su nombre lo indica, realizar operaciones lógicas y aritméticas.

Además de los operadores lógicos y aritméticos, la ALU cuenta con una


serie de registros para almacenar los datos, y bits de información sobre
los resultados, también llamados banderas.
Las banderas más comunes son: Carry, Auxiliary Carry, Borrow,
Overflow, Parity, Zero.
El circuito ALU es simplemente un operador, es decir, sólo realiza operaciones.
La ALU no toma decisiones.
Las entradas deben contener tanto la magnitud como el signo que corresponda a la
operación.
La ALU requiere de un mecanismo de control que le permita saber el tipo de operación a
realizar.
Operaciones de la ALU
ALU de 4 bits
Unidad de Control (UC)
Es un circuito digital que gobierna las operaciones y maneja todas las señales de
control dentro del procesador de una computadora. Permite que la unidad lógica, la
memoria y los periféricos de entrada y salida sepan cómo replicar a las órdenes
recibidas de un programa.
Una unidad de control actúa al admitir los datos de entrada, que transforma en
señales de control y que posteriormente son transmitidas al procesador central. El
procesador ordena a los diferentes dispositivos qué operaciones deben realizar.
Los componente del procesador que actúa como su cerebro, porque genera las
instrucciones para casi todas las operaciones y garantiza que las mismas se ejecuten
correctamente.
Ejemplos de dispositivos que utilizan unidades de control son la unidad central de
procesamiento (CPU) y la unidad de procesamiento de gráficos (GPU).
Unidad de Control (UC)
COMPONENTES
Para ejecutar una acción, la unidad de control de la CPU debe
producir la señal de control necesaria en la secuencia adecuada.

La Unidad integrada
unidad de control está constituida por compuertas lógicas, flip-
flops, circuitos digitales, codificadores y decodificadores.
Esta es la base para la arquitectura de cómputo de un conjunto
reducido de instrucciones (RISC), que solo tiene un pequeño
número de instrucciones.
Unidad de Control (UC)
Señales de control
Las señales de control son fundamentales para dirigir la ejecución de las
operaciones que están difundidas por circuitos lógicos expresamente diseñados.
El código de operación de una instrucción incluye la información básica para
difundir la señal de control.

Unidad microprogramada
Usada para almacenar los microprogramas que incluyen las señales de control
codificadas imprescindibles para la ejecución de una operación
La unidad de control microprogramada es más lenta que la unidad integrada
debido al tiempo que tarda restaurar las operaciones que se encuentran en la
unidad de memoria
funciones
Es responsabilidad de la unidad de control informar a los
dispositivos de entrada y salida, a la memoria principal y a la
unidad lógico-aritmética de la computadora cómo replicar a las
operaciones que son emitidas al procesador.

-Maneja múltiples tareas, tales como la búsqueda y recuperación


de instrucciones, decodificación, manejo de la ejecución y
almacenamiento de los resultados.

– Recibe las instrucciones o comandos externos a los que


convierte en una secuencia de señales de control.
– Interpreta las instrucciones.

– Controla la ejecución secuencial de las instrucciones.

– Coordina la secuencia de movimientos de los datos dentro, fuera y entre las muchas
subunidades del procesador.

– Regula y controla la sincronización de las unidades de ejecución, tales como la


unidad lógico aritmética, el almacén y registros de datos contenidos en el
procesador.

– Envía y recibe las señales de control a otros dispositivos informáticos.

– Dirige y controla el flujo de datos a través de las diferentes áreas de la


computadora.
La Memoria Principal o Central (MC ó MP)

La memoria principal tiene por objeto guardar información que es accesible a


la CPU. La CPU puede leer y/o escribir datos en las diferentes posiciones de
memoria que componen la memoria principal.

La memoria principal tiene menor capacidad que la memoria secundaria (que


virtualmente es ilimitada), pero es mucho más rápida. Actualmente la
memoria principal se implementa mediante circuitos integrados. La memoria
principal de los sistemas informáticos suele estar formada por dos áreas
diferenciadas:
Memoria RAM (Random Access Memory): Memoria de acceso
aleatorio (no tiene porqué ser utilizada de manera secuencial) que
permite tanto la lectura como la escritura. Habitualmente en los
sistemas informáticos se trata de un medio de almacenamiento
volátil, de manera que se pierde su contenido al cesar la
alimentación.

Memoria ROM (Read Only Memory): Memoria de acceso aleatorio


que sólo permite la lectura de los datos que almacena. Se trata de
un medio de almacenamiento persistente, pues no pierde su
contenido cuando cesa la alimentación.
Medidas
-Bit
-Byte(8bits)
-kilobyte(KB-1024 B)
-Megabyte(MB-1024 kB)
-Gigabyte(GB-1024 MB)
-Terabyte(TB-1024GB)
-Petabyte(PB-1024 TB)
-Exabyte(EB-1024 PB)
-Zettabyte(ZB-1024 EB)
-Yottabyte(YB-1024 ZB)
Equipos de E/S(entrada y salida)
Los dispositivos de entrada y salida son aparatos electrónicos que son
conectadas a la computadora a través de sus ranuras de entrada o
salida.

En computación, los dispositivos de entrada y salida son los medios con


el cual el usuario se comunica con el sistema de procesamiento de
información como, por ejemplo, las tabletas, computadoras o celulares
inteligentes.
En informática, los dispositivos de entrada y salida son también
llamados periféricos, ya que, no son una parte integral del sistema
informático en sí, sino elementos periféricos que se conectan al sistema
mediante sus ranuras de entrada (inputs) o ranuras de salida (outputs).
Sistema de interconexión

El medio de interconexión habitual en la


arquitectura Von Neumann es el bus, un
medio de comunicación compartido o
multipunto donde se conectan todos los
componentes que se quiere
interconectar. Como se trata de un medio
compartido, es necesario un mecanismo
de control y acceso al bus. El sistema de
interconexión es necesario pero
generalmente no se considera una
unidad funcional del computador.
BUSES

Bus de datos:Como su nombre indica transporta datos. Estos datos pueden ser la
información que se está procesando o las instrucciones del programa que se ejecuta. Hay que
recordar que en la arquitectura Von Newmann el programa está guardado en el interior del
sistema informático codificado como información.El ancho en bits del bus de datos define el
tamaño de la palabra del sistema informático, habitualmente es 8bits, 16bits, 32bits o 64bits.

Bus de direcciones:El bus de direcciones se utiliza para indicar el origen y/o el destino de los
datos. En el bus de direcciones se indica la posición de memoria a la que se está accediendo
en cada momento. Puede tratarse de una dirección de la memoria principal o puede tratarse
de una dirección de memoria en la que está mapeado un periférico.El ancho en bits del bus
de direcciones determina el tamaño del espacio de memoria direccionable.
Bus de control:El bus de
control proporciona señales
para coordinar las diferentes
tareas que se realizan en el
sistema informático.

● Señales de
lectura/escritura de
Memoria o E/S.
● Señales de selección o
habilitación.
● Señales de Reloj
(Clock)
● Señales de pedido de
Interrupción.
Componentes

Software: Son los componentes lógicos del ordenador necesarios para realizar una tarea
determinada “lo que no se puede tocar”:

● Software de base: Sistemas operativo es el gestor y organizador de todas las


actividades que realiza la computadora como LINUX, Windows, MS-DOS,etc.
● Software de utilería:Para crear lenguajes de programación.
● Software de aplicación: Aplicación general(aplicaciones científicas, empresariales y
personales) y específica(tareas personales y empresariales).
● Programa: Conjunto de instrucciones para realizar una tarea específica.
● Virus informáticos: Son programas diseñados para multiplicarse y propagarse sin dar
indicios de su existencia, se auto-replican y alteran el funcionamiento normal de la
computadora
● Antivirus: Aplicación o grupo de aplicaciones dedicadas a la prevención, búsqueda,
detección y eliminación de programas malignos en sistemas informáticos.
Hardware: Son los componentes físicos del ordenador “lo que se puede tocar”:

❖ Dispositivos de entrada
- Mouse
- Teclado
❖ Dispositivos de salida
- Monitor
- Impresora
❖ Para procesamiento
- CPU
- RAM
❖ Para almacenamiento
- Memoria
- CD
- Discos
Caracterización
de una
Arquitectura von
Neumann
Como ya expresamos todas las computadoras actuales
tienen en esencia la misma arquitectura. Sin embargo
dentro de la idea general de von Neumann que todas
respetan, se diferencian entre sí por decisiones de diseño
que afectan la cantidad y cualidad de sus elementos
componentes.
Así una arquitectura particular (ej: Intel x86, PowerPC,
SPARC, MIPS, etc) establece en forma diferenciada los
siguientes elementos característicos, los que deben ser
conocidos por los programadores "de bajo nivel" para
poder escribir programas para una de esas arquitecturas:
● Set de Instrucciones: La cantidad de instrucciones disponibles y
la calidad y complejidad de las operaciones implementadas en el
hardware de la CPU.
● Formato de Instrucción: La forma en que se codifican las
instrucciones.
● Set de Registros: La cantidad de registros disponibles al
programador, así como la función que pueden cumplir.
● Modos de Direccionamiento: Formas de generar las direcciones
para hallar los operandos.
● Manejo de la Entrada/Salida: Forma de comunicación con los
"periféricos".
● Manejo de Interrupciones: Manejo de una forma particular de
invocar a ciertas subrutinas de los programas.
Set de Instrucciones
Históricamente desde la EDVAC hasta principios de la década del 80 la
tendencia fue ir, progresivamente, aumentando la cantidad de
instrucciones disponibles en el hardware y su complejidad. Es así que
las arquitecturas más difundidas a fines de los 70 (Intel 8080, Motorola
6800, Digital VAX, IBM 370) disponían de cientos de instrucciones y
soportaban por hardware operaciones complejas tales como la
comparación de strings y la búsqueda de un elemento en un array.
En ese momento se pensaba que cuanto más "potente" era el hardware
(en cuanto a la variedad de operaciones disponibles), más
eficientemente se podrían ejecutar los programas, logrando una mayor
"performance" del sistema.
Sin embargo en 1980 se publicaron, casi simultáneamente, trabajos de
investigación
de las universidades de Berkeley y Stanford que proponían un enfoque
radicalmente distinto: lo mejor era disponer de un conjunto mínimo de
instrucciones que estuvieran implementadas en forma óptima. Estos trabajos
acuñaron el término RISC (Reduced Instruction Set Computer) para referirse a los
diseños basados en este concepto.
A partir de ese momento el resto de las arquitecturas pasaron a denominarse, por
contraposición, CISC (Complex Instruction Set Computer).

Si bien las primeras implementaciones prácticas de RISC demostraron que eran


mucho mas eficientes (considerando su desempeño en relación con la frecuencia
del reloj utilizado), el mercado siguió siendo de las CISC, en particular de la que se
convirtió en un estándar de facto: la arquitectura x86 de Intel (la de los actuales
procesadores “Pentium” y “Core”).
Formato de Instrucción
Refiere a la codificación de las distintas instrucciones para su
almacenamiento en la memoria del sistema.

Estos trabajan con una representación de las instrucciones mediante un


código binario.

Código binario reserva una serie de bits para identificar la operación


realizada por la instrucción así como la indicación de dónde se almacena
el resultado.
El código de operación de una instrucción es un grupo de bits que define operaciones como
sumar, restar, multiplicar, desplazar y complementar.
El número de bits requeridos para el código de operación de una instrucción depende de la
cantidad total de operaciones disponibles en la computadora.

La parte operativa de un código de instrucción especifica la operación que se va a


realizar.
Esta operación debe ejecutarse sobre algunos datos almacenados en los registros
del procesador o en la memoria.
Set de Registros
Los registros son posiciones "especializadas" de memoria que poseen una
manera de direccionarlas distinta de la memoria "normal" del sistema.

En la propuesta original de von Neumann la computadora poseía un registro


Acumulador para las operaciones aritméticas.

Esas ideas son las que llevaron a Intel a nombrar los registros de su primer
microprocesador con letras: A(Acumulador), B (Base, para direcciones), C
(Contador, en instrucciones de string), D (Data, para almacenar datos, es decir
operandos en general)
La característica de los registros "con personalidad" es que su función dentro de
las instrucciones está condicionada y no todos sirven para cualquier función.
Modos de direccionamiento
Establecen las formas en que se puede especificar la dirección de un operando o
del lugar donde colocar el resultado de la operación correspondiente a la
instrucción.

Existen tres modos de direccionamiento básicos:

- Inmediato: en este modo en la instrucción se encuentra el propio operando.


Se utiliza típicamente para constantes.

- Directo: en este modo en la instrucción se encuentra la dirección del


operando. Se pueden distinguir dos tipos:
● Directo a Registro: el operando está almacenado en un registro y la
instrucción contiene el identificador del registro
● Directo a Memoria: el operando está almacenado en memoria y la
instrucción contiene la dirección donde se encuentra.
- Indirecto: en este modo en la instrucción se encuentra la dirección del
operando.

se pueden distinguir dos tipos:


● Indirecto por Registro: el operando está almacenado en una
posición de memoria cuya dirección se encuentra en un registro.

● Indirecto por Memoria: el operando está almacenado en una


posición de memoria y la instrucción contiene la dirección de esta
última.
Manejo de interrupciones
Una definición de interrupción puede ser:

consiste en un mecanismo que provoca la alteración del


orden lógico de ejecución de instrucciones como respuesta a un evento
externo.

El mecanismo de interrupción comienza con el pedido de interrupción


generado por un controlador de entrada/salida.

Este pedido se genera a raíz de alguna condición detectada por el controlador.


Las condiciones que generan el pedido varían de acuerdo al tipo de
controlador que se trate y de acuerdo a cómo esté configurado el
mismo.

● Detección por Nivel: En este caso el CPU reconocerá que hay un


pedido de interrupción pendiente mientras su entrada INT esté en
el nivel lógico alto ("1"). Esto significa que toda vez que el CPU
detecte esa entrada en alto, desencadenará la invocación a la
rutina de atención.
● Detección por Flanco: En este caso lo que interesa a los efectos de
determinar que existe un requerimiento de interrupción es la
existencia de un cambio de nivel bajo ("0") a alto ("1"), en la entrada
INT.

Cuando el CPU reconoce que hay un pedido de interrupción desencadena


el mecanismo de atención a dicha solicitud..
Para atender una solicitud de interrupción, el CPU realiza los siguientes pasos:

● "Termina" de ejecutar la instrucción actual. Lo que ocurre es que el CPU


consulta si hay un pedido de interrupción al final del ciclo de instrucción.
● Salva el valor actual del puntero de instrucción , como forma de poder
regresar a ejecutar la siguiente instrucción del programa que fue
interrumpido.
● Identifica el controlador de E/S que realizó el pedido de interrupción.
● Obtiene la dirección de la rutina de servicio de la interrupción
correspondiente al controlador identificado.
● Enmascara las interrupciones.
● Pasa a ejecutar la rutina de servicio a la interrupción.
COMPARACIÓN
ARQUITECTURA DE VON
NEUMANN Y HARVARD
ARQUITECTURA DE VON NEUMANN

En Esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de


almacenamiento para datos e instrucciones conectados mediante únicos bus de datos
y bus de direcciones.
- Actualmente las computadoras utilizan esta arquitectura.
- Tienen el inconveniente que solamente puede llevar datos o instrucciones en un
determinado momento
ARQUITECTURA DE HARVARD
En esta arquitectura se utilizan dispositivos de almacenamiento (memorias) separados para
las instrucciones y los datos
- tiene dos sistemas completos de buses, uno para datos y otro para instrucciones.
- Esta arquitectura permite llevar simultáneamente datos e instrucciones por lo que
permite mayor rapidez.
Arquitectura Von Neumann Arquitectura Harvard

Fecha de creación 1945 1947

Primera computadora ENIAC MARK

Estructura La UCP se comunica a través de un solo bus con un Tiene un bus separado y otro para los datos.
banco de memoria en donde se almacenan los Así se evita el problema del cuello de botella de
códigos de instrucción del programa, como los datos von Newman y se obtiene un mejor desempeño
que serán procesados por este

Memoria Memoria de Datos Memoria Ram


Memoria de Instrucciones Memoria Rom
Memoria Cache

Buses Bus de Datos Bus de Datos


Bus de Direcciones Bus de Direcciones
Bus de Control

Tipo de Supercomputadoras Supercomputadoras


computadoras

Semejanzas Guardan informacion Guardan informacion

diferencias Un solo bus de datos comunica Son dos buses independientes


Es la más utilizada aunque es más lenta Mayor velocidad aunque no tan utilizada
Procesadores CISC/RISC
PROCESADOR CISC
Computador con conjunto de instrucciones complejas(complex instruction set
computing(cisc).
Arquitectura de microprocesador caracterizada por ejecutar un conjunto de instrucciones
complejas, estas instrucciones pueden realizar funciones muy específicas, en contraposición a la
arquitectura RISC.

54
PROCESADOR RISC
Computador con conjunto de instrucciones reducido (Reduced instruction set
computing(RISC)

❖ Computador con repertorio de instrucciones reducido.


❖ Pocas instrucciones y muy básicas.
❖ Repertorio simple y ortogonal.
❖ Formatos de instrucción uniformes.
❖ Pocos tipos de datos y de modos de direccionamiento, siempre los más sencillos.
❖ RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de
instrucciones pequeñas y simples que toman menor tiempo para ejecutarse
❖ El diseño RISC está basado en la premisa de que la mayoría de las instrucciones que una
computadora decodifica y ejecuta son simples. Como resultado de este concepto, la
arquitectura RISC limita el número de instrucciones incorporadas en el microprocesador,
pero optimiza cada una de ellas de forma que se ejecuten muy rápidamente (generalmente
en un solo ciclo de reloj). Por lo tanto, los chips RISC ejecutan las instrucciones simples más
rápidamente que los microprocesadores que cuentan con un conjunto más amplio de
instrucciones

55
Memoria caché
La memoria caché es una clase de memoria RAM estática (SRAM) de acceso
aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma
temporal y automática con lo que proporciona acceso rápido a los datos de uso
frecuente.

La utilización de la memoria caché se describe a continuación:


- Acelerar el procesamiento de las instrucciones de memoria en la CPU.
- Las computadoras tienden a utilizar las mismas instrucciones y (en menor
medida), los mismos datos repetidamente, por ello la caché contiene las
instrucciones más utilizadas.

56
Funcionamiento de la memoria caché
En el siguiente diagrama se describe un proceso cuando la CPU requiere operación de
lectura de una instrucción, para ello se presentan dos casos:

57
THANKS!
CREDITS: This presentation template was
created by Slidesgo, including icons by Flaticon,
and infographics & images by Freepik

También podría gustarte