Powered By Blogger

lunes, 29 de noviembre de 2021

Lógica de Transferencia de Registros

 Lógica de Transferencia de Registros

Como están queridos lectores espero que se encuentren muy bien, el tema de esta semana es acerca de la "Lógica de Transferencia de Registros"

comencemos por ver:

Representación de números binarios en punto fijo

Un número binario con signo se puede representar por tres métodos diferentes, denominados: signo y módulo, complemento a la base disminuida ( también llamado complemento a 1: Ca1) y complemento a la base ( complemento a 2: Ca2).

Los empleados actualmente son los de complemento a 1 y complemento a 2, los cuales se utilizan para expresar números binarios en formato de punto fijo, es decir, teniendo tres campos: uno para el signo, otro para la parte entera y el restante para la parte decimal.

El tratamiento en Ca1 y Ca2 hace que el signo queda embebido dentro del campo de la parte entera del número y empleando la definición de complemento de un número binario éste automáticamente queda establecido así como en el caso de realizar operaciones de suma y de resta.

Datos Binarios de un Punto Fijo

Un número binario con signo se puede representar por tres métodos diferentes ,denominados: signo y módulo, complemento a la base disminuida ( también llamado complemento a 1: Ca1) y complemento a la base ( complemento a 2: Ca2).

Los empleados actualmente son los de complemento a 1 y complemento a 2, los cuales se utilizan para expresar números binarios en formato de punto fijo, es decir, teniendo tres campos: no para el signo, otro para la parte entera y el restante para la parte decimal.

El tratamiento en Ca1 y Ca2 hace que el signo queda embebido dentro del campo de la parte entera del número y empleando la definición de complemento de un número binario éste automáticamente queda establecido, así como en el caso de realizar operaciones de suma y de resta.

La parte decimal (parte del número después de la coma), también queda embebida dentro de la representación del número completo, ya que cuando se deban realizar operaciones aritmética, al igual que como se procede en números de base 10, se toma todo el número para la operación.

En la suma y resta, la posición de la coma nunca se modifica. Si hay que sumar o restar dos números, se debe primero hacer coincidir las posiciones de la coma y luego realizar la operación aritmética como si el número fuera entero.

En caso de realizar operaciones de multiplicación y división, el procedimiento es análogo; lo único que cambia es que se debe correr la coma al número binario resultado, según corresponda, de igual forma que en el caso de números decimales.



Código de Instrucciones

Es un grupo de bits que instruye a la computadora sobre cómo ejecutar una operación específica, siendo su parte más básica la parte de operación, el cual es un grupo de bits que define operaciones como sumar, restar, multiplicar, desplazar y complementar.


Pasos para ejecutar las instrucciones:

Los pasos a seguir para el procesamiento de las instrucciones son los siguientes:

- Búsqueda de la instrucción: es a través de la lectura de las mismas, desde la memoria, por el procesador.

 -Ejecución de la instrucción: realizada por el procesador.

-Repetición de la lectura y ejecución: conforman la “ejecución de un programa”. Dicha ejecución puede detenerse si: la máquina se apaga, ocurre un error que no puede ser recuperado, o si, se encuentra una instrucción en el programa que detenga la computadora

Tipo de Instrucciones

Las instrucciones de procesamiento son operados en memoria

 -Instrucciones de movimiento o transferencia de datos

 -Instrucciones aritméticas

-Instrucciones lógicas

-Instrucciones de comparación

-Instrucciones de desplazamiento

Ciclo de Instrucciones

Es el período de tiempo durante el cual un ordenador lee y procesa una instrucción de lenguaje máquina de su memoria o la secuencia de acciones que la unidad central (CPU) funciona para ejecutar cada instrucción de código de máquina en un programa.

En la computadora básica cada ciclo de instrucción consiste en las siguientes fases:

• Buscar una instrucción de la memoria

• Decodificar la instrucción

• Leer la dirección efectiva de la memoria si la instrucción tiene una dirección indirecta

• Ejecuta la instrucción.

Códigos de Instrucción

La organización de interna de un sistema digital se define por la secuencia de microoperaciones que ejecuta sobre los datos almacenados .Una computadora puede ejecutar y recibir instrucciones sobre las operaciones que debe realizar, el usuario puede controlar el proceso mediante un programa, el cual consta de un conjunto de instrucciones que especifican las operaciones.

Las computadoras realizan instrucciones mediante el código binario. Estos códigos e instrucciones la computadora los almacena en la memoria.

La computadora lee los códigos e instrucciones de la memora y los ejecuta mediante microoperaciones, cada computadora tiene un conjunto de instrucciones único.

Código de Instrucción

Es un conjunto de bits que construye la computadora sobre como ejecutar una operación específica.

Código de operación:

Es básicamente un conjunto de bits que define operaciones como la suma, resta, multiplicar, desplazar y complementar

Una operación es parte de una instrucción almacenada en la memoria que le envía un código binario a la computadora para ejecutar una operación especifica esta es recibida por la unidad de control después este los interpreta y emite una señal de control para iniciar microoperaciones en los registros internos de la computadora.

La parte operativa de un código de instrucción debe mostrar no solo la operación sino que también los registros o palabras de la memoria donde se van a encontrar los operandos al igual que el registro de la memoria donde se va almacenar el resultado.

Esto se realiza al especificarse registros del procesador y asignándole a la instrucción otro código binario de k bits.

Existen varias formas de códigos binarios además de que cada computadora tiene su propio formato de códigos de instrucciones y especifican la arquitectura de la computadora.


Instrucciones de Movimiento o Transferencia de datos

Estas instrucciones mueven datos de una parte a otra del sistema; hacia la memoria principal, de los registros de datos, puertos de E/S y registros de segmentación.

Las instrucciones de transferencia de datos son las siguientes:

• MOV transfiere

• XCHG intercambia

 • IN entrada

• OUT salida

• XLAT traduce usando una tabla

 • LEA carga la dirección efectiva

 • LDS carga el segmento de datos • LES carga el segmento extra

• LAHF carga los indicadores en AH 

• SAHF guarda AH en los indicadores

• PUSH FUENTE (sp) fuente

Control de Bucles (instrucciones simples) Estas posibilitan el grupo de control más elemental de nuestros programas. Un bucle es un bloque de código que se ejecuta varias veces. Hay 4 tipos de bucles básicos:

• Bucles sin fin

 • Bucles por conteo

 • Bucles hasta

 • Bucles mientras

Las instrucciones de control de bucles son las siguientes:

 

⋅ INC incrementar

⋅ DEC decrementar

⋅ LOOP realizar un bucle

⋅ LOOPZ,LOOPE realizar un bucle si es cero

⋅ LOOPNZ,LOOPNE realizar un bucle si no es   cero

⋅ JCXZ salta si CX es cero

Estas instrucciones son las que realiza directamente el 8086/8088

a)Grupo de adición

b)Grupo de sustracción

c)Grupo de multiplicación

d)Grupo de división

e)conversiones

Instrucciones lógicas

Son operaciones bit a bit que trabajan sobre octetos o palabras completas:

• NOT negación

• AND producto lógico

• OR suma lógica

• XOR suma lógica exclusiva

Instrucción de Comparación

Las instrucciones EQU, NEQ, GRT, LES, GEQ y LEQ funcionan prácticamente igual, hay dos números que se comparan entre si, a diferencia del LIM que la comparación se hace con 3 elementos.

Parámetros para EQU, NEQ, GRT, LES, GEQ y LEQ

A continuación se muestran las instrucciones con sus parámetros:

Instrucción de desplazamiento
aquí tenemos 2 tipos de desplazamiento aritmético hacia la izquierda y aritmético hacia la derecha

Material de apoyo
Al igual que antiguas ocasiones aquí se dejara un material de apoyo 


Gracias por leerme

lunes, 15 de noviembre de 2021

LOGICA DE TRANSFERENCIA DE REGISTROS

 
Lógica
 De Transferencia De Registros

Hola queridos lectores espero se encuentren bien, el tema de esta semana será  bien como dice el titulo de esta entrada, hablaremos acerca de la lógica en la transferencia de registros, sin nada mas que agregar, comenzamos:

Es un conjunto de expresiones y afirmaciones con una notación simbólica para especificar las interconexiones necesarias entre los distintos componentes de un sistema digital.

Se seleccionan registros como los componentes primitivos de un sistema digital en vez de las compuertas y los flip-flop como en la lógica secuencial

De esta forma es posible describir de forma precisa y concisa el flujo de información y las tareas de procesamiento entre los datos acumulados entre registros

El conjunto de registros en un sistema y sus funciones.

La información en código binario almacenado en los registros.

Las operaciones realizadas a partir de la información almacenada en los registros.

Las funciones de control que inician la secuencia de operaciones.

Estos cuatro componentes forman la base del método de lógica de transferencia entre registros

El lenguaje de transferencia entre registros constituye un conjunto de expresiones y afirmaciones con una notación simbólica para especificar las interconexiones necesarias entre los distintos componentes de un sistema digital. Presenta las herramientas necesarias para describir el sistema , así como la secuencia de micro operaciones que se realizan en el mismo

Tenemos los registros:

Registro de 4 bits

Registro con carga paralela

Registro de Corrimientos


Transferencia de datos entre registros

La transferencia de datos de un registro a otro es justamente almacenar en un registro los datos de otro registro. Para esto es necesario que la salida del registro que posee los datos (registro origen) esté conectada a la entrada del registro en el que vamos a almacenar la información (registro destino). Al aplicar un pulso de reloj, el registro destino toma los datos provenientes del registro origen

En este caso tenemos varias transferencias de datos entre registros tales como:

Trasferencia de 1 Registro a 1 registro

Trasferencia de varios registros a 1 registro

Transferencia de varios registros a varios registros   

Transferencia entre registros con estructura de buses


Microoperaciones  Aritméticas

Las microoperaciones que se encuentran con mayor frecuencia en las computadoras digitales se clasifican en cuatro categorías:


Microoperaciones de transferencia de registros

Microoperaciones aritméticas

Microoperaciones lógicas

Microoperaciones de corrimiento

Las microoperaciones aritméticas básicas son suma, resta, incremento, decremento y corrimiento.

Los registros de computadora están representados por letras mayúsculas (en ocasiones seguidas de números), para denotar la función del registro

Los flip-flops individuales en un registro de n bits están numerados en una secuencia de 0 hasta n-1, comenzando desde 0 en la posición de la extrema derecha y aumentando los números hacia la izquierda. La manera más común de representar un registro es mediante una caja rectangular con el nombre del registro dentro

La transferencia de información de un registro a otro se representa en forma simbólica mediante un operador de sustitución.

Microoperaciones Lógicas

Las microoperaciones lógicas especifican operaciones binarias para arreglos de bits almacenados en registros. Estas operaciones consideran cada bit de registro en forma separada y los tratan como variables binarias.

Microoperaciones de corrimiento

Corrimiento lógico : es aquel que transfiere un 0 por la entrada serial.
Corrimiento circular : hace circular los bits del registro por los dos extremos sin pérdida de información. Esto se consigue al conectar la salida serial del registro de corrimiento a su entrada serial.

Corrimiento aritmético : recorre un número binario con signo a la derecha o a la izquierda. Un corrimiento aritmético a la izquierda multiplica un número binario con signo por 2

Lenguaje de Transferencia de Registro

El diseño de sistemas digitales utiliza de manera invariable un enfoque modular. Los módulos se construyen a partir de componentes digitales como registros, decodificadores, elementos aritméticos y lógica de control. Los diferentes módulos están interconectados con los datos y las trayectorias de control comunes para formar un sistema de computadora digital

El control que inicia la secuencia de micro operaciones. La notación simbólica que se utiliza para describir las transferencias de micro operaciones entre registros se llama lenguaje de transferencia de registros.

Transferencia 

Los registros de computadora están representados por letras mayúsculas (en ocasiones seguidas de números),  para denotar la función del registro.

En estos caso, las señales que realizan estas operaciones se propagan por las compuertas y el resultado de la operación se puede transferir a un registro destino mediante un pulso de reloj, tan pronto como la señal de salida se propaga por el circuito combinatorio.

Tipos de Micro operaciones

La función básica de las micro operaciones es la transferencia de información de un lugar del computador a otro, generalmente de un registro a otro, tanto si son internos al procesador como externos.

 Dicho proceso de transferencia puede implicar solo mover la información, pero también transformarla.

 Ve rememos brevemente tres tipos básicos de micro operaciones:

Transferencia interna: operaciones de transferencia entre registros internos del procesador.

Transferencia interna con transformación: operaciones aritméticas o lógicas utilizando registros internos del procesador.

Transferencia externa: operaciones de transferencia entre registros internos del procesador y registros externos al procesador o módulos externos al procesador (como el bus del sistema o la memoria principal).

Material  de Apoyo

Al igual que en temas anteriores en caso de que la información no haya quedado lo suficientemente clara se dejara aquí un material visual: 


Conclusión

Talvez con el el paso de las entradas, con el paso de los temas puedan ir tomando talvez cada mas dificultad, sabemos que son temas de importancia pero a parte de eso, son muy interesantes, solo que si se necesita poner mucha atención a los temas y cada desglose de la información.

Gracias por leerme, los veo en el siguiente tema. ☻




lunes, 8 de noviembre de 2021

Lógica Secuencial, Registros y Unidad de Memoria

 Lógica Secuencial y Unidad de Memoria

Hola Lectores, espero se encuentren bien.

Esta semana trataremos 2 temas, el primero se vera de manera algo rápida ya que al ser tema de continuación de la entrada de la semana pasada solo se complementara.

Iniciemos con la Lógica Secuencial, esta semana centrándonos en el tema de una ecuación de Estado:

Ecuación de Estado

Una ecuación de estado (también conocida como una ecuación de aplicación) es una expresión algebraica que especifica las condiciones para la transición de estado de un flip-flop.

Una ecuación de estado es similar a la en forma a una ecuación característica de un Flip Flop.

La ecuación de estado es una función de Boole con un tiempo incluido. Es aplicable solamente en los circuitos secuenciales de reloj, ya que A(t + 1) se define para que cambie de valor con la ocurrencia del pulso del reloj en instantes discretos de tiempo.

 La ecuación de estado se deriva directamente de la tabla de estado.

Ejemplo:


El lado derecho de la ecuación de estado es una función de Boole para un estado presente

CASO 1: Cuando esta función es igual a 1, la ocurrencia de los pulsos de reloj causa que el flip-flop "A" tenga el siguiente estado de 1

CASO 2: Cuando una función es igual a 0, el pulso del reloj causara que "A" tenga el siguiente estado de 0

El lado izquierdo de la ecuación identifica los Flip Flops por un símbolo de letra seguido de una designación en función

de tiempo (t + 1), para enfatizar que este valor sea alcanzado por el Flip Flop, un pulso posterior de la secuencia.

Finalizado con el tema acerca de la lógica secuencial, entramos en materia del tema de: Unidad de Memoria

Empezando por el tema de registros y unidad de memoria:

Registros

En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.

Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan.

Los registros del procesador se dividen o clasifican atendiendo al propósito que sirven o a las instrucciones que les ordenan.

Tenemos los registros GPR que son Registros de propósito general (en inglés GPRs o General Purpose Registers), en arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador

Tenemos dentro de los Registros GPR estos tipos:

AX, AH, AL (Acumulador) 

BX, BH, BL (Base)

CX, CH, CL (Contador)

DX, DH, DL (Datos)

También tenemos los Registros Apuntadores y de Índices

  Estos registros son usados como índices por algunas instrucciones. También pueden ser usados como operandos (excepto el registro IP). Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila.

Tenemos los:

SP (Apuntador de pila)

 BP (Apuntador de base)

DI (Índice destino)

SI (Índice fuente)

IP (Apuntador de instrucciones)

Existen también los registros de Segmentos

Contiene 16 bits de longitud y facilita un área de memoria para direccionamiento conocida como el segmento actual. Esta dirección, más un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un byte específico en el segmento de datos

En estos tenemos:

CS (Código)
DS (Datos)

ES (Extra)

SS (Pila)

Y también los Registros de Control:

Que 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)

Registro de datos de memoria (MBR)

Registro de direcciones de entrada y salida (I/O AR)

Registro de datos de entrada y salida (I/O BR)

Registro de instrucciones (IR)

Palabras de estado del programa (PSW)



Bien ahora el tema se enfoca en las secuencias de tiempo

Secuencias de Tiempo

La secuencia de las operaciones en un sistema digital se especifica por una unidad de control. La unidad de control que supervisa las operaciones en un sistema digital en forma normal consta de señales de temporizado que determinan la secuencia del tiempo en el cual se ejecutan las operaciones

Las secuencias de tiempo en la unidad de control pueden generarse con facilidad mediante contadores o registros de corrimiento. Esta sección demuestra el uso de esas funciones MSI en la generación de señales de temporizado para una unidad de control.

También tenemos las Señales de Temporizado:

En un modo paralelo de operación, un sólo pulso de reloj puede especificar el tiempo al cual debe ejecutarse una operación. La unidad de control en un sistema digital que opera en el modo paralelo debe generar señales de tiempo que permanecen activas sólo por un periodo de pulso de reloj, pero estas señales de tiempo deben diferenciarse unas de otras.

Unidad de Memoria

La memoria es un ordenador se organiza en varios niveles en función de su velocidad. Esta distribución se denomina jerarquía de memoria y optimiza su uso, ya que la información se ubica en un determinado nivel según su probabilidad de ser utilizada: mientras mayor es la probabilidad o frecuencia de uso, menor es su nivel

Transferencia de información hacia y desde registros de memoria.

La transferencia de información hacia y desde los registros en memoria y el medio externo se comunica a través de un registro común llamado registro buffer de memoria (otros nombres son registros de información y registro de almacén). Cuando la unidad de memoria recibe una señal de control para escritura, el control interno interpreta el contenido de registro buffer como la configuración de bits de la palabra que va a almacenarse en un registro de memoria

Memoria de acceso aleatorio

(Random Access Memory, RAM) En la RAM se cargan todas las instrucciones que ejecuta la unidad central de procesamiento (CPU) y otras unidades del computador, además de contener los datos que manipulan los distintos programas.

Se denomina de acceso aleatorio porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no es necesario seguir un orden para acceder (acceso secuencial) a la información de la manera más rápida posible.

Memoria de Núcleo Magnético

Una memoria de núcleo magnético usa núcleos magnéticos para almacenar la información binaria. Un núcleo magnético tiene forma toroidal y está hecho de material magnético. En contraste con un flip-flop semiconductor que necesita sólo una cantidad física, como por ejemplo voltaje, para su operación un núcleo magnético empleares cantidades físicas: corriente, flujo magnético y voltaje. La señal que excita al núcleo es un pulso de corriente en un alambre que pasa a través del núcleo. La información binaria almacenada se representa por la dirección del flujo magnético dentro del núcleo. La información binaria de salida se extrae mediante un alambre que se eslabona al núcleo en la forma de un pulso de voltaje..

La propiedad física que hace que un núcleo magnético sea adecuado para el almacenamiento binario es su circuito de histéresis, que se muestra en la Fig. 7-31(c). Este circuito es una gráfica de corriente comparada con el flujo magnético y tiene la forma de un circuito cuadrado. Con corriente cero, un flujo que es positivo (dirección en sentido contrario a las manecillas del reloj) o bien negativo (dirección en el sentido de las manecillas del reloj) permanece en el núcleo magnetizado. Una dirección, por ejemplo magnetización contraria al sentido de las manecillas del reloj, se usa para representar un 1 y la otra para representar un O.


Material de Apoyo

Al igual que en las anteriores entradas se dejara aquí un video para que quede mas claro el tema:


Conclusión
Ya se ha dicho anteriormente con todo el proceso y avance que se ha tenido a lo largo de este blog, la importancia de como nos vamos adentrando en el funcionamiento, así que esta ocasión no es una excepción, es un tema que aparte de ser de gran relevancia es interesante


Ciclo y decodificación de ejecución de instrucciones e Interfaces de entrada y salida

 Ciclo y decodificación de ejecución de instrucciones Hola queridos lectores, espero se encuentren muy bien, el tema de esta semana es acerc...