Vous êtes sur la page 1sur 5

INVESTIGACIÓN

Alumno: Henry Neira Paucar Codigo:17200178


Curso: Sistemas digitales

PIPELINING:
Pipeling (canalización) es una técnica de implementación donde se
superponen varias instrucciones en la ejecución. La tubería de la computadora
se divide en etapas . Cada etapa completa una parte de una instrucción en
paralelo. Las etapas se conectan una a la siguiente para formar un conducto:
las instrucciones entran en un extremo, avanzan a través de las etapas y salen
por el otro extremo.
La canalización no disminuye el tiempo para la ejecución de instrucciones
individuales. En su lugar, aumenta el rendimiento de instrucción. El
rendimiento de la tubería de instrucciones se determina por la frecuencia con
la que una instrucción sale de la tubería.
Debido a que las etapas de la tubería están enganchadas, todas las etapas
deben estar listas para continuar al mismo tiempo. Llamamos al tiempo
requerido para mover una instrucción un paso más en la tubería de un ciclo
de máquina. La duración del ciclo de la máquina está determinada por el
tiempo requerido para la etapa de tubería más lenta.
El objetivo del diseñador de tuberías es equilibrar la longitud de cada etapa
de la tubería. Si las etapas están perfectamente equilibradas, entonces el
tiempo por instrucción en la máquina canalizada es igual:
Tiempo por instrucción en máquina no apilada
Número de etapas de tubería

On board Cache:
Cuando se intenta leer o escribir en una ubicación en la memoria principal, el
procesador verifica si los datos de esa ubicación ya están en el caché. Si es así,
el procesador leerá o escribirá en el caché en lugar de la memoria principal,
que es mucho más lenta.
La mayoría de las CPU modernas de escritorio y servidor tienen al menos tres
cachés independientes: un caché de instrucciones para acelerar la búsqueda
de instrucciones ejecutables, un caché de datos para acelerar la captura y
almacenamiento de datos, y un búfer de traducción (TLB) utilizado para
acelerar el virtual-to- Traducción de direcciones físicas tanto para
instrucciones ejecutables como para datos. Se podría proporcionar un solo
TLB para acceder tanto a las instrucciones como a los datos, o se puede
proporcionar un TLB de instrucciones (ITLB) y un TLB de datos (DTLB) por
separado. El caché de datos generalmente se organiza como una jerarquía de
más niveles de caché (L1, L2, etc ). Sin embargo, el caché TLB es parte de la
unidad de gestión de memoria (MMU) y no está directamente relacionada con
los cachés de la CPU.

On board:
Los sistemas de datos a bordo abarcan una amplia gama de bloques
funcionales que incluyen módulos de telecomando y telemetría,
computadoras a bordo, almacenamiento de datos y memorias masivas,
unidades terminales remotas, protocolos de comunicación y buses. Estos
elementos son comunes a todos los proyectos y están sujetos a un conjunto
exigente de requisitos en evolución de las misiones de Ciencia, Exploración,
Observación de la Tierra y Telecomunicaciones.

The on-board computer (también conocida como Unidad de Administración


de Spacecraft - SMU o Unidad de Administración de Manejo de Datos y
Comandos - CDMU) es el núcleo central de SpionCraft Avionics. La Unidad
Central de Procesamiento (CPU) aloja el SW de la Plataforma de Ejecución
(compuesto por capas RTOS, BSP, SOIS, PUS, ...) y el SW de la Aplicación. Los
otros bloques principales de un OBC son los recuerdos volátiles y no volátiles,
los recuerdos de Safe Guard, el temporizador a bordo, los controladores de
interfaz y los módulos de reconfiguración. La figura anterior muestra
una arquitectura funcional del sistema de datos a bordo donde todos los
bloques funcionales principales se indican con sus enlaces de
intercomunicación y su esquema de redundancia típico.

Branch predictor:
En la arquitectura de computadoras , a Branch predictor es un circuito
digital que intenta adivinar de qué manera una rama (por ejemplo,
una estructura if - then - else ) irá antes de que esto se conozca.
definitivamente El propósito del predictor de rama es mejorar el flujo en la
línea de instrucciones . Los predictores de rama desempeñan un papel crítico
en el logro de un alto rendimiento efectivo en
muchas arquitecturas modernas
de microprocesadores canalizados como x86 .
La ramificación bidireccional se implementa generalmente con
una instrucción de salto condicional . Un salto condicional se puede "no
tomar" y continuar la ejecución con la primera rama de código que sigue
inmediatamente después del salto condicional, o se puede "tomar" y saltar a
un lugar diferente en la memoria del programa donde se encuentra la
segunda rama de código almacenado No se sabe con certeza si se tomará o
no un salto condicional hasta que la condición se haya calculado y el salto
condicional haya pasado la etapa de ejecución en la línea de instrucciones).
Sin la predicción de ramificación, el procesador tendría que esperar hasta que
la instrucción de salto condicional haya pasado la etapa de ejecución antes de
que la siguiente instrucción pueda ingresar a la etapa de recuperación en la
tubería. El predictor de rama intenta evitar esta pérdida de tiempo al tratar de
adivinar si es más probable que se tome o no el salto condicional. Si luego se
detecta que la suposición fue incorrecta, las instrucciones ejecutadas de forma
especulativa o parcialmente ejecutadas se descartan y la canalización vuelve a
comenzar con la rama correcta, lo que genera un retraso.
El tiempo que se pierde en el caso de una predicción errónea de una sucursal
es igual al número de etapas en la tubería desde la etapa de captación hasta
la etapa de ejecución.

Data Flow:
Dataflow Architecture es una arquitectura de computadora que contrasta
directamente la arquitectura tradicional de von Neumann o la arquitectura de
flujo de control . Las arquitecturas de flujo de datos no tienen un contador de
programa , o (al menos conceptualmente) la ejecución y ejecución de las
instrucciones se determina únicamente en función de la disponibilidad de los
argumentos de entrada de las instrucciones, de modo que el orden de
ejecución de la instrucción es impredecible: es decir, el comportamiento es
indeterminista.
Aunque ningún hardware informático de propósito general con éxito
comercial ha utilizado una arquitectura de flujo de datos, se ha implementado
con éxito en hardware especializado, como en el procesamiento de señales
digitales , enrutamiento de red , procesamiento de gráficos , telemetría y, más
recientemente, en el almacenamiento de datos. También es muy relevante en
muchas arquitecturas de software hoy en día, incluidos los diseños de motores
de bases de datos y los marcos de computación en paralelo .
Las arquitecturas de flujo de datos síncrono se adaptan a la carga de trabajo
presentada por las aplicaciones de rutas de datos en tiempo real, como el
reenvío de paquetes a velocidad de cable. Las arquitecturas de flujo de datos
que son de naturaleza determinista permiten a los programadores gestionar
tareas complejas como el equilibrio de carga del procesador, la sincronización
y el acceso a recursos comunes.
Mientras tanto, hay un choque de terminología, ya que el término flujo de
datos se usa para una subárea de programación paralela: para
la programación de flujos de datos .

Speculative execution:
La ejecución especulativa es una técnica que usan los diseñadores de CPU
para mejorar el rendimiento de la CPU. Es uno de los tres componentes de la
ejecución fuera de orden, también conocida como ejecución dinámica. Junto
con la predicción de múltiples ramas (utilizada para predecir las instrucciones
que probablemente se necesitarán en el futuro cercano) y el análisis del flujo
de datos (usado para alinear las instrucciones para una ejecución óptima, en
lugar de ejecutarlas en el orden en que se presentaron), la ejecución
especulativa entregó una gran mejora del rendimiento sobre procesadores
Intel anteriores.
Existen diferencias entre la forma en que Intel, AMD y ARM implementan la
ejecución especulativa, y esas diferencias son parte de la razón por la que Intel
está expuesta en Meltdown de una manera que los otros proveedores no lo
hacen. Pero la ejecución especulativa, como técnica, es simplemente
demasiado valiosa para dejar de usarla. Cada una de las arquitecturas de CPU
de alta gama de hoy en día (AMD, ARM, IBM, Intel, SPARC) utiliza la ejecución
fuera de orden. Y la ejecución especulativa, aunque implementada de manera
diferente de una compañía a otra, es utilizada por cada uno de ellos.
Intelligent overclocking:
Overclocking es restablecer algunos componentes de la computadora para
que funcione más rápido que la velocidad especificada por el fabricante. El
propósito del overclocking es aumentar el rendimiento.

Un usuario puede overclockear un procesador para mejorar el rendimiento de


una computadora vieja o cumplir con los requisitos de un nuevo software. Los
usuarios más exigentes, como los gamers, pueden overclockear incluso los
nuevos equipos de alta gama. La parte de la computadora con más frecuencia
de overclocking es el procesador, pero otros componentes, como la memoria
de acceso aleatorio (RAM), los chipsets de la placa base y las tarjetas gráficas,
también están overclockeados.

El procedimiento para hacer overclocking en un procesador depende de varios


factores. El primer paso y el más comúnmente aplicado es restablecer la
velocidad del bus de su computadora. El restablecimiento de la velocidad del
bus puede requerir restablecer los puentes dentro de su computadora,
aunque en sistemas con SoftMenu BIOS, la velocidad del bus se puede
configurar a través de la interfaz de configuración del sistema. Los factores
que favorecen su capacidad de overclock con éxito incluyen tener una placa
base bien diseñada con un bus lo suficientemente rápido y tener un ventilador
u otro dispositivo de enfriamiento que mantenga su sistema lo
suficientemente fresco.