VIPER es un diseño de microprocesador de 32 bits creado por Royal Signals and Radar Establishment (RSRE) en la década de 1980, destinado a ser utilizado en sistemas críticos para la seguridad como la aviónica . [1] Fue el primer diseño de microprocesador comercial que se demostró formalmente que era correcto, aunque hubo cierta controversia en torno a esta afirmación y la definición de prueba. [2]
El diseño se completó en 1987 e inicialmente fue implementado por RSRE en una matriz de puertas. Posteriormente, Marconi Electronics obtuvo la licencia del diseño, implementándolo como MAS1908 VIPER-1, fabricado con tecnologías CMOS y silicio sobre zafiro, que se empaqueta como un producto de matriz de rejilla de 120 pines. [3]
Arquitectónicamente, VIPER es un procesador de 32 bits que admite direccionamiento de memoria orientado a palabras de 20 bits y de "espacio de E / S" (y por lo tanto 4 megabytes de cada uno). Aunque se emplea un diseño de instrucción uniforme que sugiere arquitecturas RISC, los tiempos de ejecución de las instrucciones varían de 6 a 26 ciclos de reloj, en contraste con el rendimiento de una instrucción por ciclo que buscan las arquitecturas RISC convencionales. [3]
Un lenguaje de programación crítico para la seguridad llamado Newspeak fue diseñado por Ian Currie de RSRE en 1984 para su uso con VIPER. Su característica principal era que todo comportamiento excepcional en los programas debe tratarse en tiempo de compilación. [4] [5]