SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
2.2 y 2.3
Introducción
 La segmentación o pipeline es una técnica de

realización de procesadores por la cual se solapa la
ejecución de las instrucciones. Hoy en día es la técnica
clave para la realización de CPU rápidas.
Introducción
 ¿Qué es la segmentación o pipelining?
 Técnica para la generación de paralelismo en

monoprocesadores.
 Consiste en dividir una función en subfunciones
independientes que pueden realizarse
simultáneamente (trabajo en cadena).
 En un instante determinado, se está trabajando sobre
un número de elementos igual al número de etapas
(paralelismo).
Características
 Características del proceso necesarias para poder aplicar

segmentación:

 Se debe poder descomponer en etapas.
 Es necesario que las entradas de una etapa estén
 determinadas únicamente por las salidas de la

anterior.
 Cada etapa debe poder ser realizada por un circuito
específico
 de forma más rápida que el conjunto del proceso.
 Los tiempos de ejecución de cada etapa deben
parecidos.
La productividad de un computadora va a depender del número de
instrucciones que acaben por unidad de tiempo, y no de lo que le cueste a una
instrucción individual
Segmentación en 5 Etapas (DLX).
 IF: Lectura de instrucción.
 ID: Decodificación de Instrucción y lectura de

operandos.
 EXE: Ejecución de la instrucción.
 MEM: Acceso a memoria de datos.
 REG: Acceso a banco de registros.
Etapas de cauce: funcionamiento
 Búsqueda (IF)
 se accede a memoria a por la instrucción
 se incrementa el CP
 Decodificación / Búsqueda de operandos (ID)
 se decodifica la instrucción
 se accede al banco de registros a por los registros operandos
 se calcula el valor del operando inmediato con el signo
 extendido (por si hace falta más adelante)
 Ejecución / Dirección efectiva (EX)
 si es una instrucción de proceso, se ejecuta en la ALU
 si es un acceso a memoria, se calcula la dirección efectiva
 si es un salto, se calcula el destino, y si se toma o no
Etapas de cauce: funcionamiento
 Acceso a memoria / terminación del salto (MEM)
 si es un acceso a memoria, se accede
 si es un salto, se almacena el nuevo CP
 Almacenamiento (WB)
 se almacena el resultado (si lo hay) en el banco de
registros
 La realización de cada etapa de segmentación es un ciclo

máquina.
 Esta duración está determinada por la duración de la etapa
más lenta. con frecuencia el ciclo máquina es un ciclo de
reloj, aunque el reloj puede tener múltiples fases.
 El objetivo del diseñador de computadoras es equilibrar
correctamente el diseño de cada segmento para que todos
tengan la misma duración. Si esto es así, entonces la
duración de una instrucciones será (si no hay atascos):
Tiempo por instrucción en máquina no segmentada
-------------------------------------------------------------------Número de etapas de la segmentación
2.2 y 2.3
2.2 y 2.3
Riesgos de la segmentación.
 Cuando se detecta un riesgo, puede ser necesario detener la

segmentación (no siempre).
 Pero detener el procesador en una máquina no
segmentada es fácil, basta terminar la instrucción en curso.
En una máquina segmentada hay varias instrucciones en
curso, y por ello un detención supone, en la mayoría de los
casos, que algunas de las instrucciones en curso deben
ejecutarse hasta finalizar, otras se retardan y otras si
pueden detenerse en un instante dado.
 Por lo general, cuando una instrucción se detiene, las
instrucciones anteriores finalizan normalmente y las
posteriores sufren un retardo en su ejecución. Durante el
tiempo de retardo, no se leen más instrucciones.
Clases de Riesgos.
 Riesgos estructurales: Producidos por conflictos en la

utilización del hardware. Impiden que dos instrucciones se
solapen en determinados segmentos.
 Riesgos por dependencias de datos: Es cuando los datos

que necesita una instrucción para ejecutarse son
inicializados por instrucciones anteriores que aun no han
finalizado.
 Riesgos de control: Suceden cuando hay un cambio

brusco en el valor del PC producido por una salto u otras
instrucciones.
Riesgos estructurales.
 La ejecución solapada de las instrucciones

requiere la
segmentación de unidades funcionales y duplicación de recursos
para permitir cualquier combinación de instrucciones.

 Si alguna combinación de instrucciones no se puede ejecutar por

conflictos entre recursos: riesgo estructural.
 En los conflictos, la unidad de control detiene la ejecución de

alguna de las instrucciones hasta que el conflicto desaparezca.
 Los riesgos estructurales se permiten para:

• Reducir el coste.
• No aumentar la latencia de la unidad.
2.2 y 2.3
Riesgos por dependencia de los
Datos.
 Se producen cuando alguna instrucción tiene un dato

fuente que es a su vez destino de otra instrucción
anterior que se encuentra aún dentro de la cadena.
Tipos de riesgos de dependencia
de Datos.
• RAW: lectura después de escritura.
• WAR: escritura después de lectura.
• WAW: escritura después de escritura.
 Técnica de adelantamiento (forwarding), desvío (bypassing) o

cortocircuito:
• El resultado de la ALU realimenta sus cerrojos de entrada.
• Los operandos entran a través de una lógica de control que
selecciona la entrada correcta.
El adelantamiento se puede generalizar permitiendo que el
resultado de una etapa pase a la entrada de otra etapa distinta
2.2 y 2.3
Con ello se consigue que si una
instrucción utiliza un registro como
fuente y la instrucción anterior lo
tiene como destino de una operación,
entonces la segunda instrucción
utilizará como valor del registro
fuente la salida de la ALU.
Así, aunque el valor no se grabe en el
registro conflictivo hasta 2 ciclos
después, la segunda instrucción ya
habrá hecho uso de su valor.
Riesgos de Control.
 Un riesgo de control se produce cuando es necesario llevar a cabo una

decisión basada en el resultado de una instrucción mientras se están
ejecutando otras instrucciones. Cuando se ejecuta un salto no se
conoce de antemano cuál será la siguiente instrucción que deberá ser
ejecutada. Si la condición del salto falla entonces se debe ejecutar la
instrucción inmediata, si la condición del salto se cumple se debe
actualizar el PC con la dirección de la siguiente instrucción que debe
ejecutarse.

 Una estrategia para atacar este tipo de problema es asumir que la

condición del salto no se cumplirá y por lo tanto la ejecución
continuará con la instrucción que se encuentra inmediatamente
después de la instrucción de salto. Si la condición del salto se cumplió
entonces se deberá desechar del pipeline las instrucciones que fueron
captadas y la ejecución continua con la instrucción que se encuentra en
la dirección de salto
2.3.3 Conjunto de
instrucciones:
Características y
funciones
Cada instrucción debe contener la información que
necesita el procesador para su ejecución.
Elementos de una instrucción maquina
 Código de operación: Especifica la operación a realizar. La

operación se indica mediante un código binario denominado
código de operación.

 Referencia a operando fuente y origen: La operación puede

implicar a uno o mas operandos que son entradas para la
instrucción.

 Referencia al operando de destino: La operación puede

producir un resultado.

 Referencia a la siguiente instrucción: Dice al procesador de

donde captar la siguiente instrucción tras completarse la
ejecución de la instrucción actual.
Los operandos origen y destino pueden
estar en alguna de las tres áreas siguientes:
 Memoria principal o virtual: Como en las referencias a

instrucciones siguientes, debe indicarse la dirección de memoria
principal o de memoria virtual.

 Registro

del procesador: Salvo raras excepciones, un
procesador contiene uno o mas registros que pueden ser
referenciados por instrucciones maquina. Si solo existe un
registro la referencia a el puede ser implícita. Si existe mas de
uno, cada registro tendrá designado un numero único y la
instrucción debe contener el numero del registro deseado.

 Dispositivo de E/S: la instrucción debe especificar el modulo de

dispositivo de E/S para la operación. En el caso de E/S asignadas
en memoria, se dará otra dirección de memoria principal o
virtual.
Los codops se representan mediante abreviaturas,
denominadas nemotécnicos, que indican la operación
en cuestión.
2.2 y 2.3
Cada instrucción se representa por
una secuencia de bits
2.2 y 2.3
Instrucción en alto nivel x=x+y;
En instrucciones maquina
 Supongamos que X e Y corresponden a la posición 513
y 514.

Cargar un registro con el contenido de la posición de
memoria 513.
2. Sumar al registro el contenido de la posición de
memoria 514.
3. Memorizar el contenido del registro en la posición de
memoria 513.
1.
 Un lenguaje de alto nivel expresa las operaciones de

forma algebraicas concisa, utilizando variables.
 Un lenguaje maquina expresa las operaciones de una
manera elemental, implicando operaciones de
transferencia de datos a registros.
Clasificación de la instrucciones.
 Procesamiento de datos: Instrucciones aritméticas y

lógicas.
 Almacenamiento de datos: Instrucciones de
memoria.
 Transferencia de datos: Instrucciones de E/S
 Control: Instrucciones de comprobación y de
bifurcación.
NÚMERO DE DIRECCIONES
Es una de las formas tradicionales de describir la
arquitectura de un procesador.
 Están contenidas en cada instrucción.

“ Menos significativa a medida que aumenta la
complejidad del diseño del procesador”
¿NÚMERO MÁXIMO DE DIRECCIONES
NECESARIAS EN UNA INSTRUCCIÓN?
 Aritméticas y lógicas requieren más operandos.

• Unarias (un operando)
• Binarias (dos operandos)

Necesitaríamos máximo de dos direcciones para
referenciar operandos.
El resultado de la operación debe almacenarse= tercera
dirección.
Tras completar una instrucción debe captarse la siguiente=
dirección (cuarta)
RAZONAMIENTO ANTERIOR
 4 Referencias a direcciones:
 Dos operandos
 Un resultado
 Dirección de la siguiente instrucción

En la práctica es muy raro encontrar este tipo de
instrucciones.
EJEMPLO DE UNA OPERACIÓN CON (1,2,3)
DIRECCIONES
INSTRUCCIONES CON CERO DIRECCIONES
 Se aplican a una organización especial de memoria =

Pila (stack)
Conjunto de posiciones del tipo last-in-first-out

La pila esta en una posición conocida y los dos
elementos de su cabecera están en registros del
procesador. Dichos elementos son referenciados.
En todos los casos la dirección de la siguiente instrucción esta
implícita y se va a realizar una operación con dos operandos
origen y un resultado.
DISEÑO DEL REPORTORIO DE INSTRUCCIONES
 El diseño es muy complejo, ya que afecta muchos

aspectos del computador.
 Define muchas funciones realizadas por el procesador.
 Es el medio que tiene el programador para controlar el

procesador.
NECESIDADES DEL PROGRAMADOR AL
DISEÑAR
 Repertorio de operaciones: Cuantas y que operaciones

considerar, y que tan complejas deben de ser.

 Tipos de datos: Diferentes tipos de datos con los que se

efectúan las operaciones.

 Formatos de instrucciones: Longitud de la instrucción (en

bits), número de direcciones, tamaños de los distintos campos.

 Registros: Número de registros del procesador que pueden ser

referenciados por las instrucciones y su uso.

 Direccionamiento: Modo(s) de direccionamiento mediante los

cuales puede especificarse la dirección de un operando.
Gracias por su atención.

Contenu connexe

Tendances

Multiprogramacion
MultiprogramacionMultiprogramacion
MultiprogramacionIrisMTF16
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesVideoconferencias UTPL
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosHumano Terricola
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosValentina
 
Jose luisroisic6a 20042015
Jose luisroisic6a 20042015Jose luisroisic6a 20042015
Jose luisroisic6a 20042015JLuis Reyes Olea
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 

Tendances (20)

Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Jose luisroisic6a 20042015
Jose luisroisic6a 20042015Jose luisroisic6a 20042015
Jose luisroisic6a 20042015
 
Procesos en windows
Procesos en windowsProcesos en windows
Procesos en windows
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 

En vedette

05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las InstruccionesJaime E. Velarde
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccionERICA2c3
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamientoEduardo Abalo
 
10 Instrucciones de Transferencia
10  Instrucciones  de Transferencia10  Instrucciones  de Transferencia
10 Instrucciones de TransferenciaJaime E. Velarde
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasMari Cruz
 
introduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaleintroduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaletecautind
 
Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardwareSpiderHal
 
Gestión de memoria en ensamblador
Gestión de memoria en ensambladorGestión de memoria en ensamblador
Gestión de memoria en ensambladorCarlos Solano
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS Guillermo Iván Prisco Pérez
 
Modelo von newman
Modelo von newmanModelo von newman
Modelo von newmanangel4575
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De EnsambladoresSpiderHal
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorCloud Rodriguez
 

En vedette (20)

05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
Apuntes de contabilidad
Apuntes de contabilidadApuntes de contabilidad
Apuntes de contabilidad
 
Jscript part2
Jscript part2Jscript part2
Jscript part2
 
El ciclo de instruccion
El ciclo de instruccionEl ciclo de instruccion
El ciclo de instruccion
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Unidad 1 arquitectura
Unidad 1 arquitecturaUnidad 1 arquitectura
Unidad 1 arquitectura
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
10 Instrucciones de Transferencia
10  Instrucciones  de Transferencia10  Instrucciones  de Transferencia
10 Instrucciones de Transferencia
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y Respuestas
 
introduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescaleintroduccion a la programacion de los microcontroladores motorola-freescale
introduccion a la programacion de los microcontroladores motorola-freescale
 
Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardware
 
Gestión de memoria en ensamblador
Gestión de memoria en ensambladorGestión de memoria en ensamblador
Gestión de memoria en ensamblador
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
 
Relacion cargador sistema operativo
Relacion cargador sistema operativoRelacion cargador sistema operativo
Relacion cargador sistema operativo
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Modelo von newman
Modelo von newmanModelo von newman
Modelo von newman
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 
Familias ttl y cmos
Familias ttl y cmosFamilias ttl y cmos
Familias ttl y cmos
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del Procesador
 

Similaire à 2.2 y 2.3

SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxBRIANJEFFERSONGUILLE
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Manuel Fernandez Barcell
 
LEVO: A resource flow computer
LEVO: A resource flow computerLEVO: A resource flow computer
LEVO: A resource flow computerOrlando Alemán
 
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...CarlitosSalgadoOrtuo1
 
Protocolo colaborativo unidad lll (ureche )
Protocolo colaborativo unidad lll (ureche )Protocolo colaborativo unidad lll (ureche )
Protocolo colaborativo unidad lll (ureche )Nati Cabraless
 
Sesión 10
Sesión 10Sesión 10
Sesión 10percebra
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redesYeison Montaña
 
Ciclo de instruccion ensayo
Ciclo de instruccion ensayoCiclo de instruccion ensayo
Ciclo de instruccion ensayoMarp Aerov
 
Unidad de procesamiento sis2
Unidad de procesamiento sis2Unidad de procesamiento sis2
Unidad de procesamiento sis2RubenPerez180
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesadorAlan EG
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxSamAladoVz1
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamientoAlejandro Molina
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1jherz2024
 

Similaire à 2.2 y 2.3 (20)

Multiciclo
MulticicloMulticiclo
Multiciclo
 
SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptx
 
Tema 2: Procesadores superescalares.
Tema 2: Procesadores superescalares.Tema 2: Procesadores superescalares.
Tema 2: Procesadores superescalares.
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
 
LEVO: A resource flow computer
LEVO: A resource flow computerLEVO: A resource flow computer
LEVO: A resource flow computer
 
Procesadores superescalares
Procesadores superescalaresProcesadores superescalares
Procesadores superescalares
 
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
 
Apunt2a
Apunt2aApunt2a
Apunt2a
 
Protocolo colaborativo unidad lll (ureche )
Protocolo colaborativo unidad lll (ureche )Protocolo colaborativo unidad lll (ureche )
Protocolo colaborativo unidad lll (ureche )
 
Sesión 10
Sesión 10Sesión 10
Sesión 10
 
Procesamiento segmentado - INFORME
Procesamiento segmentado - INFORMEProcesamiento segmentado - INFORME
Procesamiento segmentado - INFORME
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redes
 
Ciclo de instruccion ensayo
Ciclo de instruccion ensayoCiclo de instruccion ensayo
Ciclo de instruccion ensayo
 
Unidad de procesamiento sis2
Unidad de procesamiento sis2Unidad de procesamiento sis2
Unidad de procesamiento sis2
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesador
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
 
Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
Ciclos de instruccion
Ciclos de instruccionCiclos de instruccion
Ciclos de instruccion
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamiento
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 

2.2 y 2.3

  • 2. Introducción  La segmentación o pipeline es una técnica de realización de procesadores por la cual se solapa la ejecución de las instrucciones. Hoy en día es la técnica clave para la realización de CPU rápidas.
  • 3. Introducción  ¿Qué es la segmentación o pipelining?  Técnica para la generación de paralelismo en monoprocesadores.  Consiste en dividir una función en subfunciones independientes que pueden realizarse simultáneamente (trabajo en cadena).  En un instante determinado, se está trabajando sobre un número de elementos igual al número de etapas (paralelismo).
  • 4. Características  Características del proceso necesarias para poder aplicar segmentación:  Se debe poder descomponer en etapas.  Es necesario que las entradas de una etapa estén  determinadas únicamente por las salidas de la anterior.  Cada etapa debe poder ser realizada por un circuito específico  de forma más rápida que el conjunto del proceso.  Los tiempos de ejecución de cada etapa deben parecidos.
  • 5. La productividad de un computadora va a depender del número de instrucciones que acaben por unidad de tiempo, y no de lo que le cueste a una instrucción individual
  • 6. Segmentación en 5 Etapas (DLX).  IF: Lectura de instrucción.  ID: Decodificación de Instrucción y lectura de operandos.  EXE: Ejecución de la instrucción.  MEM: Acceso a memoria de datos.  REG: Acceso a banco de registros.
  • 7. Etapas de cauce: funcionamiento  Búsqueda (IF)  se accede a memoria a por la instrucción  se incrementa el CP  Decodificación / Búsqueda de operandos (ID)  se decodifica la instrucción  se accede al banco de registros a por los registros operandos  se calcula el valor del operando inmediato con el signo  extendido (por si hace falta más adelante)  Ejecución / Dirección efectiva (EX)  si es una instrucción de proceso, se ejecuta en la ALU  si es un acceso a memoria, se calcula la dirección efectiva  si es un salto, se calcula el destino, y si se toma o no
  • 8. Etapas de cauce: funcionamiento  Acceso a memoria / terminación del salto (MEM)  si es un acceso a memoria, se accede  si es un salto, se almacena el nuevo CP  Almacenamiento (WB)  se almacena el resultado (si lo hay) en el banco de registros
  • 9.  La realización de cada etapa de segmentación es un ciclo máquina.  Esta duración está determinada por la duración de la etapa más lenta. con frecuencia el ciclo máquina es un ciclo de reloj, aunque el reloj puede tener múltiples fases.  El objetivo del diseñador de computadoras es equilibrar correctamente el diseño de cada segmento para que todos tengan la misma duración. Si esto es así, entonces la duración de una instrucciones será (si no hay atascos): Tiempo por instrucción en máquina no segmentada -------------------------------------------------------------------Número de etapas de la segmentación
  • 12. Riesgos de la segmentación.  Cuando se detecta un riesgo, puede ser necesario detener la segmentación (no siempre).  Pero detener el procesador en una máquina no segmentada es fácil, basta terminar la instrucción en curso. En una máquina segmentada hay varias instrucciones en curso, y por ello un detención supone, en la mayoría de los casos, que algunas de las instrucciones en curso deben ejecutarse hasta finalizar, otras se retardan y otras si pueden detenerse en un instante dado.  Por lo general, cuando una instrucción se detiene, las instrucciones anteriores finalizan normalmente y las posteriores sufren un retardo en su ejecución. Durante el tiempo de retardo, no se leen más instrucciones.
  • 13. Clases de Riesgos.  Riesgos estructurales: Producidos por conflictos en la utilización del hardware. Impiden que dos instrucciones se solapen en determinados segmentos.  Riesgos por dependencias de datos: Es cuando los datos que necesita una instrucción para ejecutarse son inicializados por instrucciones anteriores que aun no han finalizado.  Riesgos de control: Suceden cuando hay un cambio brusco en el valor del PC producido por una salto u otras instrucciones.
  • 14. Riesgos estructurales.  La ejecución solapada de las instrucciones requiere la segmentación de unidades funcionales y duplicación de recursos para permitir cualquier combinación de instrucciones.  Si alguna combinación de instrucciones no se puede ejecutar por conflictos entre recursos: riesgo estructural.  En los conflictos, la unidad de control detiene la ejecución de alguna de las instrucciones hasta que el conflicto desaparezca.  Los riesgos estructurales se permiten para: • Reducir el coste. • No aumentar la latencia de la unidad.
  • 16. Riesgos por dependencia de los Datos.  Se producen cuando alguna instrucción tiene un dato fuente que es a su vez destino de otra instrucción anterior que se encuentra aún dentro de la cadena.
  • 17. Tipos de riesgos de dependencia de Datos. • RAW: lectura después de escritura. • WAR: escritura después de lectura. • WAW: escritura después de escritura.  Técnica de adelantamiento (forwarding), desvío (bypassing) o cortocircuito: • El resultado de la ALU realimenta sus cerrojos de entrada. • Los operandos entran a través de una lógica de control que selecciona la entrada correcta. El adelantamiento se puede generalizar permitiendo que el resultado de una etapa pase a la entrada de otra etapa distinta
  • 19. Con ello se consigue que si una instrucción utiliza un registro como fuente y la instrucción anterior lo tiene como destino de una operación, entonces la segunda instrucción utilizará como valor del registro fuente la salida de la ALU. Así, aunque el valor no se grabe en el registro conflictivo hasta 2 ciclos después, la segunda instrucción ya habrá hecho uso de su valor.
  • 20. Riesgos de Control.  Un riesgo de control se produce cuando es necesario llevar a cabo una decisión basada en el resultado de una instrucción mientras se están ejecutando otras instrucciones. Cuando se ejecuta un salto no se conoce de antemano cuál será la siguiente instrucción que deberá ser ejecutada. Si la condición del salto falla entonces se debe ejecutar la instrucción inmediata, si la condición del salto se cumple se debe actualizar el PC con la dirección de la siguiente instrucción que debe ejecutarse.  Una estrategia para atacar este tipo de problema es asumir que la condición del salto no se cumplirá y por lo tanto la ejecución continuará con la instrucción que se encuentra inmediatamente después de la instrucción de salto. Si la condición del salto se cumplió entonces se deberá desechar del pipeline las instrucciones que fueron captadas y la ejecución continua con la instrucción que se encuentra en la dirección de salto
  • 22. Cada instrucción debe contener la información que necesita el procesador para su ejecución.
  • 23. Elementos de una instrucción maquina  Código de operación: Especifica la operación a realizar. La operación se indica mediante un código binario denominado código de operación.  Referencia a operando fuente y origen: La operación puede implicar a uno o mas operandos que son entradas para la instrucción.  Referencia al operando de destino: La operación puede producir un resultado.  Referencia a la siguiente instrucción: Dice al procesador de donde captar la siguiente instrucción tras completarse la ejecución de la instrucción actual.
  • 24. Los operandos origen y destino pueden estar en alguna de las tres áreas siguientes:  Memoria principal o virtual: Como en las referencias a instrucciones siguientes, debe indicarse la dirección de memoria principal o de memoria virtual.  Registro del procesador: Salvo raras excepciones, un procesador contiene uno o mas registros que pueden ser referenciados por instrucciones maquina. Si solo existe un registro la referencia a el puede ser implícita. Si existe mas de uno, cada registro tendrá designado un numero único y la instrucción debe contener el numero del registro deseado.  Dispositivo de E/S: la instrucción debe especificar el modulo de dispositivo de E/S para la operación. En el caso de E/S asignadas en memoria, se dará otra dirección de memoria principal o virtual.
  • 25. Los codops se representan mediante abreviaturas, denominadas nemotécnicos, que indican la operación en cuestión.
  • 27. Cada instrucción se representa por una secuencia de bits
  • 29. Instrucción en alto nivel x=x+y; En instrucciones maquina  Supongamos que X e Y corresponden a la posición 513 y 514. Cargar un registro con el contenido de la posición de memoria 513. 2. Sumar al registro el contenido de la posición de memoria 514. 3. Memorizar el contenido del registro en la posición de memoria 513. 1.
  • 30.  Un lenguaje de alto nivel expresa las operaciones de forma algebraicas concisa, utilizando variables.  Un lenguaje maquina expresa las operaciones de una manera elemental, implicando operaciones de transferencia de datos a registros.
  • 31. Clasificación de la instrucciones.  Procesamiento de datos: Instrucciones aritméticas y lógicas.  Almacenamiento de datos: Instrucciones de memoria.  Transferencia de datos: Instrucciones de E/S  Control: Instrucciones de comprobación y de bifurcación.
  • 32. NÚMERO DE DIRECCIONES Es una de las formas tradicionales de describir la arquitectura de un procesador.  Están contenidas en cada instrucción. “ Menos significativa a medida que aumenta la complejidad del diseño del procesador”
  • 33. ¿NÚMERO MÁXIMO DE DIRECCIONES NECESARIAS EN UNA INSTRUCCIÓN?  Aritméticas y lógicas requieren más operandos. • Unarias (un operando) • Binarias (dos operandos) Necesitaríamos máximo de dos direcciones para referenciar operandos. El resultado de la operación debe almacenarse= tercera dirección. Tras completar una instrucción debe captarse la siguiente= dirección (cuarta)
  • 34. RAZONAMIENTO ANTERIOR  4 Referencias a direcciones:  Dos operandos  Un resultado  Dirección de la siguiente instrucción En la práctica es muy raro encontrar este tipo de instrucciones.
  • 35. EJEMPLO DE UNA OPERACIÓN CON (1,2,3) DIRECCIONES
  • 36. INSTRUCCIONES CON CERO DIRECCIONES  Se aplican a una organización especial de memoria = Pila (stack) Conjunto de posiciones del tipo last-in-first-out La pila esta en una posición conocida y los dos elementos de su cabecera están en registros del procesador. Dichos elementos son referenciados.
  • 37. En todos los casos la dirección de la siguiente instrucción esta implícita y se va a realizar una operación con dos operandos origen y un resultado.
  • 38. DISEÑO DEL REPORTORIO DE INSTRUCCIONES  El diseño es muy complejo, ya que afecta muchos aspectos del computador.  Define muchas funciones realizadas por el procesador.  Es el medio que tiene el programador para controlar el procesador.
  • 39. NECESIDADES DEL PROGRAMADOR AL DISEÑAR  Repertorio de operaciones: Cuantas y que operaciones considerar, y que tan complejas deben de ser.  Tipos de datos: Diferentes tipos de datos con los que se efectúan las operaciones.  Formatos de instrucciones: Longitud de la instrucción (en bits), número de direcciones, tamaños de los distintos campos.  Registros: Número de registros del procesador que pueden ser referenciados por las instrucciones y su uso.  Direccionamiento: Modo(s) de direccionamiento mediante los cuales puede especificarse la dirección de un operando.
  • 40. Gracias por su atención.