COP8

Ir a: navegación, búsqueda de
Este artículo es sobre microcontroladores COP8. Para la VIII Conferencia sobre cambio climático de las partes, ver 2002 Conferencia sobre el cambio climático Naciones Unidas.

El COP8 microcontrolador de National Semiconductor. es una de 8 bits CISC núcleo microcontrolador, cuyas principales características son:

  • Gran cantidad de ENTRADA-SALIDA pasadores.
  • Un montón de Memoria Flash/ROM para el código y los datos (hasta 32 KB).
  • Muy baja EMI. No hay bugs conocidos.
  • Muchos periféricos integrados (significados como diseño de chip único).
  • Programación en el sistema
  • Gratis ensamblador toolchain. Comercial C compiladores disponibles.
  • Libre de multitarea OS y TCP/IP pila.

Tiene un ciclo de máquina de hasta 2 M ciclos por segundo, pero la mayoría de las versiones parecen ser acelerable hasta 2,8 M ciclos por segundo (reloj de 28 MHz).

Registros y mapa de la memoria

La COP8 utiliza instrucciones por separado y espacios () datosArquitectura de Harvard). Espacio de dirección de la instrucción es 15 pedacitos (máximo 32 KiB), mientras que direcciones de datos son de 8 bits (máximo 256 bytes, extendido vía Banco de conmutación).

Para permitir errores de software a ser capturado, todas las direcciones de instrucción válida Lee como cero, que es una instrucción de trampa. RAM no válido por encima de la pila de Lee como todos-, que es una dirección no válida.

La CPU tiene un acumulador de 8 bits y 15 bits PC. 16 registros adicionales de 8 bits (R0 – R15) y un programa de 8 bits estado palabra son memoria asignada. Hay instrucciones especiales para acceder a ellos, pero también se puede utilizar instrucciones de acceso generales RAM.

El mapa de memoria es como sigue:

Espacio de direcciones de datos COP8
Direcciones Uso
0 X 00 – 6F Propósito general RAM, utilizado para la pila.
0X70 – 7F Unused, Lee como todo-ones (0xFF) para atrapar la pila underflows.
0 X 80 – 8F Unused, Lee indefinido.
0X90 – BF Registros de control periférico adicional.
0XC0 – CF Registros de control periférico.
0XD0 – DF Puertos de fines generales de la entrada-salida L, G, I, C y D.
0XE0 – E8 Reservados
0xE9 Microwire registro de desplazamiento
0XEA – ED Temporizador 1 registros
0xEE CNTRL registro, bits de control Microwore & Timer 1.
0xEF PSW, CPU del programa palabra de estado.
0XF0 – FB R0 – R11, registros de propósito general
0xFC R12, a.k.a. X, registro secundario puntero indirecto
0xfd R13, a.k.a. SP, registro de puntero de pila
0xFE Registro de puntero indirecto primario R14, a.k.a. B,
0xFF R15, a.k.a. S, registro de extensión segmento los datos.

Si no es almacenado RAM, entonces R15 (S) es otro registro de propósito general. Si la RAM es almacenado, y luego la mitad baja la dirección del espacio de datos (direcciones 0 x 00 – 7F) está dirigida a un banco de memoria RAM seleccionados por S. Los registros de propósito especial en la mitad alta de la espacio de dirección de datos son siempre visibles. Los registros de datos en 0xFx puede utilizarse para copiar datos entre bancos.

Bancos RAM aparte de banco 0 tienen todos 128 bytes disponibles. La pila (tratada mediante el puntero de pila) siempre está en el banco 0, sin importar cómo se establece el registro S.

Transferencias de control

En adicional a las instrucciones JMP y JSR 3 bytes que pueden abordar el espacio de dirección completa, las versiones de 2 bytes de estas instrucciones puede saltar dentro de una página de 4K. La instrucción especifica los bajos 12 bits, y se conservan los altos 3 bits de la PC.

También hay salto indirecto y carga acumulador indirecto las instrucciones que utilizan el contenido del acumulador como los bajos 8 bits de una dirección; se conservan los altos 7 pedacitos de la PC actual.

Para corta distancia ramas, hay 63 instrucciones 1 byte que realizan ramas relativa al PC desde PC−32 a PC + 31. Esta es una adición de 15 bits y no aplique ningún requisito de límite de página.

Ramas condicionales se realizan utilizando un número de condicionales SALTESE las instrucciones. Por ejemplo, IFEQ compara sus dos operandos y salta la instrucción siguiente si son desiguales. Cualquier instrucción puede ser omitido; No se limita a las ramas.


Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=COP8&oldid=596592403"