UNIDAD DE CONTROL MICROPROGRAMADA.

Documentos relacionados
LA MÁQUINA RUDIMENTARIA UN PROCESADOR PEDAGÓGICO

FUNCIONAMIENTO DEL ORDENADOR

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

Arquitectura de Computadores. Apellidos, Nombre:

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

TEMA 3: El proceso de compilación, del código fuente al código máquina

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la arquitectura de computadores

UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA. CAPITULO CUARTO

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores Terecer Certamen

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

CICLOS DEL PROCESADOR

SISTEMAS OPERATIVOS Arquitectura de computadores

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Introducción a la Programación en C.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

ANAGOLF. Sitio administrativo, Facturación. Manual de usuario. Melquisedeth Soto Paniagua 10/09/2013

Ejercicios. Arquitectura de Computadoras. José Garzía

Tema 4. La Unidad de Control

Estructura del Computador

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

MICROSOFT ACCESS 2016 Básico

Qué es un Microcontrolador?

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

1.2.- EL MICROPROCESADOR.

SISTEMA DE INFORMACIÓN PARA COMERCIOS: SIC

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013

1. Computadores y programación

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

La resolución de un problema

Arquitectura de Computadores II Clase #3

INDICE 2. Organización de computadoras 3. El Nivel de Lógica Digital

Sistemas Electrónicos Digitales Curso de adaptación al Grado

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Algoritmos y Programas

CONTROLES ELÉCTRICOS PRÁCTICA 6: PROGRAMACIÓN DE PLC UNIDAD 5 LIRA MARTÍNEZ MANUEL ALEJANDRO DOCENTE: PACHECO HIPÓLITO JAVIER

Estructura de Computadores

SOLUCION Examen final IC parte B

Tema 6: Circuitos Digitales BásicosB. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

DISEÑO CURRICULAR ELECTRÓNICA DIGITAL

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema: Microprocesadores

TEMA 1 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Análisis y síntesis de circuitos con elementos de memoria. Proceso de Análisis y síntesis de circuitos con elementos de memoria

Electrónica II. Carrera. Electromecánica EMM UBICACIÓN DE LA ASIGNATURA a) Relación con otras asignaturas del plan de estudios.

Aplicativos: Cómo se realiza la descarga e instalación de Aplicativos AFIP?

Sincronizador de Información Táctica

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

Unidad de Control. Escuela Superior de Informática Universidad de Castilla-La Mancha

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Curso sobre Controladores Lógicos Programables (PLC).

Algoritmos y Lenguajes de Programación

MICROCONTROLADORES PIC

Taller: Uso de la aplicación AUTANA - Contabilidad. Equipo de Desarrollo AUTANA / Fundación CENDITEL

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

Estructuras de Control

Clasificación del procesador según el número de referencias a memoria.

Estructuras Secuénciales

Manipulación de procesos

Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Programación de Computadores Proyecto de curso,

Introducción a los Sistemas Operativos

Diseño Estructurado de Algoritmos

Funcionamiento de la Pila (o stack)

Fundamentos de Ordenadores. Depurar programas usando Nemiver

TEMA 1: Concepto de ordenador

Versión 1.6 BOLETÍN (DICIEMBRE 2003) a2 Contabilidad Versión 1.6. a2 softway C. A.

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Departamento de Ingeniería de Sistemas y Automática. STEP 7. Juego de instrucciones

PROCESO DE FIRMA DE DOCUMENTOS WORD CON CERTIFICADO DIGITAL

Organización lógica Identificación de bloque

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Organizar una charla de Inducción al Mundo del Trabajo en la sede.

Curso Completo de Electrónica Digital

CONTROLADORES LÓGICOS PROGRAMABLES

Programación en java. Estructuras algorítmicas

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

Representación de números enteros: el convenio exceso Z

Tema 1: Arquitectura de ordenadores, hardware y software

ZOE COMERCIO EXTERIOR VERSIÓN /JUNIO/2016

Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo?

MANUAL POLÍTICA DE PASO A PRODUCCIÓN DE SISTEMAS DE INFORMACIÓN Y CONTROL DE VERSIONES

Transcripción:

UNIDAD DE CONTROL MICROPROGRAMADA. Como se ha visto en el capítulo anterior, la UC puede ser diseñada a partir de técnicas de síntesis de sistemas secuenciales y la utilización de una ROM para guardar las señales de control que se enviarán en cada estado a la UP. Sin embargo, cuando el repertorio de instrucciones es muy elevado, el número de estados aumenta considerablemente y el diseño de la unidad de control cableada puede ser muy complejo. Además, una vez diseñada la UC cableada si se quiere añadir una nueva instrucción se debe volver a diseñar de nuevo toda la UC. Para solucionar este problema, M.V. Wilkes propuso en 95 un método de diseño de la UC ordenado y sistemático, que conseguía reducir la complejidad del diseño cableado. Este hecho dio origen, en años sucesivos, a la aparición de la UC microprogramada. La UC microprograda es un circuito lógico sencillo que permite realizar la ejecución en secuencia de un conjunto de instrucciones muy elementales llamadas microinstrucciones (no confundir con las instrucciones propias del lenguaje máquina). Cada microinstrucción contiene las señales de control que se enviarán a la UP, junto a una serie de bits que permitirán seguir el secuenciamiento. La UC estará formada por: - Memoria de Control: contiene las microinstrucciones - Secuenciador: es el encargado de mantener el orden correcto en la ejecución de las microinstrucciones. Genera la dirección de la siguiente microinstrucción a ejecutar y la guarda en µpc - µpc( microcontador de programa): registro que almacena la dirección de la siguiente microinstrucción que se va a ejecutar. Esta dirección se decodificará en DEC y seleccionará una posición de la memoria de control CO,CO,Cond SECUENCIADOR µ P C DEC ROM Memoria de Control CT,CT,CT 0,@,@ Señales @ @ Información Control de control A la UP FORMATO DE LAS MICROINSTRUCCIONES. A una secuencia de microinstrucciones se la conoce como microprograma y será traducido a lógica de control para dar las órdenes oportunas a la UP. Así, se puede escoger el número de campos que debe tener una microinstrucción, junto con la interpretación que tendrá cada uno de los bit que componen cada campo. Una condición esencial que se debe tener en cuenta a la hora de diseñar el formato es que éste debe hacer sencilla la interpretación del microprograma

y permitir una fácil programación del mismo. Por tanto, el formato de las microinstrucciones que forma la MR estará compuesto por: - Campo de información de control: contendrá las señales de control que se enviarán a la UP. - Campo de dirección: puede contener una o dos direcciones, según sea el diseño, que indicará donde se encuentra la próxima microinstruccion a ejecutar dentro de la memoria de control. - Campo de señales de control: entran al secuenciador, junto a las señales que vienen de la UP (CO, Cond), para generar las señales de selección de dirección. Señales Control Dirección Dirección Información de control SECUENCIA DE MICROINSTRUCCIONES DE LA MR. A partir del grafo de estados y de la tabla de salidas de la figura.. podemos establecer la siguiente secuencia: - FETCH: será la primera en ejecutarse y siempre pasará a la fase de decodificación. - DECO: una vez conocido el código de operación de la instrucción en curso, se tomará la decisión de saltar hacia LOAD, STORE, BRANCH o ARIT. En el caso de que el código de operación sea 0 y el bit Cond sea 0, se pasará a la fase de FETCH. 3- LOAD: enviará a la UP las señales necesarias para ejecutar la instrucción LOAD y saltará a FETCH. - STORE: enviará a la UP las señales necesarias para ejecutar la instrucción STORE y saltará a FETCH 5- BRANCH: enviará a la UP las señales necesarias para ejecutar la instrucción BRANCH y saltará a DECO. 6- ARIT: enviará a la UP las señales necesarias para ejecutar la instrucción A-L correspondiente y saltará a DECO. En la figura. podemos ver el contenido de la memoria de control.

@µi Control @ @ Ld_IR Ld_PC Ld_R@ Ld_RA Ld_RZ Ld_RN ERd L/E PC/@ CRf CRf0 OPERAR Comentarios 0 00 000 000 0 0 0 0 0 0 0 X X X ; fetch. Ir a @= 0 000 0000 0 0 0 0 0 0 X 0 X ; si CO=0 y Cond=0 ir a @=0 00 00 00 0 0 0 0 0 0 X 0 X ; si CO=X ir a @=6 3 00 000 00 0 0 0 0 0 0 X 0 X ; si CO=0 ir a @=5 00 0000 0000 0 0 0 0 0 X X 0 ;LOAD. Ir a @=0 5 00 0000 0000 0 0 0 0 0 0 0 0 0 X ; STORE. Ir a @=0 6 0 0 000 0 0 0 0 0 0 X 0 X ; si CO= ir a @=8 7 00 000 000 0 0 0 0 0 0 X X X ; BRANCH. Ir a @= 8 00 000 000 0 0 0 0 0 ;A-L. Ir a @= @µi: Dirección de las microinstrucciones en la memoria de Control Control: campo de señales de control. @ y @: campos de dirección y. Ld_IR OPERAR: campo información. Comentarios: no pertenecen a la microinstruccion. Figura. 3

EL SECUENCIADOR. El secuenciador es un circuito combinacional que permite generar la dirección de la siguiente microinstrucción que se va a ejecutar, a partir de la microinstrucción en curso, el indicador de condición y el Código de operación del Registro de Instrucciones. La lógica de control es la siguiente: Direccion Direccion C O zero 0 A CMP A B 0 CT 0 CT CO CO 0 Cond B El circuito está formado por: Un multiplexor que permite seleccionar entre el código de operación (CO) de la instrucción (IR 5, IR ) y un valor zero ( bits siempre a cero), utilizando como entrada de selección el bit de menor peso del campo señales de control (CT 0 ). El valor seleccionado entra a un comparador (CMP) que pone un en su salida si la comparación entre la salida del multiplexor (CO o zero) es mayor o igual que los bits de mayor peso del campo señales de control (CT,CT ). Las señales de control se han definido de tal forma que una vez realizada la comparación, se puede seleccionar una de las dos direcciones donde se encuentra la siguiente microinstrucción a ejecutar. Dicha selección la realiza un multiplexor que tiene como entrada de selección la salida del comparador. El bit Cond, resultado de la evaluación de salto, sólo se tendrá en cuenta cuando la instrucción a ejecutar sea un salto (CT, =CO=0). Por este motivo se ha añadido un circuito lógico (puertas NOT, AND y OR) que permite contemplar este caso particular. OPTIMIZACIÓN DE LA UC MICROPROGRAMADA. En la tabla. se puede observar que el campo dirección siempre contiene la dirección de la microinstrucción siguiente, excepto en el caso de final de instrucción. Por ello, podemos suprimir este campo y realizar un mecanismo que nos permita incrementar en la dirección actual, de tal forma que el secuenciador escoja entre la dirección proporcionada por el campo dirección o la dirección consecutiva a la de la microintrucción que se está ejecutando. La modificación será la siguiente:

De esta forma, la memoria de control pasará de tener 3 bits a tener 9 por posición y su contenido es el siguiente: @µi Control @ Ld_IR Ld_PC Ld_R@ Ld_RA Ld_RZ Ld_RN Erd L/E PC/@ CRf CRf0 OPERAR 0 00 000 0 0 0 0 0 0 0 X X X 0 0000 0 0 0 0 0 0 X 0 X 00 00 0 0 0 0 0 0 X 0 X 3 00 00 0 0 0 0 0 0 X 0 X 00 0000 0 0 0 0 0 X X 0 5 00 0000 0 0 0 0 0 0 0 0 0 X 6 0 000 0 0 0 0 0 0 X 0 X 7 00 000 0 0 0 0 0 0 X X X 8 00 000 0 0 0 0 0 5