El procesador 68000 se introdujo en 1979. Durante la década de 1980 y principios de la de 1990, los modelos 68000, 68020, 68030 y 68040 estaban destinados al mercado de las computadoras personales y se usaban para las computadoras Apple. El último miembro de la familia 680X0 es el 68060, presentado a mediados de la década de 1990. 68060 y la familia ColdFire estrechamente relacionada están destinados al mercado de sistemas integrados. Primero pasaremos por los procesadores 68020.
68020 es más potente que 68000, principalmente debido a algunas mejoras arquitectónicas significativas. Estos avances fueron posibles gracias a la tecnología VLSI mejorada y los paquetes grandes que eliminaron muchas restricciones de las limitaciones de los pines. 68020 tiene conexiones externas para direcciones de 32 bits y datos de 32 bits. Aunque su bus de datos tiene 32 bits de ancho, el 68020 puede manejar de manera eficiente dispositivos que transfieren 8, 16 o 32 bits a la vez. El procesador puede ajustarse dinámicamente a los requisitos de ancho del bus de datos de un dispositivo en particular de manera transparente para cualquier programador. El bus 68020 incluye líneas de control que son activadas por los dispositivos conectados al bus para indicar el tamaño requerido de sus transferencias de datos. Por lo tanto, el procesador puede manejar dispositivos de diferentes tamaños de transferencia de datos sin conocer el tamaño real antes de que se inicie una transferencia de datos.
La restricción de 68000 de que los operandos de palabra deben alinearse en límites de direcciones pares se eliminó en 68020; los operandos de cualquier tamaño pueden comenzar en cualquier dirección. Esto significa que los operandos de 16 y 32 bits pueden ocupar partes de dos ubicaciones adyacentes de 32 bits en la memoria. Por lo tanto, se necesitan dos ciclos de acceso para alcanzar dichos operandos y esto afecta el rendimiento. El procesador realiza automáticamente estos dos accesos. A partir de la dirección, el procesador sabe a qué ubicaciones de 32 bits se debe acceder y en qué patrón se deben ensamblar los bytes individuales de estas ubicaciones para obtener el operando deseado.
Conjunto de registros y tipos de datos: al
igual que 68000, 68020 tiene modos de operaciones de usuario y supervisor. En modo supervisor, el 68020 permite tipos de datos de palabra cuádruple, BCD desempaquetado y campo de bits. Una palabra cuádruple consta de 64 bits y BCD desempaquetado tiene un dígito BCD por byte. Un campo de bits consta de un número variable de bits en una palabra larga de 32 bits y se especifica por la ubicación de su bit más a la izquierda y el número de bits en el campo.
Modos de direccionamiento:
los procesadores 68020 tienen algunos modos de direccionamiento adicionales que el 68000 para que puedan ser más flexibles y permitir un acceso eficiente a las estructuras de datos y listas de direcciones. El modo indexado completo es el más potente, ya que permite una variedad de compensaciones y proporciona un factor de escala. La versión 68020 de este permite que el desplazamiento sea de 8, 16 o 32 bits. También introduce el factor de escala por el que se multiplican los contenidos de Rk. El valor del factor de escala puede ser 1, 2, 4 u 8. La sintaxis del código es:
(disp.An.Rk.size*scale)
Aquí An es Registro Indirecto (uno de los modos de direccionamiento).
Nos dimos cuenta de que el desplazamiento se da entre paréntesis en el código anterior. Así que la dirección efectiva de EA es:
EA = disp + [An] + ( [Rk] x scale )
Este modo es útil cuando se trata de listas de elementos de 1, 2, 4 u 8 bytes de longitud. Si se elige este factor de escala para que sea igual al tamaño de los elementos, se puede acceder a los elementos sucesivos de la lista incrementando el contenido de Rk en 1.
Otra poderosa extensión del direccionamiento indexado son los modos indexados indirectos de memoria, en los que un operando de dirección se obtiene indirectamente de la memoria principal. Existen dos modos de este tipo.
En el modo posindexado indirecto de memoria , la dirección se obtiene de la memoria antes de que tenga lugar el proceso de indexación normal. La dirección efectiva se calcula como
EA = [basedip + [An]] + ([Rk] x scale) + outdip
Tenga en cuenta que se utilizan dos desplazamientos. Se usa un desplazamiento base de 16 o 32 bits para modificar la dirección en An, que se usa para obtener el operando de dirección de la memoria. Esto permite seleccionar una dirección de una lista de direcciones almacenadas en la memoria comenzando en alguna ubicación dada por el contenido de An. El segundo desplazamiento es el desplazamiento normal utilizado en el direccionamiento de indexación, llamado desplazamiento exterior para distinguirlo del desplazamiento base.
En el modo preindexado indirecto de memoria, la mayor parte de la modificación de indexación se realiza antes de que se obtenga el operando de dirección. La sintaxis para este modo es:
([basedip,An,Rk.size*scale],outdip) and then EA = [basedip + [An] + ([Rk] x scale)] + outdip
En los dos modos discutidos anteriormente, el valor de An, Rk, basedip y outdip son opcionales y no se incluyen en el cálculo de la dirección efectiva a menos que lo especifique el usuario. Estos modos de direccionamiento son útiles para tratar con listas en las que se utilizan ubicaciones de memoria contiguas para almacenar direcciones de elementos de datos, en lugar de los elementos de datos en sí mismos. Este último puede estar en cualquier parte de la memoria.
Conjunto de instrucciones:
todas las instrucciones del 68000 están disponibles en el 68020. Algunas tienen flexibilidad adicional. Por ejemplo, las instrucciones de bifurcación pueden tener desplazamientos de 32 bits y varias instrucciones tienen la opción de usar operandos más largos. También se proporcionan algunas instrucciones nuevas, como las instrucciones que se ocupan de los operandos de campo de bits.
Caché en chip: el
chip 68020 incluye una pequeña caché de instrucciones que tiene 256 bytes organizados en bloques de 64 palabras. Se utiliza un esquema de mapeo directo cuando se cargan nuevas palabras en la memoria caché.
Hay dos aspectos principales diferentes en 68030 que en 68020. Además del caché de instrucciones, 68030 tiene otro caché del mismo tamaño para datos. La organización del caché de datos tiene 16 bloques de 4 palabras largas cada uno. 68030 también contiene una unidad de gestión de memoria (MMU).
La ejecución en el 68030 genera dirección virtual. El circuito de acceso a la memoria caché determina si el operando deseado está en la memoria caché, en función de la dirección virtual. La MMU traduce la dirección virtual en una dirección física en paralelo con el acceso a la memoria caché para que, en caso de que se pierda el acceso a la memoria caché, la dirección física necesaria para acceder al operando si la memoria principal está disponible de inmediato.
68040, incluye una unidad de punto flotante que implementa los estándares de punto flotante IEEE. 68040 tiene las siguientes cosas:
- La gestión de la memoria se ha mejorado con respecto a la del 68030; 68040 tiene dos cachés de traducción de direcciones independientes que permiten la traducción simultánea de direcciones para instrucciones y datos.
- Tiene una estructura de canalización que permite obtener instrucciones mientras se siguen procesando las instrucciones anteriores.
- Se utilizan dos buses internos para transferir instrucciones y datos de las cachés respectivas. También permiten el acceso simultáneo a cachés de datos e instrucciones.
- Incluye circuito que monitorea actividad en bus externo. Por lo tanto, esto hace que el 68040 sea adecuado para su uso en sistemas multiprocesador.
El último miembro de la familia 680X0 es 68060 [6],Introducido a mediados de la década de 1990, con frecuencias de reloj que oscilan entre 50 y 75 MHz. Este procesador está destinado al mercado de sistemas integrados. Las nuevas características organizativas y de fabricación dan como resultado un rendimiento 2,5 veces superior al de un 68040 de 40 MHz. El 68080 es un procesador superescalar canalizado. Pipeline tiene 04 etapas básicas, con dos etapas adicionales (si se requiere una operación de reescritura de memoria). Se pueden iniciar hasta 03 instrucciones por ciclo de bloque. 03 unidades de función (unidades enteras y una unidad de punto flotante) comprenden el hardware principal de procesamiento de instrucciones. Hay cachés de datos e instrucciones de 8K bytes independientes en el chip. Cada caché es un conjunto asociativo de 4 vías y utiliza un bloque de 16 bytes. Con las memorias caché se proporcionan dos búferes de búsqueda de traducción de 64 entradas, 4 vías, asociativos por conjuntos, para facilitar la traducción de direcciones virtuales a físicas.
4. Familias de procesadores COLDFIRE:
Desde mediados de la década de 1990, Motorola ha producido una serie de componentes de procesador y configuracionismo de computadoras pequeñas denominada familia ColdFire, que está dirigida al mercado de sistemas integrados. Los procesadores se basan en el núcleo del procesador 68060. Varios productos diferentes están configurados con una pequeña cantidad de memoria y hardware de puerto de E/S para conexiones en serie y en paralelo. Estos productos cumplen con una variedad de requisitos de potencia y rendimiento para diferentes aplicaciones. Tanto los productos de chips de hardware como los diseños de software sintetizables están disponibles en la familia ColdFire.
Publicación traducida automáticamente
Artículo escrito por versatile1990 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA