








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Estructura y Funcionamiento de la CPU
Tipo: Apuntes
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Historia del 8086 En junio de 1978 Intel lanzó al mercado el primer microprocesador de 16 bits: el
Diagrama de bloque de los microprocesadores Intel 8086
Registros de control y de estado Se utilizan para controlar las operaciones del procesador, la mayor parte de estos registros no son visibles al usuario y algunos pueden ser accesibles a las instrucciones de maquina ejecutadas en un modo de control. Los registros utilizados son los siguientes: Registro de direcciones de memoria (MAR): el cual contiene la dirección en donde se efectuará la próxima lectura o escritura de datos. El número de direcciones depende del tamaño de la MAR. Registro de datos de memoria (MBR): contiene los datos que van a ser escritos en la memoria o los que fueron leídos en ella. Registro de direcciones de entrada y salida (I/O AR): especifica al dispositivo ya sea de entrada o salida Registro de datos de entrada y salida (I/O BR): es un área temporal en donde se lleva a cabo el intercambio de datos entre el procesador y el dispositivo de entrada y salida que esta especificado en IOAR. Registro de instrucciones (IR): contiene la dirección de la siguiente instrucción que se va a ejecutar.
Palabras de estado del programa (PSW): contiene códigos de condición junto con otras informaciones de estado como el signo, acarro, desbordamiento, entre otras. Atmega328p Es un chip microcontrolador creado por Atmel y pertenece a la serie megaAVR. AVR es una arquitectura basada en RISC (Computadora con conjunto de instrucciones reducidas), recordemos que la arquitectura de un microprocesador o microcontrolador, detalla la estructura interna del mismo y como se conforma la distribución, acceso y control de los diversos bloques que componen al microcontrolador.
pic16f84f Ciclo de instrucción fetch-decode-excute El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacena el resultado obtenido de ejecutar la instrucción, por ejemplo, el resultado de una suma o un índice (Número) como resultado de éxito de almacenar u obtener información de un archivo, entre otros. Actualizar PC: Esta etapa es la de actualizar el registro PC (Program Counter) que contiene la siguiente dirección a ejecutar. Evidentemente al ser un ciclo estas etapas se repiten constantemente durante el funcionamiento de la computadora. Se debe considerar que el ciclo expuesto anteriormente es muy básico. Como se mencionaba hoy en día estos ciclos han tenido algunas alteraciones y optimizado de gran manera, como se sabe los sistemas de hoy en día son multitareas, lo cual conlleva a una alteración en este ciclo, además de las diferentes técnicas para
reducir el tiempo de ejecución de instrucciones con temas de concurrencia y paralelismo en los procesadores modernos. El ciclo expuesto nos muestra un poco la forma en la que las computadoras funcionan, todo el proceso que conlleva ejecutar una instrucción que puede parecer muy simple, además este ciclo básico permite darse una idea de cómo ha evolucionado los procesadores y las técnicas para reducir el tiempo de ejecución dado que los sistemas actuales ejecutan de forma simultánea muchas veces este ciclo, siendo este modificado y más eficiente. segmentaciones de instrucciones consiste en dividir el ciclo de ejecución de las instrucciones en un conjunto de etapas. Estas etapas pueden coincidir o no con las fases del ciclo de ejecución de las instrucciones. Los dos pasos se llaman ciclo de lectura (fetch) y ciclo de ejecución (execute). La ejecución del programa se detiene sólo si se apaga la máquina, ocurre algún tipo de error irrecuperable o se encuentra una instrucción en el programa que detiene el computador.
Son necesarias nueve etapas para ejecutar las tres instrucciones. Son necesarias cinco etapas para ejecutar las tres instrucciones. Se ha reducido el tiempo total que se tarda en ejecutar las tres instrucciones, pero no el tiempo que se tarda en ejecutar cada una de las instrucciones. Conjunto de instrucciones Características Los conjuntos de instrucciones de las máquinas deben tender a poseer una serie de propiedades, bastante ideales e imprecisas, que pueden resumirse en las siguientes: El conjunto de instrucciones de un computador debe ser completo en el sentido de que se pueda construir un programa para evaluar una función computable usando una cantidad de memoria razonable y empleando un tiempo moderado, es decir, el número de instrucciones de ese programa no debe ser demasiado elevado. Los juegos de instrucciones también tienen que ser eficientes, esto significa que las funciones más necesarias deben poder realizarse usando pocas instrucciones.
El conjunto de instrucciones de una máquina debe ser regular, es decir debe ser simétrico (por ejemplo, si existe una instrucción de desplazamiento a la izquierda, debe haber otra de desplazamiento a la derecha, etc.) y ortogonal, es decir, deben poder combinarse, en la medida de lo posible, todas las operaciones con todos los tipos de datos y modos de direccionamiento. En muchas ocasiones, también se le debe exigir a un computador que su juego de instrucciones sea compatible con modelos anteriores. Tipos de Instrucciones Instrucciones de transferencia de datos La operación de copiar datos de un lugar a otro es la operación más simple y a la vez importante. Las palabras mover o cargar que aparecen en los juegos de instrucciones de muchos ordenadores pueden dar lugar a confusión porque no se trata de mover o cargar sino de copiar Existen algunas variantes de instrucciones de transferencia de datos que difieren de la idea anterior de copiar informaciones de un lugar a otro. Por ejemplo, la instrucción POP saca un dato de la cima de pila modificando el valor del apuntador de pila, lo que significa que, si bien no destruye físicamente el dato fuente, anula su validez. Por otro lado, la mayoría de las máquinas también disponen de instrucciones de intercambio (SWAP). En general, el dato a transferir podríamos definirlo como una terna con las siguientes componentes: Dirección Tipo Valor Instrucciones aritméticas y lógicas Todos los ordenadores incorporan instrucciones aritméticas en sus juegos de instrucciones; la utilidad de este tipo de operaciones es evidente y no la
Modo directo indexado. El byte o par de bytes que siguen al código OP representan un desplazamiento que se suma al contenido de uno de los registros índice (DI o SI). El contenido de DS se añade al resultado de la suma, con lo que se obtiene la dirección del operando. Incrementando o decrementando los registros índices, se puede acceder a posiciones de memoria consecutivas. Ejemplo: ADD CX, [SI+4] Modo indirecto. La dirección del operando es el contenido de uno de los siguientes registros: BP, BX, DI o SI. Ejemplo: ADD CX, [BX] Por registro base indexado. El desplazamiento que ha de sumarse a un registro segmento se halla sumando el contenido de un registro índice y un desplazamiento de 8 ó 16 bits, contenido en la instrucción, al contenido de un registro base. Ejemplo: MOV AX,TABLA[BX][SI] Modo relativo a base: El byte o par de bytes que siguen al código OP representan un desplazamiento que se suma al contenido de uno de los registros base (BX o BP). El contenido de DS se añade al resultado de la suma, con lo que se obtiene la dirección del operando. Ejemplo: MOV AX, [BP]+