Arquitectura de microprocesadores: principales tipos, desarrollo, ventajas y desventajas. Microcontroladores, funcionalidad y soluciones arquitectónicas. Desventaja de la arquitectura de Princeton

Anotación: El propósito de la conferencia: familiarización con la arquitectura de los microprocesadores, las características distintivas de los microprocesadores de varios tipos de arquitectura, las etapas de desarrollo de la arquitectura de los microprocesadores universales, así como las características principales de la arquitectura IA-32.

Conceptos básicos y características de la arquitectura del microprocesador.

Microprocesador(MP) es un dispositivo controlado por software que está diseñado para procesar información digital y control del proceso de este procesamiento y se realiza en forma de uno o varios grandes circuitos integrados(BIS).

Concepto circuito integrado grande actualmente no está claramente definido. Anteriormente se creía que esta clase debería incluir microcircuitos que contienen más de 1000 elementos en un chip. De hecho, los primeros microprocesadores se ajustaban a estos parámetros. Por ejemplo, la sección de procesador de 4 bits del kit de microprocesador K584, producido a finales de la década de 1970, contenía alrededor de 1.500 elementos. Ahora que los microprocesadores contienen decenas de millones de transistores y su número aumenta constantemente, por LSI nos referimos a un funcionalmente complejo. circuito integrado.

Sistema de microprocesador(MPS) es un producto funcionalmente completo que consta de uno o más dispositivos, cuya base es un microprocesador.

Un microprocesador se caracteriza por una gran cantidad de parámetros y propiedades, ya que es, por un lado, un dispositivo informático funcionalmente complejo y, por otro, un dispositivo electrónico, un producto de la industria electrónica. Como medio de tecnología informática, se caracteriza principalmente por su arquitectura, es decir, un conjunto de propiedades de software y hardware proporcionadas al usuario. Esto incluye el sistema de instrucción, tipos y formatos de datos procesados, modos de direccionamiento, número y distribución de registros, principios de interacción con RAM y dispositivos externos (características del sistema de interrupción, acceso directo a la memoria, etc.). Según su arquitectura, los microprocesadores se dividen en varios tipos (Fig. 1.1).

Microprocesadores universales están diseñados para resolver problemas de procesamiento digital de diversos tipos de información, desde cálculos de ingeniería hasta trabajar con bases de datos, y no están sujetos a restricciones estrictas en el tiempo de finalización de la tarea. Esta clase de microprocesadores es la más conocida. Incluye microprocesadores tan conocidos como la serie Pentium MP de Intel y la familia Athlon MP de AMD.


Arroz. 1.1.

Características de los microprocesadores universales.:

  • Profundidad de bits: determinada por la capacidad máxima de bits de los datos enteros procesados ​​en 1 ciclo de reloj, es decir, de hecho, la capacidad de bits unidad lógica aritmética(ALU);
  • tipos y formatos de datos procesados;
  • sistema de comando, modos de direccionamiento de operandos;
  • capacidad de RAM direccionable directamente: determinada por el ancho de bits del bus de direcciones;
  • frecuencia del reloj externo. Para la frecuencia de sincronización se suele indicar su valor máximo posible, en el que se garantiza el funcionamiento del circuito. Para circuitos funcionalmente complejos, que incluyen microprocesadores, a veces también se indica la frecuencia de sincronización mínima posible. Reducir la frecuencia por debajo de este límite puede provocar una falla del circuito. Al mismo tiempo, en aquellas aplicaciones MP donde no se requiere un alto rendimiento, reducir la frecuencia de sincronización es una de las áreas de ahorro de energía. En varios microprocesadores modernos, a medida que la frecuencia disminuye, se convierte en< спящий режим >, en el que conserva su estado. La frecuencia del reloj dentro de la misma arquitectura le permite comparar el rendimiento de los microprocesadores. Pero las diferentes decisiones arquitectónicas afectan el rendimiento mucho más que la frecuencia;
  • Rendimiento: se determina mediante pruebas especiales, y el conjunto de pruebas se selecciona de tal manera que cubran, si es posible, varias características de la microarquitectura del procesador que afectan el rendimiento.

Los microprocesadores universales generalmente se dividen en CISC- Y microprocesadores RISC. microprocesadores CISC(Computación del conjunto de instrucciones completo: cálculos con un sistema de instrucciones completo) incorpora todo el conjunto clásico de instrucciones con modos de direccionamiento de operandos ampliamente desarrollados. A esta clase pertenecen, por ejemplo, los microprocesadores tipo Pentium. Al mismo tiempo microprocesadores RISC(computación con conjunto de instrucciones reducido: cálculos con un sistema de instrucciones reducido) utiliza, como se desprende de la definición, un número reducido de comandos y modos de direccionamiento. Aquí, en primer lugar, cabe destacar microprocesadores como Alpha 21x64, Power PC. El número de instrucciones en el conjunto de instrucciones es el más obvio, pero hoy en día no es la diferencia más importante en estas direcciones de desarrollo de los microprocesadores universales. Consideraremos otras diferencias a medida que estudiemos las características de su arquitectura.

Microcontroladores de un solo chip(OMK o simplemente MK) están destinados a su uso en sistemas de automatización industrial y doméstica. Son grandes circuitos integrados que incluyen todos los dispositivos necesarios para implementar un sistema de control digital mínimamente configurado: un procesador (normalmente entero), memoria de comandos, memoria de datos, generador de reloj, dispositivos programables para la comunicación con el entorno externo ( controlador de interrupción, temporizadores-contadores, varios puertos de entrada/salida), a veces convertidores de analógico a digital y de digital a analógico, etc. En algunas fuentes, esta clase de microprocesadores se denomina microcomputadoras de un solo chip (SMC).

Actualmente, dos tercios de todos los microprocesadores LSI producidos en el mundo son MP de esta clase, y casi dos tercios de ellos tienen una capacidad de bits que no supera los 16 bits. A la clase de un solo chip. microcontroladores En primer lugar, se incluyen los microprocesadores de la serie MCS-51 de Intel y microprocesadores similares de otros fabricantes, cuya arquitectura se ha convertido en un estándar de facto.

Características distintivas de la arquitectura de microcontroladores de un solo chip.:

  • separación física y lógica de la memoria de instrucciones y la memoria de datos (arquitectura Harvard), mientras que en la arquitectura clásica de Neumann, los programas y los datos se comparten dispositivo de almacenamiento y tener el mismo mecanismo de acceso;
  • sistema de comando simplificado y orientado a tareas: el MK, por regla general, no tiene herramientas de procesamiento de datos de punto flotante, pero al mismo tiempo, el sistema de comando incluye comandos enfocados al trabajo efectivo con sensores y actuadores, por ejemplo, comandos para procesar información de bits;
  • los modos de direccionamiento de operandos más simples.

Principales características de los microcontroladores.(como ejemplo, se presentan valores numéricos para MK-51):

  1. Tamaño de bits (8 bits).
  2. Capacidad de la memoria de mando interna y de la memoria de datos, posibilidades y límites de su ampliación:
    • memoria de comando interna: 4 KB (en promedio, un comando tiene una longitud de 2 bytes, por lo que se puede almacenar un programa con una longitud de aproximadamente 2000 comandos en la memoria interna); ampliable conectando memoria externa hasta 64 KB;
    • Memoria de datos en chip de 128 bytes (puede conectar una memoria externa con una capacidad total de hasta 64 KB).
  3. Frecuencia del reloj:
    • frecuencia externa 12 MHz;
    • Frecuencia del ciclo de la máquina 1 MHz.
  4. Posibilidades de interacción con dispositivos externos: cantidad y finalidad. Puertos de E/S, características del sistema de interrupción, soporte de software para interacción con dispositivos externos.

Disponibilidad y características de los empotrados. convertidores analógicos a digitales(ADC) y convertidores digital a analógico (DAC) para simplificar la coordinación con sensores y actuadores del sistema de control.

Microprocesadores particionados(otros nombres: microprogramables y modulares de bits) son microprocesadores diseñados para construir procesadores especializados. Son secciones de microprocesador de capacidad relativamente pequeña (de 2 a 16) con acceso de usuario al nivel de control del microprograma y medios para combinar varias secciones.

Esta organización permite diseñar un procesador de la capacidad requerida y con un sistema de instrucción especializado. Debido a su baja capacidad de bits, las secciones de microprocesador se pueden construir utilizando tecnologías de alta velocidad. La combinación de todos estos factores hace posible crear un procesador que esté mejor orientado a una determinada clase de algoritmos, tanto en términos de sistema de instrucción y modos de direccionamiento como en formatos de datos.

Uno de los primeros conjuntos de microprocesadores particionados fueron los MP LSI de la familia Intel 3000. En nuestro país se produjeron como parte de las series K589 y 585. Elementos de procesamiento Esta serie era un microprocesador de dos bits. El conjunto más común de microprocesadores particionados es el Am2900, que se basa en secciones de 4 bits. En nuestro país se produjo un análogo de este kit como parte de la serie K1804. El kit incluía el siguiente BIS:

  • ALU seccional de bits;
  • bloque de transferencia acelerada;
  • ALU seccional de bits con soporte de hardware para multiplicación;
  • tipo de circuitos de control de microprogramas;
  • controlador de estado y turnos;
  • controlador de interrupción de prioridad.

La principal desventaja de los sistemas de microprocesadores basados ​​en LSI de microprocesadores particionados es la complejidad de diseñar, depurar y programar sistemas basados ​​en ellos. El uso de un sistema de comando especializado provocó la incompatibilidad del software desarrollado para varios microprocesadores. La capacidad de crear un procesador especializado que sea óptimo en muchos aspectos requirió el trabajo de desarrolladores calificados durante un largo período de tiempo. Sin embargo, el rápido desarrollo de las tecnologías electrónicas llevó al hecho de que durante el diseño de un procesador especializado, se desarrolló un microprocesador universal, cuyas capacidades cubrían las ganancias hipotéticas del diseño de un dispositivo especializado. Esto ha llevado a que en la actualidad esta clase de microprocesadores LSI prácticamente no se utilice.

Procesadores de señales digitales, o procesadores de señales digitales, son una clase de microprocesadores en rápido desarrollo diseñados para resolver problemas digitales. procesamiento de señal- procesamiento de señales de audio, imágenes, reconocimiento de patrones, etc. Incluyen muchas características de los microcontroladores de un solo chip: arquitectura Harvard, memoria de datos y comandos incorporada, capacidades avanzadas para trabajar con dispositivos externos. Al mismo tiempo, contienen características de los MP universales, especialmente con arquitectura RISC: organización del trabajo en línea, software y hardware para realizar operaciones con punto flotante,soporte de hardware para cálculos complejos especializados, especialmente multiplicación.

Como producto electrónico El microprocesador se caracteriza por una serie de parámetros, los más importantes son los siguientes:

  1. Requisitos de sincronización: frecuencia máxima, estabilidad.
  2. Número y clasificaciones de fuentes de alimentación, requisitos para su estabilidad. Actualmente, existe una tendencia a reducir la tensión de alimentación, lo que reduce la disipación de calor del circuito y conduce a un aumento en la frecuencia de su funcionamiento. Si los primeros microprocesadores funcionaban con una tensión de alimentación de +-15 V, ahora los circuitos individuales utilizan fuentes de menos de 1 V.
  3. Disipación de energía- esta es la pérdida de potencia en la etapa de salida del circuito, que se convierte en calor y calienta los transistores de salida. En otras palabras, caracteriza la tasa de liberación de calor del LSI, lo que determina en gran medida los requisitos de diseño. sistema de microprocesador. Esta característica es especialmente importante para MPS integrados.
  4. Niveles de señal de cero lógico y uno lógico, que están asociados con las clasificaciones de las fuentes de alimentación.
  5. Tipo de carcasa: le permite evaluar la idoneidad del circuito para funcionar en determinadas condiciones, así como la posibilidad de utilizar un nuevo LSI como reemplazo del existente en la placa.
  6. La temperatura ambiente a la que puede funcionar el circuito. Aquí hay dos rangos:
    • comercial (0 0 C ... +70 0 C);
    • extendido (-40 0 C ... +85 0 C).
  7. Inmunidad al ruido- determina la capacidad del circuito para realizar sus funciones en presencia de interferencias. La inmunidad al ruido se evalúa por la intensidad de la interferencia en la que la interrupción de las funciones del dispositivo aún no excede los límites permitidos. Cuanto más fuertes sean las interferencias bajo las cuales el dispositivo permanece operativo, mayor será su inmunidad a las interferencias.
  8. Capacidad de carga, o factor de ramificación de salida, está determinado por el número de circuitos de la misma serie, cuyas entradas se pueden conectar a la salida de un circuito determinado sin interrumpir su funcionamiento. Cuanto mayor sea la capacidad de carga, más amplias serán las capacidades lógicas del circuito y se necesitarán menos microcircuitos para construir un dispositivo informático complejo. Sin embargo, a medida que aumenta este coeficiente, la inmunidad al ruido y el rendimiento se deterioran.
  9. Fiabilidad Es la capacidad de un circuito para mantener su nivel de calidad de funcionamiento en condiciones específicas durante un período de tiempo específico. Generalmente caracterizado porcentaje de averías(hora-1) o tiempo medio entre fallos (hora). Actualmente, este parámetro para circuitos integrados de gran tamaño no suele estar especificado por el fabricante. La confiabilidad de MP LSI se puede juzgar mediante indicadores indirectos, por ejemplo, por la confiabilidad del producto en su conjunto citado por los desarrolladores de tecnología informática.
  10. Características del proceso. El principal indicador aquí es la resolución del proceso. Actualmente es de 32 nm, es decir, unas 30 mil líneas por 1 mm. Un proceso tecnológico más avanzado permite crear un microprocesador con mayor funcionalidad.


Arroz. 1.2.

Los costos de fabricación de dispositivos que utilizan LSI con microprocesador se presentan en la figura. 1.2. Aquí:

  1. costes de fabricación de LSI (cuanto mayor es el grado de integración de los elementos en el chip, más cara es la producción del circuito);
  2. costos de montaje y configuración sistema de microprocesador(a medida que aumenta la funcionalidad del MP, se necesitarán menos circuitos para crear el MPS);
  3. costo total sistema de microprocesador, que consta de los costos (1) y (2). Tiene algún valor óptimo para un nivel dado de desarrollo tecnológico;
  4. transición a una nueva tecnología (un número diferente de elementos en el chip será óptimo y se reducirá el costo total del producto).

En 1965, Gordon Moore formuló la hipótesis ahora conocida como<закон Мура>, según el cual cada 1,5-2 años el número de transistores por uno circuito integrado se duplicará. Esto está garantizado por la mejora continua de los procesos tecnológicos para la producción de microcircuitos.

La empresa tecnológicamente más avanzada, Intel, distingue seis etapas en el ciclo de vida de las tecnologías de semiconductores creadas y utilizadas en la corporación.

La primera etapa tiene lugar fuera de Intel: en laboratorios universitarios y centros de investigación independientes, donde se buscan nuevos principios y métodos físicos que puedan convertirse en la base del trabajo científico y tecnológico en los años venideros. La corporación financia esta investigación.

En la segunda etapa, los investigadores de Intel seleccionan las áreas más prometedoras para el desarrollo de nuevas tecnologías. En este caso, normalmente se consideran 2-3 opciones de solución.

La tarea principal de la tercera etapa es el desarrollo aproximado completo de la nueva tecnología y la demostración de su viabilidad.

Después de esto, comienza la cuarta etapa, cuyo objetivo principal es garantizar el logro de valores específicos de indicadores técnicos y económicos clave como el rendimiento de productos adecuados, la confiabilidad, el costo y algunos otros. La finalización de la etapa se confirma con el lanzamiento del primer lote industrial de nuevos productos.

La quinta etapa es el desarrollo industrial de nuevas tecnologías. Este problema no es menos complejo que el desarrollo de la tecnología en sí, ya que es extremadamente difícil reproducir con precisión en condiciones reales de producción lo obtenido en el laboratorio. Por lo general, aquí es donde se producen retrasos en el momento del lanzamiento de nuevos productos, en el logro de los volúmenes de suministro y los costos de producción planificados.

La última, sexta etapa del ciclo de vida de la tecnología (antes de abandonar su uso) es la madurez. La tecnología madura, que ha experimentado ciertas mejoras para aumentar la productividad de los equipos y reducir los costos de producción, asegura los principales volúmenes de producción. A medida que se introducen tecnologías nuevas y más avanzadas<старые>Las producciones están siendo liquidadas.

Pero no de inmediato: primero se trasladan a la producción de microcircuitos con menor velocidad o con menos transistores, por ejemplo, LSI periféricos.

La estructura básica de un sistema de microprocesador tiene la forma

La tarea de gestionar el sistema está asignada a UPC(CPU) que está conectado a memoria Y sistema de entrada/salida a través de canales de memoria y E/S, respectivamente. La CPU lee las instrucciones de la memoria que componen el programa y las decodifica. De acuerdo con el resultado de las instrucciones de decodificación, recupera datos de la memoria y de los puertos de entrada, los procesa y los envía de vuelta a la memoria o a los puertos de salida. También existe la posibilidad de realizar E/S de datos desde la memoria a dispositivos externos y viceversa, sin pasar por la CPU. Este mecanismo se llama acceso directo a la memoria(PPD). Cada componente de un sistema de microprocesador tiene una estructura interna bastante compleja.

Desde el punto de vista del usuario, al elegir un microprocesador, es aconsejable tener algunas características integrales generalizadas de las capacidades del microprocesador. El desarrollador debe comprender y comprender solo aquellos componentes del microprocesador que se reflejan claramente en los programas y deben tenerse en cuenta al desarrollar circuitos y programas para el funcionamiento del sistema. Estas características están definidas por el concepto de arquitectura de microprocesador.

Arquitectura de microprocesador- ésta es su organización lógica, considerada desde el punto de vista del usuario; Determina las capacidades del microprocesador para la implementación de hardware y software de las funciones necesarias para construir un sistema de microprocesador. El concepto de arquitectura de microprocesador refleja:

Su estructura, es decir el conjunto de componentes que componen el microprocesador y las conexiones entre ellos; para el usuario basta con limitarse al modelo de registro del microprocesador;

Métodos de presentación y formatos de datos;

Métodos para acceder a todos los elementos de la estructura accesibles mediante programación (registros de direccionamiento, celdas permanentes y RAM, dispositivos externos);

Conjunto de operaciones realizadas por un microprocesador;

Características de las palabras de control y señales generadas por el microprocesador y suministradas desde el exterior;

Reacción a señales externas (sistema de procesamiento de interrupciones, etc.).

Según la forma en que está organizado el espacio de memoria de un sistema de microprocesador, se distinguen dos tipos principales de arquitecturas.

Una organización que utiliza el mismo espacio de memoria para almacenar programas y datos se llama arquitectura von Neumann(llamado así por el matemático que propuso programas de codificación en un formato correspondiente al formato de datos). Los programas y los datos se almacenan en un solo espacio y no hay indicación del tipo de información en la celda de memoria. Las ventajas de esta arquitectura son una estructura interna más simple del microprocesador y un menor número de señales de control.

Una organización en la que la memoria de programa CSEG (Code Segment) y la memoria de datos DSEG (Data Segment) están separadas y tienen sus propios espacios de direcciones y formas de acceder a ellos se llama Arquitectura de Harvard(llamado así por el laboratorio de la Universidad de Harvard que lo propuso). Esta arquitectura es más compleja y requiere señales de control adicionales. Sin embargo, permite una manipulación más flexible de la información, la implementación de un conjunto de instrucciones de máquina codificadas de forma compacta y, en algunos casos, acelerar el funcionamiento del microprocesador. Los representantes de esta arquitectura son los microcontroladores de la familia MCS-51 de Intel.

Actualmente se producen microprocesadores con arquitectura mixta, en los que CSEG y DSEG tienen un único espacio de direcciones, pero diferentes mecanismos para acceder a ellos. Un ejemplo específico es la familia de microprocesadores 80x86 de Intel.

A nivel físico, el microprocesador interactúa con la memoria y el sistema de entrada/salida a través de un único conjunto de buses del sistema: columna vertebral intrasistema. Generalmente consta de:

Bus de datos DB (Data Bus), a través del cual se intercambian datos entre la CPU, la memoria y el sistema explosivo;

Bus de direcciones AB (Bus de direcciones), utilizado para transmitir direcciones de celdas de memoria y puertos BB a los que se accede;

Bus de control CB (Control Bus), a través del cual se transmiten señales de control, implementando ciclos de intercambio de información y controlando el funcionamiento del sistema.

El mismo conjunto de buses se utiliza para organizar el canal DMA. Este tipo de carretera se llama demultiplexar o tres buses con buses de dirección y datos separados.

En algunos microprocesadores, para reducir el ancho de la línea física, introducen bus combinado de dirección y datos AD (Bus de direcciones/datos), a través del cual se transmiten tanto direcciones como datos. La etapa de transmisión de información de dirección está separada en el tiempo de la etapa de transmisión de datos y está activada por una señal especial ALE (Address Latch Enable), que se incluye en el CB. Esta carretera se suele llamar multicine o Bus dual con buses combinados de direcciones y datos..

El intercambio de datos físicos a través de la red troncal se realiza en palabras o bytes en forma de llamadas de canal sucesivas. Durante un ciclo de acceso a la autopista entre la CPU, la memoria y el sistema IW, se transfiere una palabra o un byte. Hay varios ciclos cambiarios típicos. entre ellos leyendo la memoria Y grabando en la memoria.

Ciclo de lectura de memoria mediante autopista demultiplex.

Ciclo de escritura en memoria a través de una autopista demultiplex.

Un ciclo de lectura de la memoria a través de un bus multiplex.

Ciclo de escritura en memoria a través de un bus multiplex.

Cuando el espacio explosivo está aislado, se agregan ciclos. puerto de lectura BB Y Registros del puerto BB.

Ciclo de lectura del puerto BB a través de la red troncal demultiplex

Ciclo de grabación al puerto BB a través de una autopista demultiplex.

En el caso de una arquitectura tipo Harvard, cuando la memoria del programa y la memoria de datos están separadas, también se introduce ciclo de lectura de memoria del programa.

Ciclo de lectura de memoria de programa a través de un bus demultiplex.

En algunos casos, cuando los dispositivos están funcionando en la carretera, cuya velocidad es inferior a la velocidad de la CPU, la duración de las luces estroboscópicas RD, WR, etc. puede ser insuficiente para la correcta ejecución de la operación de intercambio por parte del módulo periférico. Luego, para organizar la finalización confiable de la operación de la red troncal, se introduce una señal especial LISTO en el CB. En cada ciclo de acceso al canal, antes del final de la luz estroboscópica RD o WR, la CPU verifica el estado de la señal READY. Si en este momento aún no se ha reiniciado, entonces la CPU extiende la luz estroboscópica correspondiente insertando el llamado. Ciclos de espera WS (estado de espera). El número máximo de WS puede estar limitado o no según el modelo de microprocesador específico y su modo de funcionamiento.

Bucle de lectura con bucles de espera.

En el modo de funcionamiento normal, hay un único dispositivo activo en la autopista, representado por la CPU, que inicia todos los ciclos de intercambio de datos en la autopista. Sin embargo, puede haber casos en los que haya varios dispositivos activos en un mismo bus, los cuales deben funcionar con el mismo bloque de memoria y bloque explosivo. Para que otro dispositivo activo pueda transmitir datos a través del bus, la CPU debe estar desactivada durante este tiempo. Para estos fines, la mayoría de los microprocesadores modernos admiten los llamados. modo “acceso directo a memoria” (DAM). Para implementar este modo, se introducen señales adicionales HOLD y HLDA en el CB. Cuando llega un nivel activo a la entrada HOLD, el microprocesador interrumpe la ejecución de su programa, cambia las salidas de todos sus buses a un estado de alta impedancia y establece el nivel activo en la salida HLDA, que debería servir como señal para otro. dispositivo activo que puede iniciar sus ciclos de intercambio en la carretera. Cuando este dispositivo finaliza sus ciclos de comunicación, restablece la señal HOLD, luego de lo cual la CPU vuelve a su estado normal y continúa ejecutando el programa.

Otro modo de funcionamiento de la CPU que requiere que cambie el flujo normal de ejecución del programa es el llamado. modo “interrumpe”. Casi todos los microprocesadores modernos tienen uno o más de los llamados. entradas de interrupción externas INT0, INT1, etc., que reciben señales que indican ciertos eventos en el sistema a los cuales la CPU debe responder de cierta manera. Cuando llega un nivel de señal activo a una de estas entradas, el microprocesador interrumpe la ejecución normal del programa, recuerda la dirección del comando en el que interrumpió el trabajo y procede a ejecutar el llamado. “rutina de servicio de interrupción” (ISR) escrita en CSEG en una dirección específica. La dirección de esta subrutina está escrita en una celda de memoria especial llamada " vector de interrupción" Cada fuente de interrupción individual tiene su propio vector de interrupción. Después de ejecutar el POP, siguiendo un comando especial que debe finalizar el POP, el procesador vuelve a ejecutar el programa interrumpido en la dirección almacenada. Las fuentes de interrupción pueden ser externas (es decir, enviadas a una de las entradas del chip, que se denominan "entradas de solicitud de interrupción") o internas (es decir, generadas dentro del procesador bajo ciertas condiciones). Porque Pueden llegar varias solicitudes de interrupción diferentes al mismo tiempo, entonces existe una determinada disciplina que especifica la secuencia de servicio de interrupciones individuales. Esta disciplina es proporcionada por el “ arbitraje de interrupción prioritaria”, implementado dentro de la CPU o mediante un controlador especial. De acuerdo con este sistema, cada fuente de interrupción tiene su propia prioridad especificada (fija o variable), que determina el orden en el que se atiende. Cuando llegan varias solicitudes de interrupción al mismo tiempo, se atiende primero la interrupción con mayor prioridad y luego la de menor prioridad. Una interrupción de mayor prioridad puede interrumpir una rutina de interrupción de menor prioridad que ya está en progreso, del mismo modo que interrumpe un programa principal. En este caso, el llamado “interrupciones anidadas”.

Además de CSEG y DSEG, casi todos los microprocesadores modernos tienen un pequeño espacio de datos especialmente asignado llamado un conjunto de registros accesibles por software RSEG (Segmento de Registro). A diferencia de CSEG y DSEG, los registros RSEG están ubicados dentro de la CPU muy cerca de su ALU, lo que proporciona un acceso físico rápido a la información almacenada en ellos. Por lo general, almacenan resultados de cálculos intermedios que la CPU suele utilizar. La región RSEG puede estar completamente aislada del espacio de datos DSEG, puede superponerse con él y puede ser completamente una subparte del DSEG. La organización lógica interna de RSEG es muy diversa y juega un papel importante en la clasificación de arquitecturas de microprocesadores.

Los registros del microprocesador son funcionalmente heterogéneos: algunos se utilizan para almacenar datos o información de direcciones, otros se utilizan para controlar el funcionamiento de la CPU. De acuerdo con esto, todos los registros se pueden dividir en registros de datos, punteros Y registros de propósito especial. Los registros de datos participan en operaciones aritméticas y lógicas como fuentes de operandos y destinos de resultados, los registros de direcciones o punteros se utilizan para calcular direcciones de datos e instrucciones ubicadas en la memoria principal. Se utilizan registros especiales para indicar el estado actual de la CPU y controlar el funcionamiento de sus componentes. Es posible una arquitectura en la que se utilicen los mismos registros para almacenar tanto datos como información de direcciones. Estos registros se denominan registros de propósito general(RON). La forma en que se utiliza este o aquel tipo de registro determina las características específicas de la arquitectura del microprocesador.

Entre los registros de datos, a menudo se distingue un registro, llamado batería A (Acumulador), al que están asociados la mayoría de los comandos de procesamiento de datos lógicos y aritméticos. Esto significa que las instrucciones aritméticas y lógicas utilizan el contenido del acumulador como uno de sus operandos y almacenan en él el resultado de la operación. Se hace referencia a él implícitamente mediante un código de operación. En este caso, no es necesario asignar un área especial en el código de instrucción para las direcciones de operando y resultado. Este tipo de arquitectura de microprocesador se llama alimentado por batería. Las desventajas de esta arquitectura incluyen el rendimiento relativamente bajo, que se explica por el hecho de que el acumulador es un "cuello de botella", en el que cada vez se debe introducir el operando antes de realizar la operación. Un ejemplo de dicha arquitectura es la familia de microcontroladores MCS-51 de Intel.

Otro ejemplo de organización de registros de datos es el llamado. “registros de trabajo” R0, R1, etc. En este caso, los operandos y resultados de operaciones aritméticas y lógicas se pueden almacenar no en uno, sino en varios registros, lo que amplía las posibilidades de manipulación de datos. A diferencia del acumulador, los registros de trabajo se abordan explícitamente en el código de instrucción. Este tipo de arquitectura de microprocesador se llama registro. Un ejemplo de tal organización es la familia de microprocesadores 80x86 de Intel. Varios microprocesadores diseñados para funcionar en tiempo real no tienen uno, sino varios conjuntos de registros de trabajo. En cada momento sólo está disponible uno de los conjuntos de registros, cuya selección se realiza escribiendo la información correspondiente en un registro de servicio específico. Un ejemplo de estos dispositivos son los microcontroladores de la familia MCS-48 de Intel.

Una arquitectura en la que el procesador puede utilizar celdas de memoria principal como direcciones de los operandos y resultados de una operación se denomina arquitectura de “memoria a memoria”. Esto elimina el tiempo dedicado a copiar el contenido de los registros de trabajo al pasar de un procedimiento a otro. Sin embargo, en este caso se pierde el acceso rápido a los datos intermedios, porque no se almacenan en registros internos, sino en DSEG. Una solución a este problema es colocar parte del DSEG en el mismo chip que la CPU y utilizar este segmento de RAM interna como áreas de trabajo. Un ejemplo de tal organización son los microcontroladores de la familia MCS-96 de Intel.

Casi todos los microprocesadores modernos asignan un área de memoria separada para los llamados "pila", Se utiliza, en general, para pasar parámetros a procedimientos y almacenar direcciones de retorno de ellos. La pila puede estar ubicada dentro o fuera del microprocesador. Puede ocupar parte del espacio de direcciones DSEG o RSEG, o puede ubicarse por separado de ellos. En este último caso hablan del llamado. “pila de hardware”. La transferencia de funciones del acumulador a la parte superior de la pila conduce a lo llamado. “arquitectura de pila”. La organización de la pila permite utilizar comandos sin dirección cuyo código tiene la longitud más corta. Las instrucciones sin dirección operan con datos en la parte superior de la pila y directamente debajo de ella. Cuando se realiza una operación, los operandos de origen se extraen de la pila y el resultado se envía a la parte superior de la pila. La arquitectura de pila es altamente eficiente desde el punto de vista computacional. Existe un lenguaje especial de alto nivel FORTH, construido sobre la base de comandos sin dirección. Esta arquitectura se utiliza en procesadores especializados de alto rendimiento y, en particular, en procesadores RISC.

Los registros de servicio ubicados dentro del microprocesador están destinados a diversas funciones de controlar su funcionamiento e indicar el estado de sus componentes. Su composición y organización dependen de la arquitectura específica del procesador y difieren en cada caso concreto. Los registros de funciones especiales más comunes son “contador de programas” PC (contador de programas), “puntero de pila” SP (puntero de pila) y “palabra de estado del programa” PSW (palabra de estado del programa). El contador del programa de PC en un momento dado contiene la dirección de la instrucción que sigue en CSEG a la que se está ejecutando actualmente. El puntero de pila SP almacena la dirección actual de la parte superior de la pila. La palabra de estado del programa PSW contiene un conjunto de signos actuales del resultado de la operación. Cada atributo de resultado está asociado con una variable de bandera de un bit correspondiente a un bit PSW específico. Las banderas típicas incluyen:

- FQ(Carry Flag): lleva la bandera del dígito más significativo de la ALU. Igual a 1 si, como resultado de realizar una operación aritmética o una operación de cambio, se produjo un acarreo del dígito más significativo del resultado;

- ZF(Bandera cero): bandera de signo cero. Igual a 1 si el resultado de la operación es 0;

-SF(Bandera de signo): bandera de signo de resultado. Duplica el bit de signo del resultado de la operación;

- A. F.(Bandera de transporte auxiliar): bandera de transporte adicional. Igual a 1 si, como resultado de realizar una operación aritmética o una operación de desplazamiento, el resultado se transfirió de la tétrada baja a la tétrada alta. Se utiliza a menudo en aritmética BCD;

- DE(Bandera de Owerfow): bandera de desbordamiento. Igual a 1 si, como resultado de realizar una operación aritmética, la cuadrícula de bits del resultado se desbordó;

- FP(Bandera de paridad) - bandera de paridad. Igual a 1 si el número 1 resultante de la operación es impar y viceversa.

- SI(Indicador de interrupción): indicador de habilitación de interrupción. Indica si las interrupciones están habilitadas en el sistema.

El programa utiliza banderas específicas para analizar el resultado del comando anterior y tomar decisiones sobre el curso posterior del programa. Los registros especiales pueden ocupar parte del espacio de direcciones DSEG o RSEG, o pueden ubicarse por separado de ellos.

Los registros de direcciones o punteros se utilizan para implementar ciertos métodos de direccionamiento de operandos utilizados en instrucciones específicas del microprocesador. Su conjunto y funciones específicos dependen de los métodos de direccionamiento que se implementen en un modelo de microprocesador determinado.

Bajo método de direccionamiento se refiere al método de codificar la dirección de un operando o el resultado de una operación en el código de instrucción.

En general, el código de comando del microprocesador se puede representar de la siguiente manera:

COP AOP1 AOP2 ... Arkansas

KOP - código de operación;

AOP1: campo de dirección del primer operando;

AOP2: campo de dirección del segundo operando;

AR: campo de dirección de resultado.

La presencia de campos individuales, excepto COP, está determinada por el comando específico y el tipo de microprocesador. La información en los campos AOP y AP está determinada por el método de direccionamiento específico utilizado en un comando determinado.

Los métodos de direccionamiento más comunes utilizados en los modelos de microprocesadores modernos son:

- Registrar direccionamiento. El operando está en un registro. La dirección de registro está incluida en el código de operación. No hay ningún campo de dirección en el comando;

- direccionamiento directo. La dirección física del operando se encuentra en el campo de dirección correspondiente.

- direccionamiento directo. El valor inmediato del operando se encuentra en el campo de dirección correspondiente.

- Direccionamiento de registro indirecto. La dirección física del operando se encuentra en el registro de dirección indirecta DP (puntero de datos). La dirección de registro está incluida en el código de operación. No hay ningún campo de dirección en el comando. El DP puede ser un RON o un registro de direcciones especial;

- Direccionamiento indirecto de incremento/decremento automático. La dirección física del operando se encuentra en el registro de direcciones indirectas DP. La dirección de registro está incluida en el código de operación. No hay ningún campo de dirección en el comando. Después (o antes) de realizar la operación, el contenido del DP se incrementa/disminuye automáticamente para apuntar al siguiente elemento de la tabla.

- Direccionamiento por base con desplazamiento. La dirección base del operando se encuentra en el registro base BP (Puntero Base). La dirección de registro está incluida en el código de operación. El desplazamiento de la dirección del operando con respecto a la dirección base se encuentra en el campo de dirección correspondiente. El BP puede ser un RON o un registro de direcciones especial;

- Direcciones de índice. La dirección base del operando se encuentra en el campo de dirección correspondiente. El desplazamiento de la dirección del operando con respecto a la dirección base se encuentra en el registro de índice X (Índice). X puede ser un RON o un registro de direcciones especial;

- Direccionamiento por base de datos con indexación. La dirección base del operando se encuentra en el registro base BP, el desplazamiento de la dirección del operando con respecto a la dirección base se encuentra en el registro índice X. Las direcciones de registro están incluidas en el código de operación. No hay ningún campo de dirección en el comando; X y BP pueden ser RON o registros de direcciones especiales;

- Direccionamiento de segmentos. Toda la memoria se divide en segmentos de cierto tamaño. La dirección del segmento se almacena en el registro de segmento SR (Registro de segmento), el desplazamiento de dirección con respecto al comienzo del segmento se encuentra en el campo de dirección correspondiente o en el registro de índice X. X puede ser RON o un registro de dirección especial;

Dependiendo de los métodos de direccionamiento que se implementen en un procesador en particular, este tiene ciertos registros de direcciones. Los métodos de direccionamiento más complejos requieren más tiempo para calcular la dirección del operando. Una de las tendencias modernas en el desarrollo de la arquitectura de microprocesadores se basa en reducir el número de instrucciones posibles y métodos de direccionamiento para garantizar que cualquier instrucción se ejecute en un ciclo de máquina. Estos procesadores se denominan procesadores RISC (computadora con conjunto de instrucciones reducido). Un ejemplo concreto de un dispositivo de este tipo es el microprocesador PowerPC de Motorola.

Como parte del sistema explosivo, también se pueden distinguir varios dispositivos funcionalmente completos, que están diseñados en forma de módulos conectados directamente a una única columna vertebral del sistema. En el caso más simple, estos son registros de búfer direccionados por la CPU: Puertos de pedalier. Los subsistemas BB controlados por software más complejos que contienen bloques de puertos se denominan adaptadores periféricos. En el caso de que los medios explosivos estén destinados a controlar equipos externos especiales e implementar funciones explosivas especiales, se denominan controladores periféricos. Se considera el más complejo de los medios modernos de intercambio con artefactos explosivos externos. coprocesadores BB, que funcionan según sus propios programas almacenados en su propia memoria y son esencialmente sistemas de microprocesadores separados. Un ejemplo de un sistema de este tipo es el coprocesador vectorial ADMC-200 de Analog Devices, diseñado para interconectar un sistema de microprocesador con un convertidor de válvula que controla un variador de CA. Incluye varios canales ADC, un PWM multicanal y una unidad informática que implementa las transformaciones vectoriales de Park-Clark necesarias para implementar el algoritmo de control vectorial para motores de CA síncronos y asíncronos. Sin embargo, independientemente de la complejidad de un subsistema IC en particular, desde el lado de la CPU, todos están representados por uno u otro conjunto de registros direccionables, que, por regla general, forman parte del DSEG.

Capacidad de bits del sistema de microprocesador. Generalmente se acepta contar la cantidad de bits de información que su CPU puede procesar con una instrucción. El ancho de un microprocesador está determinado por el ancho de su ALU, los registros de datos internos y el bus de datos externo. Hoy en día existen microprocesadores de 8, 16, 32 y 64 bits. Para procesar información con una profundidad de bits mayor que la del microprocesador, es necesario implementar algoritmos informáticos especiales con una profundidad de bits aumentada. Estos algoritmos requieren tiempo adicional para ejecutarse. Por lo tanto, un aumento en la capacidad de bits del microprocesador para una capacidad de bits de cálculo determinada está directamente relacionado con un aumento en el rendimiento del sistema.

Dependiendo del formato en el que el procesador es capaz de recibir y procesar datos, existen microprocesadores de punto fijo Y Microprocesadores de coma flotante. Para una precisión de cálculo y una profundidad de bits determinadas, el rango de números representables en el formato de punto flotante excede significativamente el rango de números en el formato de punto fijo. Por lo tanto, se utilizan cálculos de punto flotante para proporcionar una mayor precisión del resultado. La implementación de este tipo de algoritmos en procesadores de punto fijo implica un gran tiempo de cálculo y, en consecuencia, una disminución del rendimiento del sistema. Los procesadores de coma flotante son capaces de realizar operaciones aritméticas con números de coma flotante con una sola instrucción. Por lo tanto, realizan dichos cálculos mucho más rápido que los procesadores de punto fijo.

Existen microprocesadores cuya arquitectura está adaptada para realizar cierto tipo de cálculos. Estos procesadores incluyen los llamados. “ procesadores de señales digitales”DSP (Procesador de Señal Digital). Su arquitectura tiene características que les permiten implementar algoritmos de procesamiento de datos recurrentes de mayor rendimiento, que se utilizan en muchas tareas que requieren su ejecución en “tiempo real”, como codificación de audio y video, regulación, filtrado digital, comunicaciones digitales, etc. . .pag. Todos estos procesadores se construyen, por regla general, según la arquitectura de Harvard. Los DSP modernos tienen buses de dirección/datos separados para CSEG y DSEG, lo que les permite acceder a diferentes tipos de memoria y realizar múltiples operaciones de datos con un solo comando. La característica principal de DSP es que, además de la ALU normal, que está presente en todos los procesadores, tienen varios dispositivos informáticos más. Estos dispositivos incluyen principalmente los llamados. MAU (Unidad de Acumulador Múltiple) “multiplicador-acumulador”, capaz de multiplicar dos números de varios dígitos con un comando y sumar el resultado de dos dígitos con el resultado del comando anterior. En todos los algoritmos recurrentes se utiliza una operación similar de “multiplicación-suma”. La presencia de MAU en combinación con las características mencionadas anteriormente de la organización del bus del procesador permite que el DSP ejecute completamente un paso del algoritmo recurrente en un comando y prepare los datos iniciales para el siguiente paso. Otro dispositivo informático adicional es el "registro de desplazamiento de bits múltiples" S (Shifter), capaz de realizar operaciones de desplazamiento en números cuyo ancho excede el ancho de la ALU. El funcionamiento conjunto de estos dispositivos informáticos permite lograr un rendimiento computacional en la ejecución de algoritmos recurrentes incomparable con cualquier otro procesador. Ejemplos de DSP modernos incluyen:

Familia ADSP-21XX de Analog Devices: DSP de punto fijo de 16 bits, rendimiento de hasta 30 MIPS;

Familia Texas Instruments TMS320C3X: DSP de punto flotante de 32 bits, rendimiento de hasta 30 MIPS, 60 MFLOPS.

    • TMS320C240 de Texas Instruments es un DSP de punto fijo de 16 bits diseñado para aplicaciones de control de unidades, rendimiento de hasta 20 MIPS, PWM en chip de 12 canales y dos ADC de 10 bits y 8 canales.

Introducción

1.3 Revisión de los tipos existentes de arquitecturas de microprocesadores

2. Dispositivo de control

3. Características del control de software y firmware.

4. Modos de direccionamiento

Conclusión


El proceso de interacción humana con las computadoras se lleva a cabo desde hace más de 40 años. Hasta hace poco, sólo podían participar en este proceso especialistas (ingenieros, matemáticos, programadores, operadores). En los últimos años se han producido cambios dramáticos en el campo de la informática. Gracias al desarrollo y la implementación de microprocesadores en la estructura informática, aparecieron computadoras personales de pequeño tamaño y fáciles de usar. La situación ha cambiado; el papel del usuario puede ser no sólo un informático, sino también cualquier persona, ya sea un escolar o un ama de casa, un médico o un profesor, un trabajador o un ingeniero. Este fenómeno a menudo se denomina fenómeno de la computadora personal. Actualmente, el parque mundial de ordenadores personales supera los 20 millones.

¿Por qué ocurrió este fenómeno? La respuesta a esta pregunta se puede encontrar si formulamos claramente qué es una computadora personal y cuáles son sus principales características. Debemos percibir correctamente que la definición misma de "personal" no significa que una computadora pertenezca a una persona como propiedad personal; La definición de "personal" surgió porque una persona tuvo la oportunidad de comunicarse con una computadora sin la mediación de un programador profesional, de forma independiente y personal. No es necesario conocer un lenguaje informático especial. El software existente en la computadora proporcionará una forma favorable y “amigable” de diálogo entre el usuario y la computadora.

Actualmente, una de las computadoras más populares es el modelo IBM PC y su versión modernizada, la IBM PC XT, la cual es considerada el modelo básico de una computadora personal en términos de arquitectura, software y diseño externo.

La base de una computadora personal es la unidad del sistema. Organiza el trabajo, procesa información, realiza cálculos y asegura la comunicación entre una persona y una computadora. No es necesario que el usuario comprenda a fondo cómo funciona la unidad del sistema. Esto es para especialistas. Pero debe saber en qué bloques funcionales se compone la computadora. No tenemos una idea clara del principio de funcionamiento de los bloques funcionales internos de los objetos que nos rodean: un refrigerador, una estufa de gas, una lavadora, un automóvil, pero debemos saber cuál es la base para el funcionamiento de estos dispositivos, cuáles son las capacidades de sus bloques constituyentes.

1. Características generales de la arquitectura del procesador.

1.1 Estructura básica de un sistema de microprocesador

La tarea de administrar el sistema está asignada a la unidad central de procesamiento (CPU), la cual está conectada a la memoria y al sistema de entrada/salida a través de canales de memoria y de entrada/salida, respectivamente. La CPU lee las instrucciones de la memoria que componen el programa y las decodifica. Según el resultado de las instrucciones de decodificación, recupera datos de la memoria de los puertos de entrada, los procesa y los envía de vuelta a la memoria o a los puertos de salida. También existe la posibilidad de realizar E/S de datos desde la memoria a dispositivos externos y viceversa, sin pasar por la CPU. Este mecanismo se llama acceso directo a la memoria (DMA).

Desde el punto de vista del usuario, al elegir un microprocesador, es aconsejable tener algunas características integrales generalizadas de las capacidades del microprocesador. El desarrollador debe comprender y comprender solo aquellos componentes del microprocesador que se reflejan claramente en los programas y deben tenerse en cuenta al desarrollar circuitos y programas para el funcionamiento del sistema. Estas características están definidas por el concepto de arquitectura de microprocesador.

1.2 Concepto de arquitectura de microprocesador

La arquitectura de un sistema informático típico basado en una microcomputadora pequeña se muestra en la figura. 1. Dicha microcomputadora contiene los 5 bloques principales de una máquina digital: un dispositivo de entrada de información, una unidad de control (CU), una unidad aritmético-lógica (ALU) (incluida en el microprocesador), dispositivos de almacenamiento (SRAM) y una información. dispositivo de salida.

Arroz. 1. Arquitectura de un microprocesador típico.

El microprocesador coordina el funcionamiento de todos los dispositivos del sistema digital mediante un bus de control (CB). Además del SHU, hay un bus de direcciones de 16 bits (ABA), que se utiliza para seleccionar una celda de memoria, un puerto de entrada o un puerto de salida específicos. El bus de información o bus de datos (SD) de 8 bits realiza la transferencia bidireccional de datos hacia y desde el microprocesador. Es importante señalar que el MP puede enviar información a la memoria del microordenador o a uno de los puertos de salida, así como recibir información de la memoria o de uno de los puertos de entrada.

La memoria de sólo lectura (ROM) de una microcomputadora contiene un determinado programa (en la práctica, un programa de inicialización de la computadora). Los programas se pueden cargar en una memoria de acceso aleatorio (RAM) y desde un dispositivo de almacenamiento externo (ERM). Estos son programas de usuario.

Como ejemplo que ilustra el funcionamiento de una microcomputadora, consideremos un procedimiento para cuya implementación es necesario realizar la siguiente secuencia de operaciones elementales:

1. Presione la tecla de la letra "A" en el teclado.

2. Coloque la letra “A” en la memoria del microordenador.

3. Muestre la letra “A” en la pantalla.

Este es un procedimiento típico de entrada-almacenamiento-salida, cuya consideración permite explicar los principios de uso de algunos dispositivos incluidos en una microcomputadora.

En la figura. La Figura 2 muestra un diagrama detallado de la ejecución del procedimiento entrada-almacenamiento-salida. Tenga en cuenta que las instrucciones ya están cargadas en las primeras seis ubicaciones de la memoria. El programa almacenado contiene la siguiente cadena de comandos:

1. Ingrese datos desde el puerto de entrada 1.

2. Guarde los datos en la ubicación de memoria 200.

3. Envíe datos al puerto de salida 10.

Sólo hay tres comandos en este programa, aunque en la Fig. 2 puede parecer que hay seis instrucciones almacenadas en la memoria del programa. Esto se debe a que el equipo suele estar dividido en partes. La primera parte del comando 1 en el programa anterior es el comando de entrada de datos. La segunda parte del comando 1 especifica desde dónde se deben ingresar los datos (desde el puerto 1). La primera parte del comando, que especifica una acción específica, se llama código de operación (OPC) y la segunda parte se llama operando. El código de operación y el operando se encuentran en ubicaciones de memoria de programa separadas. En la figura. 2 COP se almacena en la celda 100 y el código del operando se almacena en la celda 101 (puerto 1); este último indica de dónde se debe tomar la información.

En MP en la Fig. 2, se resaltan dos bloques nuevos más: registros: el acumulador y el registro de comando.


Arroz. 2. Diagrama de ejecución del procedimiento entrada-memorización-salida

Consideremos el paso de comandos y datos dentro de una microcomputadora usando círculos numerados en el diagrama. Recordemos que el microprocesador es el nodo central que controla el movimiento de todos los datos y la ejecución de las operaciones.

Entonces, al realizar un procedimiento típico de entrada-almacenamiento-salida en una microcomputadora, se produce la siguiente secuencia de acciones:

1. El MP emite la dirección 100 al bus de direcciones. Se envía una señal a través del bus de control que configura la memoria del programa (un microcircuito específico) en modo de lectura.

2. La memoria del programa envía el primer comando (“Ingresar datos”) a lo largo del bus de datos y el MP recibe este mensaje codificado. El comando se coloca en el registro de comando. El MP decodifica (interpreta) el comando recibido y determina que el comando requiere un operando.

3. El MP emite la dirección 101 a ShA; La sala de control se utiliza para transferir la memoria del programa al modo de lectura.

4. El operando “Desde el puerto 1” se envía desde la memoria del programa a la SD. Este operando se encuentra en la memoria del programa en la celda 101. El código del operando (que contiene la dirección del puerto 1) se transmite a través de la SD al MP y se envía al registro de comando. El MP ahora decodifica el comando completo ("Ingrese datos desde el puerto 1").

5. El MP, utilizando SHA y SHU conectándolo al dispositivo de entrada, abre el puerto 1. El código digital de la letra "A" se transmite a la batería dentro del MP y se almacena. Es importante tener en cuenta que durante el procesamiento. En cada comando del programa, el MP actúa según el microprocedimiento de muestreo-decodificación-ejecución.

6. El MP accede a la celda 102 a través de ShA. La sala de control se utiliza para transferir la memoria del programa al modo de lectura.

7. El código de comando “Recordar datos” se envía a la SD y al MP, donde se coloca en el registro de comando.

8. El MP decodifica esta instrucción y determina que requiere un operando. El MP accede a la celda de memoria 103 y activa la entrada para leer chips de memoria de programa.

9. El código de mensaje “En la celda de memoria 200” se envía desde la memoria del programa a la SD. El MP toma este operando y lo coloca en el registro de instrucciones. El comando completo "Almacenar datos en la ubicación de memoria 200" se selecciona de la memoria del programa y se decodifica.

10. Ahora comienza el proceso de ejecución del comando. El MP reenvía la dirección 200 al SHA y activa la entrada de escritura relacionada con la memoria de datos.

11. El MP envía la información almacenada en la batería a la memoria de datos. El código de la letra "A" se transmite vía SD y se escribe en la celda 200 de esta memoria. El segundo comando ha sido ejecutado. El proceso de memorización no destruye el contenido de la batería. Todavía contiene el código de la letra "A".

12. El MP accede a la celda de memoria 104 para seleccionar el siguiente comando y cambia la memoria del programa al modo de lectura.

13. El código de comando de salida de datos se envía vía SD al MP, quien lo coloca en el registro de comando, lo descifra y determina que se necesita un operando.

14. El MP emite la dirección 105 al SHA y configura la memoria del programa en modo de lectura.

15. Desde la memoria del programa vía SD, el MP recibe el código de operando “Al puerto 10”, que luego se coloca en el registro de comando.

16. MP descifra el comando completo "Enviar datos al puerto 10". Con la ayuda de ShA y ShU conectándolo al dispositivo de salida, el MP abre el puerto 10 y envía el código de la letra "A" (aún en la batería) a través del ShD. La letra "A" se muestra a través del puerto 10 en la pantalla.

En la mayoría de los sistemas de microprocesador (MPS), la información se transfiere de una manera similar a la comentada anteriormente. Las diferencias más significativas son posibles en los bloques de entrada y salida.

Recalquemos una vez más que el microprocesador es el núcleo del sistema y controla todas las operaciones. Su trabajo representa una implementación secuencial de microprocedimientos de muestreo-descifrado-ejecución. Sin embargo, la secuencia real de operaciones en el MPS está determinada por los comandos grabados en la memoria del programa.

Así, en el MPS, el microprocesador realiza las siguientes funciones:

Recuperar comandos de programa de la memoria principal;

Descifrado de comandos;

Realizar operaciones aritméticas, lógicas y otras operaciones codificadas en comandos;

Control de transferencia de información entre registros y memoria principal, entre dispositivos de entrada/salida;

Procesar señales de dispositivos de entrada/salida, incluida la implementación de interrupciones desde estos dispositivos;

Dirección y coordinación del trabajo de las principales unidades del MP.


Existen varios enfoques para clasificar los microprocesadores por tipo de arquitectura. Así, existen MP con arquitectura CISC (Complete Instrucciones Set Computer), caracterizada por un conjunto completo de instrucciones, y arquitectura RISC (Reduce Institution Set Computer), que define un sistema con un conjunto reducido de comandos del mismo formato, ejecutados en un ciclo de reloj MP.

Al definir la profundidad de bits como la principal característica de MP, se distinguen los siguientes tipos de arquitectura MP:

Con una profundidad de bits fija y una lista de comandos (un solo chip);

Con capacidad ampliable (seccional) y control por microprograma.

Al analizar los espacios de direcciones de programas y datos se determina un MP con arquitectura von Neumann (la memoria de programa y la memoria de datos están en el mismo espacio y no hay señales que indiquen el tipo de información en la celda de memoria) y un MP con la arquitectura Harvard. Arquitectura de laboratorio (la memoria de programa y la memoria de datos están separadas, tienen sus propios espacios de direcciones y formas de acceder a ellos).

Consideremos con más detalle los principales tipos de soluciones arquitectónicas, destacando la conexión con los métodos de direccionamiento de memoria.

1. La arquitectura del registro está determinada por la presencia de un archivo de registro suficientemente grande dentro del MP. Las instrucciones pueden acceder a operandos ubicados en uno de dos medios de almacenamiento: RAM o registros. El tamaño del registro suele ser fijo y coincide con el tamaño de la palabra implementada físicamente en la RAM. Se puede acceder directamente a cualquier registro, ya que los registros se representan como una matriz de elementos de almacenamiento: un archivo de registro. Es típico realizar operaciones aritméticas solo en un registro, y la instrucción contiene dos operandos (ambos operandos en un registro, o un operando en un registro y el otro en la RAM).

El microprocesador Zilog pertenece a este tipo de arquitectura. El procesador Z80, creación de Zilog, además de un sistema de instrucción ampliado, una clasificación de potencia y la capacidad de ejecutar programas escritos para el i8080, tenía aspectos arquitectónicos destacados.

Arroz. 3. Microprocesador Z80 de Zilog.

Además del conjunto principal de RON, se implementó en el cristal un segundo conjunto de registros similares. Esto simplificó enormemente el trabajo al llamar a subrutinas o interrumpir rutinas de servicio, ya que el programador podría usar un conjunto alternativo de registros para ellas, evitando almacenar el contenido de los RON para el programa principal en la pila mediante operaciones PUSH. Además, se incluyeron en el sistema de instrucciones una serie de instrucciones especiales centradas en el procesamiento de bits individuales y, para apoyar la regeneración dinámica de la memoria, se introdujo el hardware adecuado en el circuito del procesador. Z80 se utilizó en máquinas Sinclair ZX, Sinclair Spectrum, Tandy TRS80.

La última opción es una arquitectura con direccionamiento mediante acumuladores (un conjunto más pequeño de comandos).

El MP de Motorola tenía una serie de ventajas importantes. En primer lugar, el cristal MC6800 requería una clasificación de potencia para su funcionamiento y el sistema de comando resultó ser muy transparente para el programador. La arquitectura MP también tenía una serie de características.

Figura 4. Microprocesador MC6800 de Motorola.

El microprocesador MC 6800 contenía dos baterías y el resultado de una operación ALU podía colocarse en cualquiera de ellas. Pero la característica más valiosa de la estructura del MC 6800 fue el guardado automático del contenido de todos los registros del procesador en la pila al procesar interrupciones (el Z80 requirió varios comandos PUSH para esto). El procedimiento para restaurar RON desde la pila también se realizó en hardware.

2. La arquitectura de pila permite crear un campo de memoria con una secuencia ordenada de grabación y recuperación de información.

En general, los comandos se dirigen implícitamente al elemento de la pila en la parte superior de la pila o a los dos elementos superiores de la pila.

3. La arquitectura MP, orientada a RAM (tipo memoria a memoria), garantiza una alta velocidad de operación y una gran capacidad de información de los registros de trabajo y del stack cuando están organizados en RAM.

Este tipo de arquitectura no define explícitamente un acumulador, registros de propósito general o pila; Todos los operandos de instrucción están dirigidos al área de memoria principal.

Desde el punto de vista de la importancia para el usuario-programador, la arquitectura se entiende generalmente como el conjunto de los siguientes componentes y características:

Tamaño de bits de direcciones y datos;

Composición, nombres y finalidad de los registros accesibles por software;

Formatos y sistemas de mando;

Modos de direccionamiento de memoria;

Métodos para la representación mecánica de diversos tipos de datos;

Estructuras del espacio de direcciones;

Método de direccionamiento de dispositivos externos y medios para realizar operaciones de E/S;

Clases de interrupción, características de inicio y procesamiento de interrupciones.

2. Dispositivo de control

Los códigos de operación de los comandos del programa, percibidos por la parte de control del microprocesador, descifrados y convertidos en él, brindan información sobre qué operaciones se deben realizar, dónde se encuentran los datos en la memoria, dónde se debe enviar el resultado y dónde se debe enviar el siguiente. Se encuentra el comando a ejecutar.

El dispositivo de control dispone de medios suficientes para, tras percibir e interpretar la información recibida en el comando, asegurar la conmutación (activación) de todas las partes funcionales requeridas de la máquina, así como suministrarles datos y percibir los resultados obtenidos. Es la actuación, es decir, cambiar el estado de los elementos lógicos binarios al opuesto, lo que permite, a través de puertas de conmutación, realizar operaciones lógicas y aritméticas elementales, así como transferir los operandos necesarios a las partes funcionales de la microcomputadora.

El dispositivo de control, en estricta secuencia dentro de los intervalos de tiempo cíclicos y de reloj de funcionamiento del microprocesador (ciclo es el intervalo mínimo de funcionamiento durante el cual se realiza una acción elemental; ciclo es el intervalo de tiempo durante el cual se realiza una operación de la máquina) realiza: comando selección; interpretarlo con el fin de analizar el formato, las características del servicio y calcular la dirección del operando (operandos); establecer la nomenclatura y secuencia temporal de todas las señales de control funcional; generación de pulsos de control y su transmisión a los buses de control de las partes funcionales del microordenador y las válvulas entre ellas; analizar el resultado de la operación y cambiar su estado para determinar la ubicación (dirección) del siguiente comando.


Los microprocesadores utilizan dos métodos para generar un conjunto de señales de control funcional: software y microprograma.

La realización de operaciones en una máquina se reduce a transformaciones elementales de información (transferencia de información entre nodos en bloques, desplazamiento de información en nodos, operaciones lógicas bit a bit, verificación de condiciones, etc.) en elementos lógicos, nodos y bloques bajo la influencia de señales de control funcionales. de gestión de bloques (dispositivos). Las transformaciones elementales que no se pueden descomponer en otras más simples se realizan durante un ciclo de reloj de las señales de sincronización y se denominan microoperaciones.

En los dispositivos de control de hardware (circuitos), cada operación tiene su propio conjunto de circuitos lógicos que producen ciertas señales funcionales para realizar microoperaciones en ciertos momentos. Con este método de construcción de un dispositivo de control, la implementación de microoperaciones se logra a través de circuitos lógicos una vez conectados entre sí, por lo que una computadora con un dispositivo de control hardware se denomina computadora con lógica de control dura. Este concepto se refiere a la fijación del sistema de comando en la estructura de las conexiones de la computadora y significa la imposibilidad práctica de cualquier cambio en el sistema de comando de la computadora después de su fabricación.

Cuando un dispositivo de control se implementa mediante microprogramación, se introduce en él una memoria, cada bit de cuyo código de salida determina la aparición de una señal de control funcional específica. Por lo tanto, a cada microoperación se le asigna su propio código de información: un microcomando. Un conjunto de microcomandos y la secuencia de su implementación garantizan la ejecución de cualquier operación compleja. Un conjunto de microoperaciones se denomina microprogramas. Un método para controlar operaciones leyendo e interpretando secuencialmente microcomandos de una memoria (la mayoría de las veces, se utilizan matrices lógicas programables de alta velocidad en forma de memoria de microprograma), así como el uso de códigos de microcomando para generar señales de control funcionales, se llama microprograma. y una microcomputadora con este método de control está microprogramada o almacenada (flexible) lógica de control.

Los microprogramas están sujetos a requisitos de integridad funcional y minimalismo. El primer requisito es necesario para garantizar la capacidad de desarrollar microprogramas para cualquier operación de la máquina, y el segundo está relacionado con el deseo de reducir la cantidad de equipo utilizado. Tener en cuenta el factor de rendimiento conduce a la expansión de los microprogramas, ya que la complicación de estos últimos permite reducir el tiempo de ejecución de los comandos del programa.

La conversión de información se realiza en la unidad aritmético-lógica universal del microprocesador. Suele construirse sobre la base de circuitos lógicos combinacionales.

Para acelerar la ejecución de determinadas operaciones, se introducen unidades operativas especiales adicionales (por ejemplo, palancas de cambio cíclicas). Además, se introducen unidades operativas especializadas de expansores aritméticos en el conjunto de microprocesadores (MPC) del LSI.

Las capacidades operativas de un microprocesador se pueden ampliar aumentando el número de registros. Si no hay ninguna asignación de funciones de registro en el búfer de registro, entonces se pueden usar tanto para almacenar datos como para almacenar direcciones. Estos registros de microprocesador se denominan registros de propósito general (GPR). A medida que la tecnología avanza, se han podido producir 16, 32 o más registros en un microprocesador.

En general, el principio de control de microprogramas (PMC) incluye las siguientes posiciones:

1) cualquier operación implementada por un dispositivo es una secuencia de acciones elementales: microoperaciones;

2) se utilizan condiciones lógicas para controlar el orden de las microoperaciones;

3) el proceso de realizar operaciones en el dispositivo se describe en forma de un algoritmo, presentado en términos de microoperaciones y condiciones lógicas, llamado microprograma;

4) el firmware se utiliza como forma de representación de la función del dispositivo, a partir del cual se determina la estructura y el orden de funcionamiento del dispositivo en el tiempo.

PMU proporciona flexibilidad al sistema de microprocesador y permite la orientación de problemas de micro y minicomputadoras.

4. Modos de direccionamiento

Para interactuar con varios módulos, la computadora debe tener medios para identificar celdas de memoria externa, celdas de memoria interna, registros MP y registros de dispositivos de entrada/salida. Por lo tanto, a cada una de las celdas de almacenamiento se le asigna una dirección, es decir combinación de bits inequívoca. El número de bits determina el número de celdas que se identificarán. Normalmente, una computadora tiene diferentes espacios de direcciones para la memoria y los registros MP y, a veces, espacios de direcciones separados para los registros de los dispositivos de entrada/salida y la memoria interna. Además, la memoria almacena tanto datos como instrucciones. Por lo tanto, se han desarrollado para las computadoras muchas formas de acceder a la memoria, llamadas modos de direccionamiento.

El modo de direccionamiento de memoria es un procedimiento o esquema para convertir la información de dirección de un operando en su dirección de ejecución.

Todos los métodos de direccionamiento de memoria se pueden dividir en:

1) directo, cuando la dirección ejecutiva se toma directamente del comando o se calcula utilizando el valor especificado en el comando y el contenido de cualquier registro (direccionamiento directo, registro, base, índice, etc.);

2) indirecto, que supone que el comando contiene el valor de la dirección indirecta, es decir direcciones de la celda de memoria en la que se encuentra la dirección de ejecución final (direccionamiento indirecto).

Cada microcomputadora implementa solo ciertos modos de direccionamiento, cuyo uso, por regla general, está determinado por la arquitectura del microcomputador.

Conclusión

El número de ordenadores personales tanto en el mundo como, en particular, en Rusia, está creciendo rápidamente; El mercado de PC es el más prometedor y rentable entre otros mercados informáticos. En América del Norte y Europa Occidental, el porcentaje de hogares que poseen una PC se acerca al 30. Sin duda, hoy en día todo el mundo debería aprender y comprender una computadora no sólo en teoría, sino, lo más importante, en la práctica.

Un análisis de nuevas soluciones para construir una estructura informática muestra que el procesador, la memoria y los dispositivos de entrada y salida forman la base de cualquier computadora. Consideremos el diagrama estructural más común, que subyace a los modelos más comunes de computadoras, en particular las personales.

Una computadora moderna se puede representar en la mayoría de los casos mediante un diagrama de bloques simplificado, donde se distinguen las partes central y periférica. La parte central incluye el procesador y la memoria interna, la parte periférica incluye dispositivos de entrada/salida y memoria externa. El diagrama estructural simplificado se basa en los principios de conectividad, modularidad y microprogramabilidad.

No se debe esperar que el desarrollo de la tecnología informática cambie radicalmente nuestra existencia. Una computadora no es más (pero no menos) que uno de los poderosos motores del progreso (como la energía, la metalurgia, la química, la ingeniería mecánica), que asume sobre sus “hombros de hierro” una función tan importante como la rutina de procesamiento de la información. Esta rutina acompaña siempre y en todas partes los vuelos más elevados del pensamiento humano. Es en esta rutina donde muy a menudo se ahogan decisiones atrevidas que son inaccesibles para una computadora. Por lo tanto, es muy importante "descargar" las operaciones rutinarias en la computadora para liberar a la persona para su verdadero propósito: la creatividad.

El futuro de la tecnología de microprocesadores hoy está conectado con dos nuevas direcciones: la nanotecnología y los sistemas de computación cuántica. Estos estudios, todavía en su mayoría teóricos, se refieren al uso de moléculas e incluso partículas subatómicas como componentes de circuitos lógicos: la base para los cálculos no deberían ser los circuitos eléctricos, como ahora, sino la posición de los átomos individuales o la dirección de rotación de los electrones. Si se crean computadoras "microscópicas", superarán a las máquinas modernas en muchos aspectos.

Lista de literatura usada

1. Balashov E.P., Grigoriev V.L., Petrov G.A. Micro y minicomputadores. – San Petersburgo: Energoatomizdat, 2004.

2. Eremin E.A. Conferencias populares sobre diseño informático. – San Petersburgo: BHV-Petersburgo, 2003.

3. Ibrahim K.F. Dispositivo de PC y configuración / Per. del ingles – M.: Binom, 2004..

4. Kosarev V.P., Surkov E.M., Bakova I.V. Medios técnicos de sistemas de control. - M.: Editorial "Finanzas y Estadísticas", 2006.

5. Leontyev V.P. La última enciclopedia de una computadora personal 2003. – M.: OLMA-PRESS, 2004.

6. Stallings W. Organización estructural y arquitectura de sistemas informáticos. – M.: Williams, 2002.

7. Wynn L. Roche. La Biblia para actualizar su computadora personal. – M.: Tivali-Estilo, 2005.

8. Figurnov V.E. IBM PC para el Usuario, 6ª edición, revisada y ampliada. – M.: INFRA-M, 1996.

Sección 1 Arquitectura informática del microprocesador

Tema 1.1 Arquitectura del microprocesador

Plan:

1 Arquitectura de microprocesador. Clasificación

Tecnología de microprocesador (MPT) Incluye hardware y software utilizados para construir diversos sistemas de microprocesadores, dispositivos y microcomputadoras personales.

Sistema de microprocesador (MPS) es un producto funcionalmente completo que consta de uno o más dispositivos, principalmente basados ​​en microprocesadores: un microprocesador y/o un microcontrolador.

Dispositivo microprocesador (MPU) es un producto funcional y estructuralmente completo, que consta de varios microcircuitos, que incluyen un microprocesador; está diseñado para realizar un conjunto específico de funciones: recibir, procesar, transmitir, convertir información y gestionar.

Microprocesador (MP) es un dispositivo controlado por software que lleva a cabo el proceso de procesamiento y control de información digital y está construido, por regla general, en un solo LSI.

Los diferentes MP o MK se unen en familias tanto por la tecnología "microkernel", que es un núcleo de procesador que interactúa con dispositivos periféricos de varios tipos, como por los principios inherentes a los sistemas abiertos: compatibilidad ( compatibilidad ), escalabilidad ( escalabilidad ), portabilidad ( portabilidad ) y la interacción de la aplicación ( introoperabilidad).

Los microprocesadores fabricados se dividen en clases separadas según su arquitectura, estructura y funcionalidad. Las principales direcciones de desarrollo de los microprocesadores son aumentar su rendimiento y ampliar la funcionalidad, lo que se logra aumentando el nivel de tecnología microelectrónica utilizada para la producción de microprocesadores y utilizando nuevas opciones arquitectónicas y estructurales para su implementación.

La Figura 1 muestra la clasificación de los microprocesadores modernos según su funcionalidad.

Figura 1 - Clasificación de microprocesadores modernos por funcionalidad

Microprocesadores de uso general diseñado para resolver una amplia gama de problemas de procesamiento de una variedad de información. Sus principales áreas de uso son computadoras personales, estaciones de trabajo, servidores y otros sistemas digitales de uso masivo.

Microprocesadores especializados están enfocados a resolver problemas específicos de gestión de diversos objetos. Contienen microcircuitos (interfaces) adicionales que proporcionan aplicaciones especializadas. Tienen un diseño especial, mayor confiabilidad.

Microcontroladores Son microprocesadores especializados que se centran en la implementación de dispositivos de control integrados en una variedad de equipos. Un rasgo característico de la estructura de los microcontroladores es la ubicación de la memoria interna y un gran conjunto de dispositivos periféricos en el mismo chip que el procesador central.

Procesadores de señales digitales (DSP) representan una clase de microprocesadores especializados centrados en el procesamiento digital de señales analógicas entrantes. Una característica específica de los algoritmos de procesamiento de señales analógicas es la necesidad de ejecutar secuencialmente una serie de comandos de multiplicación y suma con la acumulación de un resultado intermedio en un registro acumulador. Por tanto, la arquitectura del DSP está enfocada a la implementación de una ejecución rápida de operaciones de este tipo. El conjunto de instrucciones de estos procesadores contiene instrucciones especiales. MAC (Multiplicación con Acumulación ) que implementan estas operaciones.

Arquitectura del procesador es el conjunto de su hardware y software proporcionado al usuario. Este concepto general incluye un conjunto de registros accesibles por software y dispositivos ejecutivos (operativos), un sistema de comandos básicos y métodos de direccionamiento, el volumen y estructura de la memoria direccionable, tipos y métodos de procesamiento de interrupciones.

Al describir la arquitectura y el funcionamiento de un procesador, su representación generalmente se usa en forma de un conjunto de registros accesibles por software que forman registro o modelo de software. Estos registros contienen datos procesados ​​(operandos) e información de control. En consecuencia, el modelo de registro incluye grupo de registro de propósito general, sirviendo para almacenar operandos, y un grupo registros de servicios, proporcionar control de la ejecución del programa y el modo de funcionamiento del procesador, organización del acceso a la memoria (protección de la memoria, organización de segmentos y páginas, etc.).

Los registros de propósito general forman RRAM, la memoria de registro interna del procesador. La composición y el número de registros de servicio están determinados por la arquitectura del microprocesador. Normalmente incluyen:

Contador de programas PC (o CS + IP en arquitectura de microprocesador Intel);

Registro de estado SR (o EFLAGS);

Registros de control del modo procesador CR (Registro de Control);

Registros que implementan organización de memoria de segmentos y páginas;

Registros que proporcionan depuración de programas y pruebas de procesador.

Además, los diferentes modelos de microprocesadores contienen otros registros especializados.

La composición de dispositivos y bloques incluidos en la estructura del microprocesador y los mecanismos implementados de su interacción están determinados por el propósito funcional y el alcance del microprocesador.

La arquitectura y estructura del microprocesador están estrechamente interrelacionadas. La implementación de determinadas características arquitectónicas requiere la introducción del hardware necesario (dispositivos y bloques) en la estructura del microprocesador y la provisión de mecanismos adecuados para su funcionamiento conjunto. Las siguientes opciones de arquitectura se implementan en microprocesadores modernos.

CISC ( ComplejoInstrucciónColocarComputadora) - la arquitectura se implementa en muchos tipos de microprocesadores que ejecutan un gran conjunto de instrucciones multiformato utilizando numerosos métodos de direccionamiento. Ejecutan más de 200 instrucciones de diversa complejidad, cuyo tamaño varía de 1 a 15 bytes y proporcionan más de 10 métodos de direccionamiento diferentes. Una variedad tan amplia de comandos ejecutados y métodos de direccionamiento permite al programador implementar los algoritmos más efectivos para resolver diversos problemas.

RISC ( ReducidoInstrucciónColocarComputadora) - la arquitectura se distingue por el uso de un conjunto limitado de comandos de formato fijo. Moderno RISC -Los procesadores suelen implementar unas 100 instrucciones que tienen un formato fijo de 4 bytes de longitud. También se reduce significativamente el número de métodos de direccionamiento utilizados. Generalmente en RISC -procesadores, todos los comandos de procesamiento de datos se ejecutan únicamente con registro o direccionamiento directo.

VLIW ( MuyGrandeInstrucciónPalabra) - la arquitectura apareció hace relativamente poco tiempo - en los años 1990. Su peculiaridad es el uso de comandos muy largos (de hasta 128 bits o más), cuyos campos individuales contienen códigos que permiten la ejecución de diversas operaciones. Así, un comando provoca que se ejecuten varias operaciones en paralelo en varios dispositivos operativos incluidos en la estructura del microprocesador.

Además del conjunto de comandos a ejecutar y los métodos de direccionamiento, una característica arquitectónica importante de los microprocesadores es la opción de implementación de memoria utilizada y la organización de la recuperación de comandos y datos. En estas características se diferencian los procesadores con arquitectura Princeton y Harvard.

Arquitectura de Princeton , que a menudo se denomina arquitectura de Von Neumann, se caracteriza por el uso de RAM compartida para almacenar programas, datos y también para organizar la pila. Para acceder a esta memoria se utiliza un bus de sistema común, a través del cual ingresan tanto comandos como datos al procesador. Esta arquitectura tiene una serie de ventajas importantes. La presencia de memoria compartida le permite redistribuir rápidamente su volumen para almacenar matrices separadas de comandos, datos e implementación de pilas, según las tareas que se resuelvan.

Arquitectura de Harvard caracterizado por la separación física de la memoria de instrucciones (programas) y la memoria de datos. Su versión original también usaba una pila separada para almacenar el contenido del contador del programa, lo que brindaba la capacidad de ejecutar subrutinas anidadas. Cada memoria está conectada al procesador mediante un bus separado, que permite la lectura y escritura simultánea de datos mientras se ejecuta el comando actual para buscar y decodificar el siguiente comando. Gracias a esta separación de los flujos de comandos y datos y a la combinación de sus operaciones de recuperación, se obtiene un mayor rendimiento que cuando se utiliza la arquitectura Princeton.

Conclusión:

Así, podemos concluir que los microprocesadores se clasifican según características funcionales, organización de arquitecturas, organización de datos y memoria de programas, conjunto de comandos ejecutables y métodos de direccionamiento, así como capacidad, direccionamiento y control de datos.

­ Preguntas de seguridad:

1 ¿Qué es un microprocesador?

2 ¿Cómo se clasifican los microprocesadores modernos según su función?

3 Enumere las opciones para las arquitecturas de procesador.

4 Explica las características CISC Arquitecturas de procesador.

5 Explique las características de la arquitectura del procesador RISC.

Arquitectura de microprocesador

Modos de direccionamiento

Para interactuar con varios módulos, la computadora debe tener medios para identificar celdas de memoria externa, celdas de memoria interna, registros MP y registros de dispositivos de entrada/salida. Por lo tanto, a cada una de las celdas de almacenamiento se le asigna una dirección, es decir combinación de bits inequívoca. El número de bits determina el número de celdas que se identificarán. Normalmente, una computadora tiene diferentes espacios de direcciones para la memoria y los registros MP y, a veces, espacios de direcciones separados para los registros de los dispositivos de entrada/salida y la memoria interna. Además, la memoria almacena tanto datos como instrucciones. Por lo tanto, se han desarrollado para las computadoras muchas formas de acceder a la memoria, llamadas modos de direccionamiento.

El modo de direccionamiento de memoria es un procedimiento o esquema para convertir la información de dirección de un operando en su dirección de ejecución.

Todos los métodos de direccionamiento de memoria se pueden dividir en:
1) directo, cuando la dirección ejecutiva se toma directamente del comando o se calcula utilizando el valor especificado en el comando y el contenido de cualquier registro (direccionamiento directo, registro, base, índice, etc.);
2) indirecto, que supone que el comando contiene el valor de la dirección indirecta, es decir direcciones de la celda de memoria en la que se encuentra la dirección de ejecución final (direccionamiento indirecto).

Cada microcomputadora implementa solo ciertos modos de direccionamiento, cuyo uso, por regla general, está determinado por la arquitectura del microcomputador.

Tipos de arquitecturas

Existen varios enfoques para clasificar los microprocesadores por tipo de arquitectura. Así, existen MP con arquitectura CISC (Complete Instrucciones Set Computer), caracterizada por un conjunto completo de instrucciones, y arquitectura RISC (Reduce Institution Set Computer), que define un sistema con un conjunto reducido de comandos del mismo formato, ejecutados en un ciclo de reloj MP.

Al definir la profundidad de bits como la principal característica de MP, se distinguen los siguientes tipos de arquitectura MP:
- con una profundidad de bits fija y una lista de comandos (un solo chip);
- con capacidad ampliable (seccional) y control por microprograma.

Al analizar los espacios de direcciones de programas y datos se determina un MP con arquitectura von Neumann (la memoria de programa y la memoria de datos están en el mismo espacio y no hay señales que indiquen el tipo de información en la celda de memoria) y un MP con la arquitectura Harvard. Arquitectura de laboratorio (la memoria de programa y la memoria de datos están separadas, tienen sus propios espacios de direcciones y formas de acceder a ellos).

Consideraremos con más detalle los principales tipos de soluciones arquitectónicas, destacando la relación con los métodos de direccionamiento de memoria.
1. La arquitectura del registro está determinada por la presencia de un archivo de registro suficientemente grande dentro del MP. Las instrucciones pueden acceder a operandos ubicados en uno de dos medios de almacenamiento: RAM o registros. El tamaño del registro suele ser fijo y coincide con el tamaño de la palabra implementada físicamente en la RAM. Se puede acceder directamente a cualquier registro, ya que los registros se representan como una matriz de elementos de almacenamiento: un archivo de registro. Es típico realizar operaciones aritméticas solo en un registro, y la instrucción contiene dos operandos (ambos operandos en un registro, o un operando en un registro y el otro en la RAM).

El microprocesador Zilog pertenece a este tipo de arquitectura. El procesador Z80, creación de Zilog, además de un sistema de instrucción ampliado, una clasificación de potencia y la capacidad de ejecutar programas escritos para el i8080, tenía aspectos arquitectónicos destacados.

Figura 2.5. Microprocesador Z80 de Zilog.

Además del conjunto principal de RON, se implementó en el cristal un segundo conjunto de registros similares. Esto simplificó enormemente el trabajo al llamar a subrutinas o interrumpir rutinas de servicio, ya que el programador podría usar un conjunto alternativo de registros para ellas, evitando almacenar el contenido de los RON para el programa principal en la pila mediante operaciones PUSH. Además, se incluyeron en el sistema de instrucciones una serie de instrucciones especiales centradas en el procesamiento de bits individuales y, para apoyar la regeneración dinámica de la memoria, se introdujo el hardware adecuado en el circuito del procesador. Z80 se utilizó en máquinas Sinclair ZX, Sinclair Spectrum, Tandy TRS80.

La última opción es una arquitectura con direccionamiento mediante acumuladores (un conjunto más pequeño de comandos).

El MP de Motorola tenía una serie de ventajas importantes. En primer lugar, el cristal MC6800 requería una clasificación de potencia para su funcionamiento y el sistema de comando resultó ser muy transparente para el programador. La arquitectura MP también tenía una serie de características.

Figura 2.6. Microprocesador MC6800 de Motorola.

El microprocesador MC 6800 contenía dos baterías y el resultado de una operación ALU podía colocarse en cualquiera de ellas. Pero la característica más valiosa de la estructura del MC 6800 fue el guardado automático del contenido de todos los registros del procesador en la pila al procesar interrupciones (el Z80 requirió varios comandos PUSH para esto). El procedimiento para restaurar RON desde la pila también se realizó en hardware.

2. La arquitectura de pila permite crear un campo de memoria con una secuencia ordenada de grabación y recuperación de información.
En general, los comandos se dirigen implícitamente al elemento de la pila en la parte superior de la pila o a los dos elementos superiores de la pila.
3. La arquitectura MP, orientada a RAM (tipo memoria a memoria), garantiza una alta velocidad de operación y una gran capacidad de información de los registros de trabajo y del stack cuando están organizados en RAM.
Este tipo de arquitectura no define explícitamente un acumulador, registros de propósito general o pila; Todos los operandos de instrucción están dirigidos al área de memoria principal.

Desde el punto de vista de la importancia para el usuario-programador, la arquitectura se entiende generalmente como el conjunto de los siguientes componentes y características:
- profundidad de bits de direcciones y datos;
- composición, nombres y finalidad de los registros accesibles por software;
- formatos y sistemas de mando;
- modos de direccionamiento de memoria;
- métodos de representación mecánica de datos de diversos tipos;
- estructuras del espacio de direcciones;
- método para direccionar dispositivos externos y medios para realizar operaciones de entrada/salida;
- clases de interrupción, características de inicio y procesamiento de interrupciones.




Arriba