Examen de software para arquitecto de sistemas avanzado sobre conceptos básicos de hardware informático y sistemas integrados

Hoy: 7 de septiembre de 2023, solo quedan 57 días para el examen blando avanzado.

Conceptos básicos del hardware informático

Los componentes de almacenamiento en los sistemas informáticos generalmente están organizados en una estructura jerárquica, y se accede más rápido a los componentes de almacenamiento más cercanos a la CPU. Las velocidades de almacenamiento de rápida a lenta son: banco de registros, caché, memoria y Flash.

Cuando la computadora ejecuta un programa, en el proceso de un ciclo de instrucción, para leer el código de operación de la instrucción de la memoria, el contenido del contador de programa (PC) se envía primero al bus de direcciones.

En términos generales, los sistemas integrados suelen utilizar registros de desplazamiento en la interfaz para implementar operaciones de conversión de datos serie/paralelo y paralelo/serie.

La frecuencia de funcionamiento (frecuencia principal) de la CPU consta de dos partes: el FSB y el multiplicador de frecuencia, el producto de los dos es la frecuencia principal. FSB, es decir, frecuencia externa, se refiere a la frecuencia del bus del sistema. Multiplicador, coeficiente multiplicador, coeficiente multiplicador se refiere a la relación proporcional relativa entre la frecuencia principal de la CPU y la frecuencia externa. Inicialmente, la velocidad del reloj de la CPU y la velocidad del bus del sistema eran las mismas, pero a medida que la velocidad de la CPU se hizo cada vez más rápida, se produjo la tecnología de multiplicación de frecuencia en consecuencia. Su función es hacer que el bus del sistema funcione a una frecuencia relativamente baja y la velocidad de la CPU se puede aumentar multiplicando la frecuencia.

La CPU generalmente accede a la memoria de manera sincrónica, la CPU y la interfaz de E/S intercambian información de manera sincrónica, la CPU y el bus PCI intercambian información de manera sincrónica, y la interfaz de E/S y la impresora intercambian información. de forma asincrónica según el grupo de búfer.

El controlador controla el trabajo de toda la CPU, incluido el control del programa y el control de tiempo. Sus componentes incluyen:
Registro de instrucciones IR: almacena temporalmente la instrucción a ejecutar.
Contador de programa PC: almacena la dirección de ejecución de la siguiente instrucción.
Registro de dirección AR: almacena la memoria a la que accede actualmente la CPU Dirección
ID del decodificador de instrucción: Analizar código de operación de instrucción

Y

IR: Registro de instrucciones, utilizado para almacenar temporalmente las instrucciones que se están ejecutando actualmente. La señal de reloj del registro de instrucciones es clk, que se activa en el flanco ascendente de clk. El registro de instrucciones almacena las instrucciones enviadas desde el bus de datos en un registro de 16 bits, pero no es necesario registrar todos los datos en el bus de datos, porque a veces las instrucciones se transmiten en el bus de datos y otras veces los datos se transmiten. La señal del controlador de estado de la CPU controla si los datos deben registrarse Ir_ena. Al reiniciar, se borra el registro de instrucciones.

ordenador personal

PC: Contador de Programa, Contador de Programa, es un registro en la unidad central de procesamiento que indica la posición de la computadora en su secuencia de programas. Un lugar utilizado para almacenar la dirección de la unidad donde se encuentra la siguiente instrucción. Al ejecutar una instrucción, primero debe recuperarse de la memoria al registro de instrucciones de acuerdo con la dirección de instrucción almacenada en la PC, es decir, se recupera la instrucción. Al mismo tiempo, la dirección en el PC se incrementa automáticamente en 1 o la dirección de la siguiente instrucción la proporciona el puntero de rama. Posteriormente, las instrucciones se analizan y ejecutan. Complete la ejecución de la primera instrucción y luego busque la dirección de la segunda instrucción según la PC, y así sucesivamente, ejecutando cada instrucción.

SR

SR: Registro de estado, también conocido como registro de código de condición, es el componente central del sistema informático, parte de la unidad aritmética. El registro de estado se utiliza para almacenar dos tipos de información:

  • Un tipo es diversa información de estado (códigos de condición) que reflejan los resultados de ejecución de la instrucción actual, como si hay un acarreo (bit CF), si hay un desbordamiento (bit OV), si el resultado es positivo o negativo (bit SF). ), si el resultado es cero (bit ZF) ), bit de indicador de paridad (bit P), etc.;
  • El otro tipo almacena información de control (PSW, registro de palabras de estado del programa), como habilitación de interrupciones (bit IF), indicadores de seguimiento (bit TF), etc. En algunas máquinas, PSW se denomina registro de bandera FR (Registro de bandera).

GRAMO

GR: Registro de uso general, que se puede utilizar para transmitir y almacenar datos temporalmente, también puede participar en operaciones aritméticas y lógicas y guardar los resultados de las operaciones. Además, cada uno tiene algunas características especiales. Los programadores en lenguaje ensamblador deben estar familiarizados con los usos generales y especiales de cada registro, sólo así podrán utilizarlos correcta y razonablemente en el programa.

autobús

Un bus es un conjunto de líneas de transmisión de información que pueden ser compartidas por múltiples componentes en tiempo compartido. Se utiliza para conectar múltiples componentes y proporcionarles una ruta de intercambio de información. El llamado compartir significa que todos los componentes conectados al bus pueden transmitir información a través de él; el tiempo compartido significa que solo un componente puede enviar datos al bus en un momento determinado. Por tanto, compartir se consigue compartiendo el tiempo .

autobús serie

Características:

  • Los buses serie se dividen en semidúplex y dúplex completo: dúplex completo significa que una línea envía y la otra recibe.
  • El bus serie es adecuado para transmitir datos a largas distancias
  • El bus serie transmite y recibe bits. Aunque es más lento que la comunicación paralela byte a byte, un puerto serie puede enviar datos por un cable mientras recibe datos por otro. Es sencillo y permite la comunicación a largas distancias. Por ejemplo, cuando IEEE488 define el estado de comunicación paralela, estipula que la longitud total de la línea del equipo no excederá los 20 metros, y la longitud entre dos dispositivos cualesquiera no excederá los 2 metros; para los puertos serie, la longitud puede ser de hasta 1200 metros.
  • Los parámetros más importantes de la comunicación serie son la velocidad en baudios, los bits de datos, los bits de parada y la paridad. Para que ambos puertos pasen, estos parámetros deben coincidir
  • Los datos del bus serie se pueden enviar y recibir de diversas formas, siendo las interrupciones y DMA las más comunes.

PCI

PCI es un estándar de bus local. Es un bus de primer nivel insertado entre la CPU y el bus del sistema original. Específicamente, un circuito puente implementa la gestión de esta capa e implementa la interfaz entre las capas superior e inferior para coordinar la transmisión de datos. .

JTAG

JTAG es una interfaz de depuración utilizada por los desarrolladores para depurar el estado de funcionamiento de la CPU. El software JTAG controla la CPU a través de esta interfaz para depurar la CPU y leer y escribir Flash.

máquina virtual

La memoria virtual, en un sistema informático con memoria jerárquica, implementa automáticamente funciones de carga parcial y reemplazo parcial y, lógicamente, puede proporcionar a los usuarios una memoria principal direccionable que es mucho mayor que la capacidad de almacenamiento físico. La capacidad del área de almacenamiento virtual no tiene nada que ver con el tamaño de la memoria principal física, sino que está limitada por la estructura de direcciones de la computadora y la capacidad del disco disponible. El reemplazo de página se realiza de acuerdo con el algoritmo de reemplazo de página correspondiente. Cuando la página falla, es necesario realizar el intercambio de datos, lo que implica la conversión de la dirección lógica (dirección virtual) a la dirección física de almacenamiento auxiliar.

CISC & RIESGO

La idea básica de CISC (computadora con conjunto de instrucciones complejas) es mejorar aún más las funciones de las instrucciones originales, reemplazar las funciones realizadas originalmente por subrutinas de software con nuevas instrucciones más complejas y realizar la hardwareización de las funciones del software, lo que resulta en la máquina. El sistema de mando es cada vez más grande y complejo. Las computadoras CISC generalmente contienen al menos 300 instrucciones y algunas incluso superan las 500.

Las desventajas son las siguientes:

  • La tecnología de microprogramas es un pilar importante de CISC. Cada instrucción compleja debe completarse ejecutando un microprograma interpretativo, lo que requiere múltiples ciclos de CPU y reduce la velocidad de procesamiento de la máquina;
  • El sistema de instrucciones es demasiado grande, lo que hace que el compilador de lenguajes de alto nivel tenga una amplia gama de instrucciones de destino para elegir, y hace que el compilador sea largo y complejo, lo que dificulta la optimización de la compilación para generar un código de destino verdaderamente eficiente;
  • CISC enfatiza el control perfecto de interrupciones, lo que inevitablemente conducirá a numerosas acciones, diseños complejos y largos ciclos de desarrollo;
  • CISC trae muchas dificultades al diseño de chips, aumentando los tipos de chips, aumentando la probabilidad de errores, aumentando los costos y reduciendo los rendimientos.

La idea básica de RISC (Computadora con conjunto de instrucciones reducido) es reducir la complejidad del diseño del hardware reduciendo el número total de instrucciones y simplificando las funciones de las instrucciones, de modo que las instrucciones se puedan ejecutar en un solo ciclo y, mediante una compilación optimizada, la Se mejora la velocidad de ejecución de las instrucciones. Utilice lógica de control cableada para optimizar el compilador.

Las tecnologías clave de RISC son:

  • La tecnología de ventanas de registro superpuestas se utilizó por primera vez en el proyecto RISC de Berkeley;
  • Al optimizar la tecnología de compilación, RISC utiliza una gran cantidad de registros. La forma de asignar registros razonablemente, mejorar la eficiencia del uso de los registros, reducir la cantidad de accesos a la memoria, etc., debe lograrse mediante la optimización de la tecnología de compilación;
  • Tecnología superescalar y supercanalización: nuevas tecnologías adoptadas por RISC para aumentar aún más la velocidad de la canalización;
  • Lógica cableada combinada con microprogramación en tecnología de microprogramación

DSP

El chip DSP de programación es un microprocesador con una estructura especial. Para lograr el propósito de un procesamiento rápido de señales digitales, los chips DSP generalmente adoptan estructuras de software y hardware especiales: 1) Estructura Harvard DSP adopta una estructura Harvard, que divide el espacio de memoria
en
dos para almacenar programas y datos respectivamente. Tienen dos conjuntos de buses conectados al núcleo del procesador, lo que permite acceder a ellos simultáneamente, y cada memoria se direcciona y accede de forma independiente. Esta disposición duplica el rendimiento de datos del procesador y, lo que es más importante, proporciona simultáneamente datos e instrucciones al núcleo del procesador. Bajo este diseño, el DSP puede implementar instrucciones MAC de ciclo único. En la arquitectura de Harvard, debido a que el programa y la memoria de datos están en dos espacios separados, la recuperación y ejecución de instrucciones pueden superponerse por completo.
2) Canalización
En relación con la estructura de Harvard, los chips DSP utilizan ampliamente canalizaciones de 2 a 6 etapas para reducir el tiempo de ejecución de instrucciones y, por lo tanto, mejorar la potencia de procesamiento del procesador. Esto permite una superposición completa de la ejecución de instrucciones, con diferentes instrucciones activas durante cada ciclo de instrucción.
3) Multiplicador de hardware independiente
En sistemas que implementan funciones multimedia y procesamiento de señales digitales, la implementación de algoritmos y el filtrado digital son aplicaciones computacionalmente intensivas. En estas situaciones, las operaciones de multiplicación son una parte importante del procesamiento de números y uno de los elementos básicos en la implementación de varios algoritmos. Cuanto más rápido se realice la multiplicación, mayor será el rendimiento del procesador DSP. En comparación con los 30-40 ciclos de instrucción requeridos por un procesador general, el chip DSP se caracteriza por un multiplicador de hardware dedicado y la multiplicación se puede completar en un ciclo.
4) Instrucciones DSP especiales:
se utilizan instrucciones especiales para optimizar algunos algoritmos comunes en el procesamiento de señales digitales. Estas instrucciones especiales proporcionan aceleración para algunos procesamientos numéricos típicos y pueden mejorar en gran medida la eficiencia de ejecución del procesador. Hace posible el procesamiento de datos en tiempo real de algunos sistemas de alta velocidad.
5) Bus y controlador DMA independientes
Hay uno o más buses DMA independientes que funcionan en paralelo con los buses de programa y datos de la CPU. Sin afectar el trabajo de la CPU, la velocidad DMA ha alcanzado más de 800 MB/S. Esto puede reducir la sobrecarga de la CPU y mejorar el rendimiento de los datos cuando se intercambia una gran cantidad de datos. Mejorar la capacidad de ejecución paralela del sistema.
6) La interfaz multiprocesador
permite que varios procesadores funcionen en paralelo o en serie para aumentar la velocidad de procesamiento.
7) JTAG, Joint Test Action Group, interfaz de prueba estándar (interfaz estándar IEEE 1149), facilita la simulación en línea en el chip de DSP y la depuración en condiciones de múltiples DSP.
8) La estructura Harvard de ciclo de instrucción rápido
, la operación de tubería, el multiplicador de hardware dedicado, las instrucciones DSP especiales y el diseño optimizado del circuito integrado pueden hacer que el ciclo de instrucción del chip DSP sea inferior a 10 ns. El rápido ciclo de instrucción permite que los chips DSP implementen muchas aplicaciones DSP en tiempo real.

MMU

Unidad de gestión de memoria, la unidad de gestión de memoria, es un dispositivo que se utiliza para gestionar el sistema de memoria virtual. La MMU suele ser parte de la CPU y tiene una pequeña cantidad de espacio de almacenamiento para almacenar la tabla coincidente desde direcciones virtuales hasta direcciones físicas. Esta tabla se llama TLB (Translation Lookaside Buffer). Todas las solicitudes de datos se envían a la MMU, que determina si los datos están en la RAM o en un dispositivo de almacenamiento masivo. Si los datos no están en el espacio de almacenamiento, la MMU generará una interrupción por falla de página. Las dos funciones principales de la MMU son convertir direcciones virtuales en direcciones físicas y controlar los permisos de acceso a la memoria. Cuando la MMU está apagada, la dirección virtual se envía directamente al bus de direcciones físicas. El procesador Cortex-M3 utiliza la arquitectura ARMv7-M, que incluye todos los conjuntos de instrucciones Thumb de 16 bits y la arquitectura básica del conjunto de instrucciones Thumb-2 de 32 bits. Cortex-M3 admite el modo de subproceso y el modo de procesamiento. El procesador ingresa al modo de subproceso al restablecerse y también ingresa a este modo cuando se devuelve una excepción. El código de modo privilegiado y de usuario (no privilegiado) se puede ejecutar en modo de subproceso. Cuando ocurre el modo de excepción, el procesador ingresa al modo de procesamiento. En el modo de procesamiento, todo el código tiene acceso privilegiado. μC/OS-II puede ejecutarse en el procesador Cortex-M3.

MPU

El microprocesador integrado (MPU) es el núcleo de la capa de hardware de los sistemas integrados. La mayoría de ellos funcionan en sistemas especialmente diseñados para grupos de usuarios específicos. Integra en el chip muchas tareas realizadas por las placas de las CPU de uso general, lo que facilita la integración. El sistema tiende a tener un diseño miniaturizado y, al mismo tiempo, tiene una alta eficiencia y confiabilidad. El representante típico de la unidad de microcontrolador integrado (EMCU) es una microcomputadora de un solo chip, también llamada microcontrolador integrado. Es de tamaño pequeño y estructura compacta, se instala como un componente en el dispositivo controlado y realiza principalmente funciones de control de señal.

El procesador de señales digitales (procesador de señales digitales) se compone de chips de circuitos integrados de gran o muy gran escala y es un procesador que se utiliza para completar determinadas tareas de procesamiento de señales. Se desarrolló gradualmente para satisfacer las necesidades de las tareas de procesamiento de señales en tiempo real de alta velocidad. Con el desarrollo de la tecnología de circuitos integrados y los algoritmos de procesamiento de señales digitales, los métodos de implementación de los procesadores de señales digitales también cambian constantemente y las capacidades de procesamiento mejoran constantemente.

System-on-a-chip se refiere a la integración de un sistema completo en un solo chip, que generalmente incluye CPU, memoria y circuitos periféricos. SOC se desarrolló en paralelo con otras tecnologías, como el silicio sobre aislante (SOI), que puede proporcionar frecuencias de reloj mejoradas y así reducir el consumo de energía de los microchips.

REDADA

Comencemos otro artículo con referencia a la tecnología RAID en los conceptos básicos de informática .

DMA

El acceso directo a la memoria, el método DMA, es un método de control de intercambio de datos directamente entre los periféricos y la memoria sin pasar por la CPU. En el modo DMA, la CPU solo necesita enviar instrucciones al controlador DMA y dejar que el controlador DMA maneje la transmisión de datos. Una vez completada la transmisión de datos, la información se devuelve a la CPU.

índice

Rendimiento

La tasa de rendimiento de la canalización de instrucciones se define como: tasa de rendimiento TP = número de instrucciones / tiempo de ejecución.

Sistemas embebidos

Los sistemas integrados están centrados en aplicaciones y se basan en tecnología informática. Pueden adaptarse a los requisitos de diferentes aplicaciones en términos de funcionalidad, confiabilidad, costo, volumen y consumo de energía. Son sistemas informáticos especiales que integran software y hardware configurables y adaptables. .

componente:

  • Plataforma de hardware integrada
  • Hardware de soporte relacionado
  • sistema operativo integrado
  • Software de soporte
  • solicitud

La razón principal para utilizar interrupciones para implementar entradas y salidas en sistemas integrados es responder rápidamente a emergencias. Durante una interrupción, la información del punto de interrupción de la CPU generalmente se guarda en la pila .

La capa de abstracción de hardware es la capa de interfaz entre el núcleo del sistema operativo y el circuito de hardware y su propósito es abstraer el hardware. Oculta los detalles de la interfaz de hardware de una plataforma específica y proporciona una plataforma de hardware virtual para el sistema operativo, haciéndolo independiente del hardware y portátil en múltiples plataformas.

sistema operativo integrado

El sistema operativo integrado es un software de sistema operativo utilizado en sistemas integrados para realizar la asignación de recursos de software y hardware, programación de tareas, control y coordinación de actividades concurrentes, etc. Además de las funciones más básicas de un sistema operativo general, como programación multitarea, mecanismo de sincronización, etc., también suele tener las siguientes características adecuadas para sistemas integrados:

  • Está orientado a aplicaciones y puede inspeccionarse y adaptarse para admitir arquitecturas abiertas y escalables;
  • Fuerte rendimiento en tiempo real para adaptarse a diversos equipos y sistemas de control;
  • La aplicabilidad del hardware proporciona soporte efectivo para diferentes plataformas de hardware y logra una conexión unificada del controlador del dispositivo con alta confiabilidad. No requiere intervención excesiva del usuario durante la operación y maneja diversos eventos y fallas;
  • El tamaño de la codificación es pequeño y normalmente se fija en la unidad de almacenamiento limitada del sistema integrado.

El control del consumo de energía a nivel de diseño de software se puede realizar principalmente desde los siguientes aspectos:

  • Codiseño de software y hardware, es decir, el diseño del software debe coincidir con el hardware y considerar factores de hardware.
  • Optimización de la compilación, utilizando tecnología de compilación de optimización de bajo consumo de energía.
  • Optimice y reduzca el tiempo de ejecución del sistema desde una perspectiva algorítmica
  • Utilice interrupciones en lugar de consultas
  • Gestión eficaz de la energía

En el desarrollo de sistemas integrados, dado que los dispositivos integrados no tienen suficiente potencia de procesador ni espacio de almacenamiento, el desarrollo del programa generalmente se completa en una PC (máquina host) y luego el archivo ejecutable se descarga al sistema integrado (máquina de destino) para su ejecución. . . Cuando las instrucciones de la máquina host y la máquina de destino son diferentes, se requiere una cadena de herramientas cruzadas (que se refiere a un conjunto completo de herramientas como compilación, ensamblaje, vinculación, etc.) , como un compilador cruzado, para generar el código ejecutable de la máquina de destino en la máquina host.

inicialización

El proceso de inicialización del sistema integrado se puede dividir en tres enlaces principales, en orden de abajo hacia arriba, desde el hardware al software: inicialización a nivel de chip, inicialización a nivel de placa e inicialización a nivel de sistema.

  • Inicialización a nivel de chip: complete la inicialización del microprocesador integrado, incluida la configuración del registro central y el registro de control del microprocesador integrado, el modo de trabajo central del microprocesador integrado y el modo de bus local del microprocesador integrado, etc. La inicialización a nivel de chip configura gradualmente el microprocesador integrado desde el estado predeterminado cuando se enciende al estado de funcionamiento requerido por el sistema. Este es un proceso de inicialización puramente de hardware.
  • Inicialización a nivel de placa: complete la inicialización de otros dispositivos de hardware distintos del microprocesador integrado. Además, es necesario configurar algunas estructuras de datos y parámetros de software para establecer el entorno de hardware y software para la posterior inicialización a nivel del sistema y ejecución de aplicaciones. Este es un proceso de inicialización que incluye partes de software y hardware.
  • Inicialización del sistema: este proceso de inicialización es principalmente la inicialización del software, que inicializa principalmente el sistema operativo. El BSP transfiere el control del microprocesador integrado al sistema operativo integrado, y el sistema operativo completa las operaciones de inicialización restantes, incluida la carga e inicialización de controladores de dispositivos que no tienen nada que ver con el hardware, el establecimiento de un área de memoria del sistema y la carga e inicialización de otros. módulos de software del sistema, como sistemas de red, sistemas de archivos, etc. Finalmente, el sistema operativo crea el entorno de la aplicación y entrega el control al punto de entrada de la aplicación.

Desarrollo integrado

Desarrollo de software integrado

Desarrollo de hardware integrado

Control del consumo de energía

El control del consumo de energía a nivel de diseño de software se puede realizar principalmente desde los siguientes aspectos:

  1. Codiseño de software y hardware, es decir, el diseño del software debe coincidir con el hardware y considerar factores de hardware.
  2. Optimización de la compilación, utilizando tecnología de compilación de optimización de bajo consumo de energía.
  3. Reducir el tiempo de ejecución continua del sistema y optimizarlo desde una perspectiva algorítmica
  4. Utilice interrupciones en lugar de consultas
  5. Gestión eficaz del poder.

RTOS

Sistema operativo en tiempo real,

Las tareas son los objetos operativos más importantes en RTOS. Cada tarea es ejecutada por la CPU en tiempo compartido según la programación de RTOS. Actualmente existen tres tipos principales de programación de tareas: división de tiempo, turnos y preferencia de prioridad. Diferentes RTOS pueden admitir uno o más de ellos, entre los cuales la preferencia de prioridad tiene el mejor soporte para el rendimiento en tiempo real.

En los sistemas que no son en tiempo real, el propósito principal de la programación es acortar el tiempo promedio de respuesta del sistema, mejorar la utilización de los recursos del sistema u optimizar un determinado indicador; mientras que el propósito de la programación en los sistemas en tiempo real es asegurar que cada tarea cumpla con sus requisitos en la medida de lo posible limitaciones de tiempo para responder a las solicitudes externas de manera oportuna.

Planificación

Programación: dado un conjunto de tareas en tiempo real y recursos del sistema, todo el proceso de determinar cuándo y dónde se ejecutará cada tarea.

  • Programación preventiva: generalmente programación basada en prioridades, como uCOS. Las ventajas son un buen rendimiento en tiempo real, una respuesta rápida y un algoritmo de programación relativamente simple, lo que puede garantizar las limitaciones de tiempo de las tareas de alta prioridad; la desventaja es que hay muchos cambios de contexto.

  • Programación no preventiva: generalmente una programación asignada según intervalos de tiempo, que no permite que las tareas se interrumpan durante la ejecución, una vez que una tarea ocupa el procesador, debe ejecutarse o abandonarse voluntariamente, como WinCE. La ventaja es que hay menos cambios de contexto; la desventaja es que la utilización efectiva de recursos del procesador es baja y la capacidad de programación no es buena.

  • Estrategia estática basada en tablas: antes de ejecutarse, el sistema utiliza una determinada estrategia de búsqueda para generar un cronograma de ejecución basado en las limitaciones de tiempo y las relaciones de cada tarea, indicando el tiempo de ejecución inicial y el tiempo de ejecución de cada tarea.

  • Estrategia basada en prioridades: Determinar el orden de ejecución de las tareas según su prioridad.

Clasificación de tareas en tiempo real: tareas periódicas, tareas esporádicas y tareas no periódicas.

Modelo estructural general de sistemas en tiempo real: la tarea de recopilación de datos implementa la recopilación de datos de sensores, la tarea de procesamiento de datos procesa los datos recopilados y envía los datos procesados ​​a la agencia de control de tareas de gestión de la agencia de ejecución para su ejecución.

sistema de micronúcleo

Insertar descripción de la imagen aquí
La idea básica es extraer las partes del sistema operativo que están directamente relacionadas con el hardware como una capa común, llamada capa de abstracción de hardware (HAL). HAL, que está estrechamente relacionado con el hardware, oculta la diversidad del hardware al sistema operativo. De hecho, es una máquina virtual que proporciona una serie de servicios estándar a través de interfaces API a todas las demás capas basadas en esta capa. Sólo unos pocos componentes, como la programación del procesador, la gestión del almacenamiento y la comunicación de mensajes, se conservan en el microkernel, y algunos componentes del kernel del sistema operativo tradicional se implementan fuera del kernel. Por ejemplo, las funciones del kernel como el sistema de administración de archivos, la administración de procesos, la administración de dispositivos, la memoria virtual y la red en los sistemas operativos tradicionales se implementan fuera del kernel como un subsistema independiente. Por lo tanto, la mayor parte del código del sistema operativo solo necesita diseñarse en una arquitectura de hardware unificada.

caracteristica principal:

  • El kernel es muy pequeño y muchos servicios del sistema operativo no pertenecen al kernel sino que se ejecutan encima del kernel, de esta manera no es necesario volver a compilar el kernel cuando se actualizan los módulos de nivel superior.
  • Con una capa de abstracción de hardware, el kernel se puede trasladar fácilmente a otras arquitecturas de hardware. Porque cuando es necesario migrar a un nuevo entorno de software o hardware, el microkernel se puede integrar en el nuevo entorno de hardware con sólo ligeras modificaciones en las partes relacionadas con el hardware. En la mayoría de los casos, no es necesario trasplantar servidores o clientes externos. .aplicación.
  • Flexibilidad y escalabilidad. Si desea implementar otra vista, puede agregar un servidor externo. Para ampliar la funcionalidad, se pueden agregar y ampliar servidores internos.

Al diseñar un sistema operativo microkernel, el uso de tecnologías orientadas a objetos, como encapsulación, herencia, clases de objetos y polimorfismo, así como el uso de mecanismos de transmisión de mensajes entre objetos, etc., pueden mejorar la corrección, confiabilidad y facilidad de modificación del sistema, flexibilidad, fácil escalabilidad, etc., y también puede reducir significativamente los gastos generales de desarrollo del sistema. En comparación con los sistemas operativos tradicionales, los sistemas operativos que utilizan estructuras de microkernel tienen la ventaja de mejorar la flexibilidad y escalabilidad del sistema, mejorar la confiabilidad del sistema y brindar soporte para sistemas distribuidos. Las razones son las siguientes:

  • Flexibilidad y escalabilidad: dado que muchas funciones del sistema operativo microkernel se implementan mediante software de servidor relativamente independiente, cuando se desarrolla nuevo hardware y software, el sistema operativo microkernel solo necesita agregar nuevas funciones al servidor correspondiente o agregar otro servidor dedicado. Al mismo tiempo, la flexibilidad del sistema mejorará inevitablemente: no solo se pueden agregar nuevas funciones al sistema operativo, sino que también se pueden modificar las funciones originales y eliminar funciones obsoletas para formar un sistema operativo más ágil y eficaz. ;
  • Mejorar la confiabilidad y portabilidad del sistema: dado que el microkernel está cuidadosamente diseñado y rigurosamente probado, es fácil garantizar su corrección; por otro lado, proporciona una interfaz de programa de aplicación (API) estandarizada y optimizada para uso externo del microkernel. Crear condiciones para una programación de alta calidad. Además, dado que todos los servidores se ejecutan en modo usuario, el mecanismo de comunicación de paso de mensajes se utiliza entre servidores, por lo que cuando ocurre un error en un determinado servidor, no afectará al kernel ni a otros servidores. Además, en un sistema operativo con una estructura de microkernel, todos los códigos relacionados con la CPU específica y el hardware del dispositivo de E/S se colocan en el kernel y la capa oculta del hardware debajo del kernel, mientras que la mayoría de las otras partes del sistema operativo (es decir, varios servidores ) son independientes de la plataforma de hardware, por lo tanto, las modificaciones necesarias para portar el sistema operativo a otra plataforma de hardware de computadora son relativamente pequeñas;
  • Proporcionar soporte para sistemas distribuidos: dado que en el sistema operativo microkernel la comunicación entre clientes y servidores y entre servidores se lleva a cabo mediante un mecanismo de comunicación de paso de mensajes, el sistema operativo microkernel puede admitir sistemas distribuidos y sistemas de red. De hecho, siempre que todos los procesos y servidores en el sistema distribuido reciban identificadores únicos, se configura una tabla de mapeo del sistema en el microkernel (es decir, la tabla de correspondencia entre los identificadores de los procesos y servidores y las máquinas donde residen). ), al comunicarse entre el cliente y el servidor, solo necesita marcar el mensaje enviado con los identificadores del proceso de envío y del proceso de recepción, y el microkernel puede usar la tabla de mapeo del sistema para enviar el mensaje al destino, independientemente de dónde se encuentre El objetivo reside en una máquina.

diseño

Tecnología central de sistemas integrados

  1. Tecnología de procesador
  • El procesador de uso general
    tiene una gran versatilidad, un rápido tiempo de comercialización y un bajo costo. El rendimiento puede ser deficiente para algunas aplicaciones.
  • Los procesadores de propósito único
    funcionan mejor para algunas aplicaciones pero son menos flexibles. El costo de diseño es alto, pero se puede reducir cuando la cantidad es grande.
  • Procesador dedicado
    más pequeño y de menor costo
  1. tecnología de circuitos integrados
  • VLSI totalmente personalizado
    En la tecnología IC totalmente personalizada, es necesario optimizar cada capa de diseñadores de acuerdo con la implementación digital de un sistema integrado específico. Los diseñadores comienzan desde el tamaño del diseño, la posición y el cableado de los transistores, y han logrado un área de chip alta. utilización, alta velocidad, rendimiento optimizado con bajo consumo de energía. Al utilizar máscaras para producir chips reales en una planta de fabricación, los diseños de circuitos integrados totalmente personalizados, también conocidos comúnmente como diseños de circuitos integrados a gran escala (VLSI), tienen costos elevados, tiempos de fabricación prolongados y son adecuados para grandes volúmenes o requisitos de rendimiento estrictos. .
  • ASIC semipersonalizado
    El ASIC semipersonalizado es un método de diseño restringido, que incluye el método de diseño de matriz de puertas y el método de diseño de celda estándar. Al producir hardware semiacabado con componentes de unidad universal y grupos de componentes en el chip, los diseñadores sólo necesitan considerar las funciones lógicas del circuito y las conexiones razonables entre cada módulo funcional. Este método de diseño es flexible, conveniente, rentable, acorta el ciclo de diseño y mejora el rendimiento.

  • Todas las capas en el período programable ASIC ya existen. Una vez completado el diseño, el chip diseñado se puede disparar en el laboratorio sin la participación de los fabricantes de circuitos integrados y el ciclo de desarrollo se acorta significativamente. Los ASIC programables tienen un costo menor, consumen más energía y son más lentos.
  1. Tecnología de diseño/verificación
    La tecnología de diseño de sistemas integrados incluye principalmente tecnología de diseño de hardware y tecnología de diseño de software:

La tecnología de diseño de hardware incluye:

  • Tecnología de diseño a nivel de chip
  • Tecnología de diseño a nivel de placa.

Modelo de diseño de sistema integrado.

  • modelo de máquina de estados
  • modelo de flujo de datos
  • Modelo de proceso concurrente
  • modelo orientado a objetos

base de datos integrada

Las bases de datos integradas son en realidad similares a las bases de datos en memoria y se ejecutan en el mismo proceso que la aplicación. La base de datos en memoria se refiere a la base de datos en memoria Apache Derby, H2 .

Características: integrado, movilidad, escalabilidad, tiempo real.

El sistema de base de datos de un sistema integrado se denomina sistema de base de datos integrado o sistema de base de datos integrado en tiempo real. Los sistemas integrados deben poder funcionar de forma ininterrumpida durante largos períodos de tiempo sin intervención humana y, por lo tanto, requieren una alta confiabilidad. Al mismo tiempo, las operaciones de la base de datos deben ser predecibles y el tamaño y el rendimiento del sistema también deben ser predecibles para garantizar el rendimiento del sistema. Los sistemas integrados deben lidiar con el hardware subyacente, por lo que al administrar datos, también deben tener la capacidad de controlar la capa subyacente, como cuándo ocurrirán las operaciones del disco, la cantidad de operaciones del disco, cómo controlarlas, etc. La capacidad de control subyacente es la clave para determinar las operaciones de gestión de bases de datos. Los sistemas de gestión de bases de datos integrados generalmente solo proporcionan interfaces de servicio nativas para brindar soporte de datos básico para aplicaciones de front-end.

referencia

Supongo que te gusta

Origin blog.csdn.net/lonelymanontheway/article/details/132544507
Recomendado
Clasificación