Documento de diseño del curso Principios de composición

Documento de diseño del curso sobre principios de composición

En la actualidad, los artículos se utilizan a menudo para referirse a artículos que realizan investigaciones en diversos campos académicos y describen resultados de investigaciones académicas, denominados artículos para abreviar. . No es sólo un medio para explorar temas de investigación académica, sino también una herramienta para describir los resultados de la investigación académica para la comunicación académica. Incluye trabajos académicos, tesis de graduación, disertaciones, trabajos científicos y tecnológicos, trabajos de logros, etc. A continuación, les traeré un documento de diseño del curso de principios de composición, espero que les sea útil.

Parte 1: Informe del experimento sobre principios de composición informática

1. Nombre del experimento: Experimento con calculadora

2. Propósito del experimento:

1 .Aprender el control del modo de trabajo de los componentes de procesamiento de datos. 2. Conozca el proceso de ejecución de programas en lenguaje de máquina.

3. Principio experimental:

La unidad aritmética del instrumento experimental CP226 se implementa mediante un CPLD, que incluye 8 funciones aritméticas. Durante la operación, los datos se escriben primero en el registro A y en el registro W, y el sistema genera los resultados de la operación y los envía a la puerta de paso D de acuerdo con el modo de operación seleccionado.

Los registros de la caja experimental que pueden enviar datos a DBUS son: puerta de paso D, puerta corredera izquierda L, puerta corrediza derecha R, contador de programa PC, registro de vector de interrupción IA, registro de entrada externo IN y registro de pila ST. Están compuestos por 138 decodificadores

IV. Contenido experimental:

1. Calcular 37H 56H y luego desplazar el valor un bit a la izquierda y enviarlo a la salida OUT. 2. Enviar el valor de la inversión de 36H y el AND de 54H al registro R1.

5. Pasos experimentales:

Contenido experimental (1):

1. Apague la alimentación. Conecte J2 y J1 con un cable plano de 8 bits.

2. Utilice cables de diferentes colores para conectar K0 y AEN, K1 y WEN, K2 y S0, K3 y S1, K4 y S2,

K6 y X0, K7 y X1 , K8 y X2, K9 y OUT están conectados. 3. K15 ~ K0 se colocan todos en la posición 1, K23 ~ K16 se colocan en la posición 0.

4. Mire el instrumento, enciéndalo, mantenga las manos alejadas del interruptor de encendido, esté preparado para apagarlo en cualquier momento, preste atención a la estabilidad de cada tubo digital y luminiscente. tubo, espere 10 segundos y asegúrese de que el instrumento esté estable y no tenga olor a quemado. 5. Configure la caja experimental en modo manual.

6. Establezca K0=0, K8K7K6=000, K23 ~K16=0011 0111. 7. Presione la tecla PASO y almacene 37 en el registro A. 8. Configure K0=1, K1=0, K23 ~K16=0101 0110. 9. Presione la tecla PASO y almacene 56 en el registro W.

10. Establezca K0=1, K1=1, K8K7K6=110, K4K3K2=000. 11. Presione la tecla STEP y el registro L mostrará 1A. 12. Establezca K9=0 y deje todo lo demás sin cambios.

13. Presione la tecla STEP, el registro OUT muestra 1A. 14. Apague la alimentación de la caja experimental.

Contenido del experimento (2):

1. Básicamente lo mismo que los primeros 5 pasos del contenido del experimento (1) (retire el cable que conecta el registro OUT). 2. Conecte K10 y SA, K11 y SB, K12 y RWR.

3. Establezca K0=0, K8K7K6=000, K23~K16=0011 0110. 4. Presione la tecla PASO y el registro A muestra 36. 5. Establezca K8K7K6=100, K4K3K2=110. 6. Presione la tecla PASO y el registro A mostrará 9C.

7.

8. Presione la tecla PASO y el registro W muestra 45.

9. 10. Presione la tecla STEP, el registro D y el registro R1 mostrarán 40. 11. Apague la alimentación de la caja experimental.

6. Conclusión experimental:

Realizar el control del modo de trabajo del componente de procesamiento de datos y el proceso de ejecución del programa en lenguaje de máquina.

7. Experiencia:

A través de este experimento, tengo una comprensión más profunda del experimento aritmético y consolidé aún más lo que aprendí en la primera semana.

8. Preguntas para pensar:

¿Cómo calcular el valor de 3456H 12EFH? Respuesta:

A través del instrumento experimental CP226, configure S2S1S0 en 100 y podrá utilizar la operación de suma con acarreo. Al ser un sistema hexadecimal de cuatro dígitos, se puede desmontar y calcular a partir del dígito de las unidades. El cálculo se realiza bit a bit mediante el sumador de acarreo, es decir, (64H*64H 64H*10H*3H 64H*3H. 10H*9H 8h) (64H*10H*4H 64H*8H 10H*4H 7H) Parte 2: Informe experimental sobre los principios de composición informática

Entorno experimental

1. o Windows XP

2. Un ordenador QuartusII, GW48-PK2 o DE2-115 forma un sistema de experimentos de enseñanza de principios con varios cables.

Objetivo del experimento

1. Familiarizarse con la elaboración de diagramas esquemáticos y el lenguaje VHDL. 2. Verifique la función sumadora completa.

Principio experimental

Diseñe un sumador completo de un bit que pueda completar la operación de suma de dos dígitos binarios. Considerando la señal de acarreo en cada caso, complete la operación de 8 conjuntos de datos. .

Pasos experimentales

1.1 Establecer el proyecto de ingeniería

1.1.4 Diseño esquemático

Después de crear un nuevo proyecto, puede dibujar el esquema programa de diagrama. A continuación se utiliza un sumador completo de un bit como se muestra en la Figura 1-12 como ejemplo para explicar el método y los pasos específicos de edición e ingreso del diagrama esquemático.

Figura 1-12 Diagrama esquemático de un sumador completo de un bit

(1) Ejecute el menú "Archivo" → "Nuevo...", o haga clic en el icono en el barra de herramientas, aparecerá una ventana emergente como la siguiente: El cuadro de diálogo "Nuevo" que se muestra en la Figura 1-13. Seleccione "Diagrama de bloques/Archivo esquemático" en el elemento "Archivos de diseño" de este cuadro de diálogo y haga clic en el botón "Aceptar". La ventana principal de Quartus II 10.0 ingresa a la interfaz del entorno de trabajo esquemático como se muestra en la Figura 1-14.

Figura 1-13 Cuadro de diálogo "Nuevo"

(2) Haga clic en el icono en la interfaz del entorno de trabajo del esquema como se muestra en la Figura 1-14 o en el área de edición del esquema Doble- haga clic con el mouse en el espacio en blanco o haga clic con el botón derecho en el espacio en blanco del área de edición del esquema y seleccione cualquiera de "Insertar" en el menú emergente. Aparecerá el cuadro de diálogo de entrada del componente que se muestra en la Figura 1-15. En la columna "Nombre", ingrese directamente el nombre del componente requerido o busque el componente apropiado en la biblioteca correspondiente de "Bibliotecas:", luego haga clic en el botón "Aceptar" y luego haga clic con el botón izquierdo del mouse en el área de edición del esquema para transferir. el componente en el esquema en el área de edición de imágenes. Para ingresar el diagrama esquemático que se muestra en la Figura 1-12, se deben llamar a and2, xor2 o3, entrada y salida respectivamente. Para el mismo dispositivo, esto se puede hacer copiando. Por ejemplo, hay puertas 3 y 2. El método de operación del dispositivo es cargar una puerta y 2, hacer clic derecho en el dispositivo, seleccionar el comando "Copiar" en el menú emergente para copiarlo y luego hacer clic derecho en. la posición adecuada y seleccione el comando "Pegar" en el menú emergente para pegarlo.

1

Figura 1-14 Interfaz del entorno de trabajo esquemático

Figura 1-15 Cuadro de diálogo de entrada del componente

Si es necesario cambiar el componente después de colocarlo, Para un solo dispositivo, presione y mantenga presionado el botón izquierdo del mouse en el dispositivo, arrástrelo a la posición apropiada y luego suelte el botón izquierdo del mouse para múltiples dispositivos, presione el botón izquierdo del mouse para seleccionar el marco que desea mover. dispositivos y luego mueva el cursor al dispositivo seleccionado. Cuando el cursor se convierta en un cursor "en cruz" móvil, mantenga presionado el botón izquierdo del mouse y arrástrelo a la posición apropiada.

Si desea eliminar un componente, primero debe seleccionar el componente, luego presionar la tecla "Supr" o hacer clic derecho y seleccionar "Supr" en el menú emergente.

Si desea rotar un componente, primero debe seleccionar el componente, luego hacer clic derecho y seleccionar "Filp Horizontal" (girar horizontal), "Filp Vertical" (girar vertical) y "Rotar por Grados" en el menú emergente. ”(rotación en sentido antihorario, opcional 90°, 180°, 270°) y otros comandos.

(3) Apunte el cursor al pin del componente y el cursor cambiará a una forma de "cruz". Presione el botón izquierdo del mouse y arrastre, y saldrá un cable que se conectará al componente. en el otro extremo, finalmente, suelte el botón izquierdo del mouse para dibujar un cable. Siga este método para dibujar todos los cables, como se muestra en la Figura 1-16.

2

Figura 1-16 Importar componentes y dibujar cables (nota: el cable arrastrado con el mouse solo puede dar una vuelta como máximo)

Figura 1- 17 Cuadro de diálogo Modificar nombre de pin

(4) Haga doble clic o haga clic con el botón derecho en "pin_name" para ingresar el pin y aparecerá el cuadro de diálogo que se muestra en la Figura 1-17. En el elemento "Nombre(s) del pin" de la página "General" de este cuadro de diálogo, ingrese el nombre del pin, como por ejemplo: S, y luego haga clic en el botón "Aceptar" para cambiar el nombre del pin de entrada "pin_name" a " S ". Siga este método para modificar otros pines en secuencia. Después de la modificación, se muestra en la Figura 1-16.

(5) Ejecute el comando de menú "Archivo" → "Guardar...", o haga clic en el nombre

en la barra de herramientas y haga clic en el botón "Guardar" (la mejor opción en este momento es mejor no cambiar la ruta de almacenamiento).

Icono, aparece el cuadro de diálogo "Guardar como", ingrese el archivo en este cuadro de diálogo

2.1 Diseño de archivos VHDL de nivel superior

2.1.1 ? Crear proyecto y editar archivos de diseño

Primero, establezca una biblioteca de trabajo para almacenar proyectos de ingeniería de diseño. Cualquier diseño es un proyecto y primero debe crear una carpeta para este proyecto para colocar todos los archivos relacionados con este proyecto. El software EDA establecerá de forma predeterminada esta carpeta en la Biblioteca de trabajo.

Después de crear la carpeta, puede editar el archivo de diseño a través del editor de texto QuartusII y guardarlo en el disco. Los pasos detallados son los siguientes:

1. Utilice el administrador de recursos para crear una nueva carpeta, como por ejemplo: e:eda. Tenga en cuenta que el nombre de la carpeta no puede estar en chino.

2. Ingrese el programa fuente. Abra QuartusII, seleccione el menú "Archivo" "Nuevo", seleccione el tipo de idioma del archivo compilado en "Archivos de diseño del dispositivo" en la ventana Nuevo, aquí seleccione "Archivos VHDL" (como se muestra en la Figura 2-1). Luego escriba el programa VHDL en la ventana de compilación de texto VHDL (como se muestra en la Figura 2-2).

3

Figura 2-1 Seleccione el tipo de idioma del archivo editado

Figura 2-2 Edite el archivo de diseño de entrada (archivo de diseño de nivel superior ADD1.VHD)

Figura 2 -3 Utilice el "Asistente para nuevos proyectos" para crear proyectos Parte 3: Experimento del principio de composición informática 2.2_Informe del experimento

1. Propósito y requisitos del experimento

(1) Maestro El principio del controlador de caché y sus métodos de diseño.

(2) Familiarizado con el diseño de aplicaciones CPLD y el uso del software EDA.

2. Equipo experimental

Un PC y un sistema experimental TD-CM3 o TD-CMX.

3. Principio experimental

La transformación de dirección utilizada en este experimento es el método de mapeo directo. Este método de transformación es simple y directo, la implementación del hardware es muy simple y la velocidad de acceso. Es relativamente rápido, pero la tasa de conflicto de bloques es relativamente alta. El principio fundamental es: un bloque en la memoria principal solo se puede asignar a un bloque específico en la caché.

Suponiendo que el número de bloque de la memoria principal es B y el número de bloque de la caché es b, la relación de mapeo entre ellos se puede expresar como: b = B mod Cb

Entre ellos, Cb es la capacidad de bloque de la caché. Suponiendo que la capacidad del bloque de la memoria principal es Mb y la capacidad del área es Me, la relación entre el método de mapeo directo se muestra en la Figura 2-2-1. Divida la memoria principal en particiones según el tamaño de la memoria caché. Generalmente, la capacidad de la memoria principal es un múltiplo entero de la capacidad de la memoria caché. La cantidad de bloques en cada partición de la memoria principal es igual a la cantidad total de bloques en la. Cache. El método de mapeo directo solo puede mapear los bloques con el mismo número de bloque relativo en cada área de la memoria principal al bloque específico con el mismo número de bloque en la caché. Por ejemplo, el bloque 0 en la memoria principal solo se puede asignar al bloque 0 en la caché, y el bloque 1 en la memoria principal solo se puede asignar al bloque 1 en la caché. De manera similar, el bloque Cb en el área 1 de la memoria principal (en el área 1 El bloque relativo. El número es 0)

Solo se puede asignar al bloque 0 del caché. De acuerdo con las reglas de mapeo de direcciones dadas anteriormente, toda la dirección de caché es exactamente igual a la parte inferior de la dirección de memoria principal.

El proceso de conversión de direcciones del modo de mapeo directo se muestra en la Figura 2-2-2. El número de bloque B en la dirección de memoria principal y el número de bloque b en la dirección de caché son exactamente iguales. De manera similar, la dirección de bloque W en la dirección de memoria principal es exactamente la misma que la dirección de bloque w en la dirección de caché. La parte de la dirección de memoria principal que es más larga que la dirección de caché se llama código de área E.

 1

Durante la ejecución del programa, cuando se accede a la caché, para realizar la conversión del número de bloque de la memoria principal al número de bloque de la caché, se requiere una pequeña capacidad. necesario para almacenar el número del área de la memoria principal Memoria, la capacidad de esta memoria es igual al número de bloques en la caché y la longitud de la palabra es la longitud del código de área E en la dirección de la memoria principal, más un bit válido.

En el proceso de convertir la dirección de la memoria principal a la dirección de caché, primero use el número de bloque en la dirección de la memoria principal para acceder a la memoria del código de área (acceso por dirección). Compare el código de área leído con el código de área E en la dirección de la memoria principal y realice el procesamiento según el resultado de la comparación y los bits válidos en la misma palabra de almacenamiento que el código de área. Si los resultados de la comparación del código de área son iguales y el bit válido es '1', entonces la caché llega, lo que indica que el bloque al que se accederá se ha cargado en la caché. En este momento, la dirección de la caché (idéntica a la de orden inferior). parte de la dirección de la memoria principal) es correcta. Utilice esta dirección de caché para acceder a la caché y enviar los datos leídos a la CPU. En otros casos, hay una falla de caché o una falla de caché, lo que significa que el bloque al que se accede no se ha cargado en el caché. En este momento, se debe usar la dirección de la memoria principal para acceder a la memoria principal y al bloque. Primero se debe leer dónde se encuentra la dirección y luego la CPU lee los datos en esta dirección desde la caché.

Este experimento implementará la caché y su lógica de transformación de direcciones (también llamada controlador de caché) en CPLD, utilizando la transformación de dirección asociativa directa, considerando solo los datos de lectura de la CPU de la caché y sin considerar los datos de lectura de la CPU de la memoria principal En el caso de leer datos y reescribir datos, la relación entre caché, CPU y memoria se muestra en la Figura 2-2-3.

El módulo de nivel superior del controlador de caché se muestra en la Figura 2-2-4. La dirección de la memoria principal es A7A0, ***8 dígitos y el código de área E ocupa 3 dígitos. De esta manera, quedan 5 dígitos en la dirección de caché, por lo que la capacidad de la caché es de 32 unidades, el número de bloque B toma 3 bits, luego la caché se divide en 8 bloques, la dirección W dentro del bloque toma 2 bits, luego cada El bloque es de 4 unidades. En la Figura 2-2-4, WCT es la señal de la tabla de bloques de caché de escritura, CLR es la señal de borrado total del sistema, A7A0 es la dirección donde la CPU accede a la memoria, M es la señal de falla de caché, CA4CA0 es la dirección de caché,

2

MD7MD0 envía datos de la caché a la memoria principal, D7D0 envía datos de la CPU a la caché, T2 es el reloj del sistema, RD es la señal de lectura de la memoria de acceso de la CPU, LA1 y LA0 son bloques direcciones.

En el software QuartusII, primero implemente una unidad de almacenamiento de 8 bits (consulte MemCell.bdf en la rutina) y luego use esta unidad de almacenamiento de 8 bits para formar una caché de 32 X 8 bits (consulte el ejemplo CacheMem.bdf en el proceso), realizando así el cuerpo de almacenamiento de caché.

Luego implemente una unidad de almacenamiento de 4 bits (consulte TableCell.bdf en la rutina) y luego use esta unidad de almacenamiento de 4 bits.

Constituye una 8 Si los códigos de área en las unidades correspondientes en la tabla de áreas son iguales y el bit válido es 1, entonces el caché acierta. De lo contrario, el caché no es válido. El indicador es M. Cuando M es 0, significa que el caché no es válido. .

Cuando llega el caché, los datos de la unidad correspondiente en la memoria caché se envían a la CPU. Este proceso es relativamente simple. Cuando falla la caché, los datos en el bloque correspondiente en la memoria principal se leen y escriben en la caché. De esta manera, el controlador de caché genera la dirección para acceder a la memoria principal y la señal de lectura de la memoria principal. El bloque ocupa cuatro unidades, por lo que es necesario acceder a la memoria principal cuatro veces seguidas, lo que requiere un generador de direcciones bajas, es decir, un contador de 2 bits (ver Counter.vhd en la rutina), que combina los 2 bits bajos con la dirección alta de 6 bits proporcionada por la CPU para formar la dirección de acceso a la memoria principal. M se puede utilizar como señal de lectura de la memoria principal. De esta manera, bajo el control del reloj, el bloque correspondiente en la memoria principal se puede escribir en el bloque correspondiente en la caché.

Finalmente. , se modifica la tabla de áreas (Ver (CacheCtrl.bdf) en la rutina.

IV. Pasos experimentales

1. Cableado experimental:

3

2. Pasos experimentales:

(1) Utilice el software Quartus II para editar e implementar la lógica correspondiente y compilar hasta que pase la compilación. Los pines correspondientes del controlador de caché en el chip EPM1270 se muestran en la Figura 2: como se muestra en 2-5, el texto fuera del cuadro. indica el número de E/S y el texto dentro del cuadro indica el significado del pin (consulte el proyecto 'Installation Path Cpld CacheCtrlCacheCtrl.qpf' para esta rutina experimental)

 (2) Apague la alimentación del sistema experimental, conecte el circuito experimental según la Figura 2-2-6, y verifique que sea correcto. Las señales que el usuario necesita conectar están marcadas con círculos en la figura.

(3) Encienda el sistema experimental y descargue el archivo POF generado en EMP1270. Para obtener una introducción a la unidad CPLD, consulte el Experimento 1.2.

(4) Coloque el interruptor KK3 de la unidad de sincronización y consola en la posición 'Run'. La señal CLR proviene de la simulación CLR de la unidad CON. Presione el botón CLR de la unidad CON. borrar la tabla de zonas.

(5) Escriba datos en la memoria principal por adelantado: el software en línea proporciona una función de descarga del programa de la máquina para reemplazar la lectura y escritura manual de la memoria principal. El programa de la máquina se escribe en un archivo con el TXT. sufijo en el formato especificado. ;