3 Clase Ensamblador UC, ALU y Otros
3 Clase Ensamblador UC, ALU y Otros
3 Clase Ensamblador UC, ALU y Otros
Nombre de la estructuración utilizada en los ordenadores actuales; desde 1945 con UNIVAC.
Arquitectura diferenciadora entre hardware y software que él creó (Jhon Von Neumann es junto con
Alan Turing padre de la informática moderna, y curiosamente el gran precursor de los virus informáticos
en sus estudios sobre autómatas autorreproductores que John Conway continuó en 1970 con el juego
"Life", antecesor a su vez de los algoritmos genéticos).
Según esta arquitectura, una definición adecuada para un computador sería la siguiente:
Los elementos básicos de un computador propuestos por Von Neumann y que se utilizan en la
actualidad son los siguientes:
Se encarga de decodificar la instrucción que se va a ejecutar, ósea saber que instrucción es.
Recibe la instrucción interpreta por la Unidad de Codificación, activando las señales necesarias para
poder poner en marcha la instrucción.
Arquitectura Harvard
Hoy en día (2020), la mayoría de los procesadores implementan dichas vías de señales separadas por
motivos de rendimiento, pero en realidad implementan una arquitectura Harvard modificada, para que
puedan soportar tareas tales como la carga de un programa desde una unidad de disco como datos
para su posterior ejecución.
Diagrama
UNIDAD DE CONTROL UNIDAD ARITMETICO
( UC ) LOGICA ( ALU )
UNIDAD DE CONTROL
Es donde se controlan, interpretan y ejecutan todas las operaciones del usuario del computador y
propias de él mismo. Entre sus funciones están:
Reloj Contador de
Programa
Secuenciador
Decodificador
Registro de
Instrucciones
Microordenes
Buses
Circuito Operacional: Contiene los registros necesarios para realizar las operaciones con los datos
procedentes de una instrucción anterior o nueva instrucción.
Flags: registro de banderas, donde se queda guardado los valores particulares de la instrucción
ejecutada.
En función de las instrucciones que son capaces de ejecutar los procesadores se clasifican en:
A partir de la clasificación interna de los procesadores en CISC o RISC se puede clasificar la tecnología
de los procesadores por la complejidad de su composición.
ARM (Advanced Risc Machine) https://www.arm.com/ : Tiene un consumo muy bajo de energía, menos
calor y menos tamaño. Son muy usados en la electrónica de los dispositivos de la casa, como SMARTV,
Impresoras, horno microondas, smartphone, etc. La mayoría no necesita disipadores térmicos, utiliza
menos transistores.
La empresa líder de esta arquitectura es Acorn RISC Machine luego se unio con APPLE, y otras
compañías como Advanced Risc Machine y hoy en día se conoce como ARM HOLDINGS
(https://es.wikipedia.org/wiki/Arm_Holdings), su fuerte es vender núcleos IP (Propiedad intelectual) para
las demás casas de tecnología como INTEL, AMD, ALCATEL, SONY, NINTENDO, SAMSUNG,
YAMAHA, HUAWEI, etc.
Products al 2020
Puedes instalar Android en tu PC y Windows 10 en la Raspberry Pi con procesador ARM, pero son
versiones creadas para trabajar con estos dispositivos, por lo que en realidad son sistemas operativos
diferentes al Android de tu móvil y el Windows 10 de tu PC
La arquitectura x86 fue lanzada por Intel con el procesador Intel 8086 en el año 1978 como una
arquitectura de 16 bits.
Esta arquitectura de Intel evolucionó a una arquitectura de 32 bits cuando apareció el procesador Intel
80386 en el año 1985, denominada inicialmente i386 o x86-32 y finalmente IA-32.
Desde 1999 hasta el 2003, AMD amplió esta arquitectura de 32 bits de Intel a una de 64 bits y la llamó
x86-64 en los primeros documentos y posteriormente AMD64. Intel pronto adoptó las extensiones de
la arquitectura de AMD bajo el nombre de IA-32e o EM64T, y finalmente la denominó Intel 64.
La arquitectura x86-64 (AMD64 o Intel 64) de 64 bits da un soporte mucho mayor al espacio de
direcciones virtuales y físicas, proporciona registros de propósito general de 64 bits y otras mejoras que
conoceremos más adelante.
Cualquier procesador actual también dispone de una serie de unidades específicas para trabajar con
números en punto flotante (juego de instrucciones de la FPU), y de extensiones para trabajar con datos
multimedia (juego de instrucciones MMX y SSE en el caso de Intel, o 3DNow! en el caso de AMD).
RELOJ
El reloj interno es un componente del microprocesador que emite una serie de pulsos eléctricos a
intervalos constantes llamados ciclos, estos ciclos marcan el ritmo que ha de seguirse para la
realización de cada paso de que consta la instrucción.
Se basa en la teoría binaria para marcar el ritmo (también denominado pulso), el cual se considera
como 1 al estado de encendido y 0 al estado de apagado. La velocidad de cambio se denomina en
hercios (Hz) que son los ciclos de cambio por segundo y esto define la velocidad de funcionamiento del
microprocesador.
CICLO DE CPU
El funcionamiento de este reloj es comparable con un metrónomo con su péndulo que oscila de
izquierda a derecha. El intervalo de tiempo que el péndulo tarda en recorrer esa distancia y regresar a
su punto inicial se denomina ciclo.
Todos los microprocesadores poseen un oscilador o reloj que, al igual que el metrónomo, marca el
número de ciclos por segundo.
Se conoce como generador de reloj al componente que produce impulsos con una determinada
frecuencia. El generador de reloj es a menudo un multivibrador corriente. El generador en ordenadores
y en relojes suele ser un oscilador de cristal. En los automóviles el generador de reloj para las luces
intermitentes suele ser un relé con un temporizador. LEER MIPS y FLOPS
UNA SUPER PC MÁS POTENTE DEL MUNDO FUGAKU, destronando SUMMIT pero esperando
2021 (AURORA) de IBM
https://www.youtube.com/watch?v=VNSbc_YZhyY
A64FX de 48 núcleos de
Fujitsu
415,5 petaflops
200 quadrillones de
calculos por segundo
250 PB
almacenamiento
9126 procesadores
Power 9 (Doble nucleo)
25 GB por Segundo
entre nodos
https://www.ibm.com/co-es/it-infrastructure/power/power9
UPDATE
1. Fugaku: Se encuentra en Kobe Japón, desarrollada por Fujitsu y Inst. investigaciones Riken,
su rendimiento fue de 415,5 petaflogs. Según la prueba superando a SUMMIT por 2.8 veces.
Su procesador es SoC A64FX de 48 núcleos de Fujitsu con tecnología ARM
https://www.youtube.com/watch?time_continue=74&v=_T_y5VCSb1s&feature=emb_logo
FLOGS
Su acrónimo es FLOGS
(Flotante Operaciones por Segundo)
Intervienen la mecánica cuántica: Ub bit entra en superposición coherente: puede ser 0, 1 y puede ser
0 y 1 a la vez (dos estados ortogonales de una partícula subatómica). Eso permite que se puedan
realizar varias operaciones a la vez.
Con los bits convencionales, si se tenía un registro de tres bits, había ocho valores posibles y el registro
solo podía tomar uno de esos valores. En cambio, si se tenía un vector de tres qúbits, la partícula puede
tomar ocho valores distintos a la vez gracias a la superposición cuántica.
Conclusión en un computador normal con 3 bits “supuesto” existe un valor en una localidad única
como por ejemplo: 101(2) = 5 (10) en cambio en un computador cuántico una localidad única de 3 cúbits
seria por ejemplo: Desde 000 hasta 111 ósea 8 posibles valores un una única localidad de memoria.
LATINOS https://www.youtube.com/watch?v=vwu7UrO5B5M
EUROPEOS https://www.youtube.com/watch?v=035rUtCPKWU
IBM Q SYSTEM ONE : Primera computadora cuántica comercial pero como servicio 20 Qubit
con tendencia a 50 Qubit
Intro https://www.youtube.com/watch?v=LAA0-vjTaNY
Sound https://www.youtube.com/watch?v=o-FyH2A7Ed0
Español https://www.youtube.com/watch?v=eZT5zGdGB_8
Su función es estar continuamente accesando la memoria, trayendo de ella las instrucciones para ser
ejecutadas por el procesador (Fetch).
a. REGISTROS DE SEGMENTOS
Estos registros son localidades de 16, 32 y 64 bits dedicados a las funciones de acceso a memoria
(Real y Protegida).
Ya que el BIU trabaja en paralelo con el EU, requieren de un mecanismo para comunicarse. Esto se
logra con una cola, estructura de datos que permite que el EU obtenga instrucciones para ejecutar en
el mismo orden en que el BIU las colocó en la misma. Así, el EU puede solicitar instrucciones en cuanto
esté listo para ejecutar la siguiente, sin importar en qué paso está el BIU en la obtención de
instrucciones; y viceversa, el BIU puede continuar su búsqueda de instrucciones, depositando la que
acaba de obtener en la cola, sin importar si el EU en este momento está ocupado ejecutando.
Esta combinación está basada en la arquitectura segmentada que veremos más adelante. La función
del generador de direcciones físicas consiste en realizar esa combinación, para lo cual contiene la
circuitería necesaria para calcular la fórmula:
d. BUS C
Este bus interno del procesador permite que la información fluya entre la interfaz con la memoria y los
distintos elementos del BIU. Se requiere un bus independiente, para que la información que usa el EU
no se interfiera con la que está procesando el BIU.
a. Unidad de control
b. Registros de propósito general
c. Registros de índice
d. ALU
e. Registro de Banderas
f. Bus A
a. UNIDAD DE CONTROL
Es la sección del procesador que contiene la lógica de funcionamiento del mismo; es decir, esta
circuitería gobierna el comportamiento de los distintos elementos en el procesador, coordinando los
procesos de Fetch y Execute, así como las distintas microoperaciones necesarias para la ejecución.
Por tanto, tiene dos funciones principales:
Generar la secuencia de estados del procesador, lo que logra gracias a la ejecución del micro código.
Decodificar las instrucciones, determinando así los pasos para su ejecución.
16 bits AX AH AL
32 bits EAX 8 8 8 8
64 bits RAX 8 8 8 8 8 8 8 8
Pueden ejecutar la mayoría de las operaciones del procesador, incluyendo la generalidad de las
instrucciones aritméticas y lógicas, salvo la multiplicación y división.
Se dividen lógicamente en 2 registros de 8 bits cada uno, llamados parte alta y parte baja; refiriéndose
el registro de parte baja a los bits 0-7 (menos significativos) y la parte alta a los bits 8-15 (más
significativos). Se conocen como el registro L (parte baja) y H (parte alta), precedidos por la letra que
identifica al registro. Por ejemplo, AX se divide en AH y AL.
Pueden conectarse a los registros de segmentos; de hecho, siempre se hará acceso a los registros de
segmento a través de un registro de propósito general, o de la pila.
Los 4 registros tienen su nombre propio y ciertas especializaciones:
• De manejo de ciclos
• Como contador en los corrimientos
• De manejo de memoria y strings
• Formar con AX números de 32 bits, siendo en este caso la parte más significativa.
• El acceso a puertos. Las instrucciones IN y OUT, que permiten dicho acceso, requerirán en
ciertos casos que el número de puerto esté en DX.
c. REGISTROS DE ÍNDICE
d. REGISTROS DE APUNTADORES
Este registro apunta a la siguiente instrucción a ejecutarse dentro del segmento de código, es aquel
que trabaja directamente en el procesador para la predicción y la especulación del proceso que se esta
realizando.
f. REGISTRO DE BANDERAS
Se usa como bandera donde los bits señalan un evento dentro del procesador; cuando el bit tiene un
valor de 0, el evento no ocurrió (falso); y cuando tiene un valor de 1, el evento ocurrió (verdadero).
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ID VIP VIF AC VM RF
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NT IOP1 IOP0 O D I T S Z A P C
RF Bandera de reanudación
Se ejecuta cuando se esta depurando un programa, para controlar el pare y siga en este proceso.
ID Bandera de Identificación
Aparece desde el procesador Pentium para identificar al sistema que tipo de procesador posee. CPUID
f. BUS A
Este bus es el camino por el que viajan los datos dentro de la unidad de ejecución, principalmente entre
los registros y el ALU.
DESPLAZAMIENTO EN SEGMENTOS
En todo programa las localidades de memoria están referenciadas a partir de una dirección inicial del
segmento. La distancia en bytes desde la dirección inicial del segmento es el desplazamiento
(OFFSET). Un desplazamiento de dos bytes (16 bits) puede estar en un rango de 0000H a FFFFH ósea
de 0 a 65535 en decimal.
Memoria Caché
Se usa para facilitar una transferencia aún más rápida de instrucciones y datos al procesador; es decir
que se usa para mejorar el caudal de proceso (velocidad con que un sistema de computación puede
realizar el trabajo). Al igual que la RAM, el caché es un área de almacenamiento de alta velocidad para
las instrucciones de los programas y los datos, pero es ampliamente más rápida que la RAM y mucho
más cara. Con sólo una fracción de la capacidad de la RAM, la memoria caché sólo contiene las
instrucciones y los datos que es probable que el procesador requiera enseguida.
Historia
MATERIAL DE APOYO Mati Epp Is FABIAN ROBLES UFPS www.roblestecnologia.com
UFPS ING. SISTEMAS Arquitectura del Computador
Su funcionamiento cuando no hacia parte del procesador era como se muestra en la gráfica
Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La
cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y
los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones
y otra para datos.
Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas
ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la
caché L1, pudiendo llegar a superar los 2MB.
A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas
que al sistema.
Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad.
Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la
memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca
se encuentre del núcleo del procesador (L1).
Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una
RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene
ninguna demora... pero es un tipo de memoria muy cara.
Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el
tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible.
Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está
accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su
propia caché L2 dedicada solo para ese núcleo.
La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a continuación por
los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente
(aunque dentro del procesador).
Memoria Virtual
Es el espacio que asignamos en el disco duro como memoria de soporte en caso de llenarse la memoria RAM del
computador, el valor que tiene por defecto es el establecido por el sistema operativo, para nuestro caso podemos
ampliarla y asi mejorar el rendimiento del PC, haciendo la aclaración que le estamos quitando espacio al disco
duro para realizar esta virtualización de memoria.
Para realizarlo hacemos los siguientes PASOS (en Windows 7):
Inicio / Panel de Control / Sistema
Clic en Configuración básica del sistema para cargar la ventana de Propiedades del Sistema, seleccionando la
pestaña Opciones Avanzadas
Una vez definido el tamaño pulsamos Aceptar y nos aparecerá la confirmación del cambio.
1. Para abrir Sistema, haga clic en el botón Inicio , en Panel de control, en Sistema y
mantenimiento y, a continuación, en Sistema.
2. En el panel izquierdo, haga clic en Configuración avanzada del sistema. Si se le
solicita una contraseña de administrador o una confirmación, escriba la contraseña o
proporcione la confirmación.
3. En la ficha Opciones avanzadas, en Rendimiento, haga clic en Configuración.
4. Haga clic en la ficha Opciones avanzadas y, a continuación, en Memoria virtual, haga
clic en Cambiar.
5. Desactive la casilla Administrar automáticamente el tamaño del archivo de paginación
para todas las unidades.
6. En Unidad [etiqueta de volumen], haga clic en la unidad que contiene el archivo de
paginación que desee cambiar.
7. Haga clic en Tamaño personalizado, escriba un nuevo tamaño en megabytes en el
cuadro Tamaño inicial (MB) o Tamaño máximo (MB), haga clic en Establecer y, a
continuación, haga clic en Aceptar.
Los aumentos de tamaño no suelen requerir que se reinicie el equipo, pero si reduce el tamaño,
tendrá que reiniciar el equipo para que los cambios surtan efecto. Se recomienda no
deshabilitar ni eliminar el archivo de paginación.
2. Dentro de un procesador
https://www.youtube.com/watch?v=lYXiYU1v-xU
3. El procesador
https://www.youtube.com/watch?v=IG-qGZDFjJA
4. La memoria
https://www.youtube.com/watch?v=V2RdrWnHXYI