martes, 14 de enero de 2014

funcionamiento de un microprosesador


Comencemos por examinar un pequeño montaje electrónico a base de microprocesador. Esto esquemas representa un procesador interfacé a una memoria (ROM mínimo es obligatoria) y un circuito de entrada / salida (un teclado, un modem, un inspector de disco duro).

El microprocesador (tan llamado CPU para Central Procesador UNE) es el elemento principal de un ordenador, trata instrucciones a la continuación ellas unas de otras. Él no toma ninguna decisión, únicos de las instrucciones condicionales son influidas por encargos exteriores: teclado, ratón y otras peticiones de periféricos... Estos séquitos de instrucciones son llamados comúnmente un programa. Cada modelo de microprocesador lee instrucciones específicas a su concepción en forma de un lenguaje de base que se llama ensamblador. Este lenguaje de programación es complejo a utilizar ya que es específico "máquina" y codificado en hexadecimal (al igual que los datos lo que todavía complica la programación). El software que utilizamos es escrito a lenguajes evolucionados (C, Visual Basic...) que transponen los programas en ensamblador comprensible por el procesador. Excepto unos pequeños mejoramientos, todos los microprocesadores de los ordenadores de la familia X86, por lo menos en 32 bits, (Intel Core, Athlon) comprenden el mismo lenguaje ensamblador.Los circuitos interfacés más arriba son diversos: memoria, puerto de salida... Sin embargo, todos los montajes electrónicos a base de microprocesadores incluyen un programa de salida en una memoria ROM (el contenido no es borrado en ausencia de tensión de alimentación del circuito). Este programa permite al microprocesador ejecutar su iniciación al comienzo (lo que él debe hacer como detectar el disco duro, someter a un test la memoria). Un sistema a microprocesador está constituido pues varios circuitos interfacés como la memoria ROM (obligatoria), la memoria RAM (memoria de trabajo para los resultados), puerto de entrada (teclado), puerto de salida (fijador de carteles, pantalla), puesto en paralelo. Dos tipos de procesadores son producidos, el microprocesador y el microinspector. Al nivel tratamiento de las informaciones, 2 son prácticamente equivalentes. La distinción viene de los carácteres funcionales internos. Un microinspector es dedicado a los tratamientos de las entradas / salidas (periféricos). De este hecho, puertos son añadidos (paralelo y / o serie según los modelos) que van a permitir recibir o enviar informaciones de periféricos lentos. Podríamos utilizar un microprocesador para las mismas funciones pero esto necesitaría de añadir componentes electrónicos externos para cada puerto externo. Un microinspector a menudo incluye la programación en una memoria ROM interna y misma de la memoria de trabajo de tipo RAM. Así como un microinspector administra periféricos lentos, no es optimalisé para la velocidad de tratamiento de informaciones, ni hasta para administrar cantidades importantes de memoria.

3.1. encuadernación en rústica y señales de un procesador de base, Z80

El interfaçage del procesador necesita 3 autobuses: un autobús de dato, un autobús de dirección y un autobús de encargo. Un autobús es un conjunto de líneas de comunicación (materializado por hijos) que relaciona 2 (o más) circuitos digitales entra ellos. Sobre cada hilo, la tensión eléctrica puede tomar 2 valores distintos que designaremos generalmente por 1 y 0 (tensión presente o ausente).Cada emplazamiento memoria o periférico interno es designada por una dirección específica (a veces varios en consecuencia del otro, lo que se llama una playa de dirección), similar a una dirección postal. Una dirección específica no puede ser compartida entre varios circuitos. El autobús de dirección permite al procesador comunicar con el periférico vía su dirección (o su playa). Un autobús de dirección está constituido varias líneas. Por ejemplo, 8 bits corresponde a 8 líneas de direcciones y puede pues enviar 2 8 (a saber, 256) diferentes direcciones, 210 da 1024, sea 1 Kilo. Cuanto más el número de líneas de dirección es elevado, más el procesador es capaz de administrar periféricos o capacidad memoria Ram.Una vez puesto en contacto el periférico vía el autobús de dirección, el autobús de dato permite trasladar datos binarios (incluso las líneas de instrucción en ensamblador): en lectura (datos trasladados a procesadores) o en escritura (envío de datos hacia el periférico). El autobús de dato está constituido de un cierto número de líneas. Todas las capacidades de los autobuses de dato son designadas bajo 8 líneas de datos (en Byte - octeto), o en múltiple de 8 bits, los procesadores actuales utilizan 64 líneas de datos. Pues 1 MB de memoria significa a 1 Mb bajo 8 líneas, es decir 8 Mb (Méga bits).
Encuadernación en rústica del microprocesador Z80Un autobús de encargo synchronise las transferencias de datos entre el procesador y los periféricos (memoria, entradas / salidas). Él asegura el diálogo necesario para la transferencia a (operación de escritura) o de (operación de lectura) la dirección indicada. Las señales del autobús de encargo también permiten administrar las interrupciones, los encargos específicos que permiten a un circuito externo señalar al procesador que está dispuesto a recibir datos del exterior por ejemplo. Baja señal significa que es activo cuando la señal pertenece a 0 V (la designamos por señal), no activo cuando la señal está en el alto estado (típicamente 5V). Las secuencias presentes sobre el autobús de encargo son también específicas a procesadores. Es lo que se llama el PROGRAMA. He aquí por ejemplo la encuadernación en rústica de un procesador Z80 de los años 80.
  • A0-A15 es el autobús de dirección. Es altura activa y permite tomar 3 estados. Este modelo permite pues 65536 diferentes direcciones (216).  
  • D0-D7: autobús de datos sobre 8 bits alto activo, entrada / salida 3 estados.
  • MREQ: Memory Request, sacada 3 estados bajo activa, señala una dirección memoria válida sobre el autobús de dirección, en lectura como en escritura.
  • IORQ: Input / output request, sacada 3 estado, por la bajura activa, indica que los 8 primeros bits del autobús de dirección contienen una dirección válida para una operación de entrada / salida (lectura o escritura).
  • RD: Memory Read, sacada 3 estado activo bajo, señala una operación de lectura al emplazamiento de la dirección señalada sobre el autobús, en memoria o en Entrada / salida.
  • WR: Memory Write, Sacado 3 estados, por la bajura activa, una petición de escritura en memoria o en entrada / salida.
  • RFSH: refresh, salida, por la bajura activa, indica una dirección de enfriamiento sobre los 7 bits inferiores del boj de dirección.
  • HALT: Estado de detenciones, salida, bajo activo, indica que CPU acaba de efectuar una instrucción software HALT y espera una interrupción masquable o masquable no. El microprocesador continúa refrescando la memoria durante este tiempo.
  • WAIT: atenta, entrada, bajo activo, utilizado por los periféricos I/O para hacer esperar CPU, permite una sincronización con los periféricos más lento.
  • INT: interrupt request, entrada, baja señal activa, petición de interrupción mascable (por uno instrucción logicielle) señala que un periférico pide una interrupción. Cuando el microprocesador acepta la interrupción, una señal acuse de recibo IORQ es enviado al principio del ciclo de instrucción que sigue.
  • NMI: No - Maskable interrupt, introducida, activada por costado descendente. Esta petición de interrupción siempre se hace cargo al fin de la instrucción en curso. Es prioritaria sobre INT. Para Z80, CPU arranca de nuevo automáticamente a la dirección dólares 00 66. El contenido del contador envía corriendo es salvaguardado automáticamente para recuperar el programa después de fin de tratamiento de la interrupción.
  • Reset: réinitialisation, introducido, activa bajo, reinicializa el procesador; todos los contadores y las direcciones internas... El procesador arranca de nuevo al principio de su programa de iniciación.
  • BUSRQ: Bebidos request, pide de DMA (emisión en directo memory access). CPU hace pasar todas sus entradas salida tres estados en este modo desde el fin de la instrucción en curso. Los periféricos toman el control total de los 3 autobuses y trasladan datos hacia la memoria sin pasar por el procesador. Esta función es a menudo utilizada en los ordenadores actuales (discos duros E-IDE y SCSI, bebidos AGP, PCI y PCI-express...)
  • BUSAK: Bebidos acknoledge, sacada, por la bajura activa, indica que CPU acepta BUSRQ y que los tres autobuses su bien en selección-state (desconectados).
  • M1: ciclo máquina M1 (específico(a) en Z80), ciclo máquina en curso es el ciclo de búsqueda de un código operatorio.
  • Reloj: esta señal que proviene del exterior va a cadencer el conjunto de las señales del montaje. Es la frecuencia de trabajo del procesador.
Poco de estas señales intervienen realmente en las nociones corrientes sobre los sistemas PC (y otros). Cinco señales son sin embargo primordiales para uno sistema informático: RESET, INT, NMI, BUSREQ y BUSAK. Serán utilizados en consecuencia del curso al nivel de PC.

3.2. Ejemplos de programa microprocesador Z80

El fin no hay que volver a los detalles del PROGRAMA de Z80 (ni de otro por otra parte) sino de explicar lo que pasa en el corazón del montaje informático.
Lectura / escritura memoriaEsto representa la carga de una instrucción o de un dato por el procesador ordenado de una escritura. El conjunto de las señales es acompasado por el reloj. El microprocesador comienza por poner una dirección válida sobre el autobús de dirección (la donde se encuentra la instrucción). Una vez la señal estable, él emite una señal MREQ y READ para señalar a la memoria que una dirección válida está presente sobre el autobús y que va a pedir un acceso memoria en lectura. Al fin del ciclo, la memoria transferencia sobre el autobús de datos las informaciones (IN). En caso de una escritura hacia la memoria, la señal READ es reemplazada por una señal WRITE. Una señal WAIT es reenviada por la memoria (o más generalmente por un pequeño montaje insertado en los autobuses de encargo) para disminuir el montaje.
Instrucción de código Fetch con Wait States (instrucción de carga de dato con 1 tiempo de espera).Este programa es idéntico al más arriba excepto que 2 tiempos de espera (WAIT) son insertados para disminuir el montaje (caso donde la memoria no es bastante rápida para el procesador) y que una señal de enfriamiento memoria (REFRESH) es enviada al fin de la carga de instrucción.

Demanda de interrupción.

Una interrupción permite a un periférico señalar al procesador que él debe ocuparse de él (llegada de un dato). La señal INT es preparada muestras por el procesador sobre el costado montante del último ciclo de reloj de cada instrucción. Esta señal de interrupción es aceptada sólo si la máscara software de interrupción (un encargo ensamblador específico que pide al procesador no tener en cuenta las interrupciones mascables) no es aceptado o si la señal BUSRQ no es activa (petición de DMA).Cuando la señal es aceptada, una señal M1 es generada. Durante este ciclo especial M1, la señal IORQ se hace activa (en lugar de la señal memoria MREQ), indicando que el periférico que pide una interrupción puede colocar un dato de cada 8 bit sobre el autobús de dato. En el caso de Z80, 2 instrucciones de espera son de oficio generada, lo que evita un montaje electrónico para disminuir la lectura de los datos sobre periféricos más lentos que la memoria. Esto permite a la señal estabilizarse.

3.3. Desciframiento de direcciones.

Desciframiento de dirección Z80
Desciframiento de dirección de un microprocesador Z80
Desciframiento de dirección de un microprocesador 6502Representados más arriba el desciframiento de dirección para dos procesadores diferentes de la misma generación: Z80 y 6502. La diferencia viene del desciframiento de las direcciones atada a las señales de lectura y de escritura. Z80 utiliza dos broches distintos (RD y WR) que son chacunes relacionados al broche correspondiente de la memoria ROM (excepto escritura), Ram y de un periférico IO. 6502, un solo broche es utilizado. Ejercicio: Enlazar el microprocesador (autobús de datos sobre 8 bits y autobús de dirección sobre 16) a las 4 memorias sobre 4 bits (datos) más abajo. El circuito utiliza 214 direcciones válidas. Dibuje los autobuses de direcciones y de datos, las señales de escrituras y lectura memoria, luego el desciframiento de dirección utilizando puertas NÚM, NAND y NOR para conectar cada ESTO (chp enable).

3.4. Esquemas de una carta a base de Microprocesador Z80

Esquematizando, esto da (fuera de alimentación):
El microprocesador z80 es conectado al autobús de dirección y al autobús de dato por buffers selecciones-state (tres estados). No son obligatorios (incluir en el procesador) sino son a menudo añadidos por precaución. Estos buffers " tres estados " permiten las funciones de DMA (Emisión en directo Memory Access) del montaje electrónico: transferencias directas de los datos de (o hacia) la memoria a partir de un circuito periférico sin tránsito de los datos por procesadores. El circuito periférico debe para hacerlo controlar los tres autobuses. El autobús de dirección está relacionado en parte baja sobre las memorias y los periféricos. La alta parte es utilizada para el desciframiento de dirección. El autobús de dato es directamente enlazado sobre todos los periféricos. Cada periférico está relacionado al autobús de encargo por las señales lectura (READ) y escritura (WRITE), bajos activos. La señal RESET (el botón sobre la cara antes del PC) reinicializa el montaje en hardware. RESET software (+ + es programado en el sistema operativo. Un reset funciona en todos los casos de plantage y arranca de nuevo el ordenador, salvado en caso de avería del montaje electrónico. El reloj synchronise las transferencias entre todos los circuitos.

3.5. Montajes informáticos

El esquema electrónico más arriba representa un sistema a microprocesador de tipo industrial. Muy eficaz en un proceso "cerrado", es difícilmente utilizable tal que en un ordenador. Una buena parte de las funciones son reemplazados por circuitos más o menos especializados.Un ordenador va por ejemplo a fijar el resultado sobre una pantalla o LCD. Para PC, utilizamos un circuito dedicado insertado sobre una carta electrónica llamada "Tarjeta gráfica". Para que nosotros, utilizadores, podamos mandar el ordenador, vamos a insertar un teclado y un ratón. También son enlazados vía un circuito especializado.En el último, para poder comunicar con diversos aparatos externos, utilizamos "puertos de comunicación" de tipo paralelo o serie. Para un puerto paralelo, el número de líneas de datos son múltiples de 8. Es una continuación (pero más lenta) de un autobús de dato interno vía un interfaz dedicado que utiliza señales más específicas de control a los aparatos externos, por ejemplo un puerto Centronix para impresora. Para un puerto serie, la transmisión de datos utiliza un hilo (en práctica 3 mínimo: envío, recepción y masa). La información sobre 8 bit (un Byte) es recortada para enviar cada bit uno en consecuencia de la otra. Es por ejemplo el caso de un modem serie, de un periférico USB o hasta de un disco duro S-ATA. El hilo de comunicación transmite no sólo los datos, sino que señales de control.En el último, el esquema más arriba es llamado sistema cerrado. La conexión de cartas suplementarias es imposible. En el caso de sistemas abiertos, como PC, las cartas adicionales utilizan conectadores internos específicos, tan llamados bebidos (PCI, AGP, AMR). Son normalizados (dimensión, encuadernación en rústica, programa de las señales). Los veremos al capítulo 6.

3.6. Tipos de Memorias utilizadas en los ordenadores.

Dos tipos de memorias distintas son utilizados en los ordenadores: ROM y Ram.
Una memoria RAM autoriza la escritura y la lectura pero necesita de ser refrescada (recargada) regularmente. En efecto, el contenido (1 o 0) es salvaguardado por efecto capacitif en un transistor. Ram son enlazadas por el exterior por el autobús de dirección y el autobús de datos. Las señales de control son ESTO, WR y RD (oe). En más, y está allí su problema principal, los datos desaparecen si no son alimentadas más.Una memoria ROM es utilizable únicamente en lectura y programada directamente a la fabricación. El contenido (programa y datos) no es modificable pues. Unos circuitos de tipo ROM modificables son también utilizados: Eprom (Electric Prom) programables en 1 vez (pero pueden seres en ciertas versiones borradas a la luz UV), EEprom (Electric Erasable Prom), effaçable completamente muchas veces y Rom Flash que se puede escribir directamente por una señal eléctrica. Todos estos circuitos guardan las informaciones si se corta la tensión de alimentación. Esquema de base de la informáticaBIOS en memoria ROM, contiene el programa de comienzo de PC. Actualmente, es conservado en una memoria de tipo Eprom o Un flash Rom. Este BIOS apareció con el ordenador a base de microprocesador 286 IBM, es una programación específica en PC y permite algunos paramétrages del utilizador. Los paramétrages utilizadores son salvaguardados en una memoria. Esta memoria de tipo RAM (el contenido es borrado si el circuito no es alimentado) es alimentada permanentemente por uno pila.Designamos las programaciones específicas la electrónica numérica bajo el nombre de firmware. Esta noción modifica nuestro(a) esquemas de base de la informática. El flashage de BIOS permite pues poner en la parte " el flash Rom " una nueva versión del firmware de su ordenador. Durante la operación, la parte firmware está encargada en memoria Ram, el tiempo de trasladar la nueva versión en memoria ROM: en caso de corte de corriente durante el flashage, es imposible arrancar de nuevo el ordenador, BIOS que permite empezar a PC que es ausente o incompleto.

No hay comentarios:

Publicar un comentario

Publicidad