3 research outputs found

    A Solder-Defined Computer Architecture for Backdoor and Malware Resistance

    Get PDF
    This research is about securing control of those devices we most depend on for integrity and confidentiality. An emerging concern is that complex integrated circuits may be subject to exploitable defects or backdoors, and measures for inspection and audit of these chips are neither supported nor scalable. One approach for providing a “supply chain firewall” may be to forgo such components, and instead to build central processing units (CPUs) and other complex logic from simple, generic parts. This work investigates the capability and speed ceiling when open-source hardware methodologies are fused with maker-scale assembly tools and visible-scale final inspection. The author has designed, and demonstrated in simulation, a 36-bit CPU and protected memory subsystem that use only synchronous static random access memory (SRAM) and trivial glue logic integrated circuits as components. The design presently lacks preemptive multitasking, ability to load firmware into the SRAMs used as logic elements, and input/output. Strategies are presented for adding these missing subsystems, again using only SRAM and trivial glue logic. A load-store architecture is employed with four clock cycles per instruction. Simulations indicate that a clock speed of at least 64 MHz is probable, corresponding to 16 million instructions per second (16 MIPS), despite the architecture containing no microprocessors, field programmable gate arrays, programmable logic devices, application specific integrated circuits, or other purchased complex logic. The lower speed, larger size, higher power consumption, and higher cost of an “SRAM minicomputer,” compared to traditional microcontrollers, may be offset by the fully open architecture—hardware and firmware—along with more rigorous user control, reliability, transparency, and auditability of the system. SRAM logic is also particularly well suited for building arithmetic logic units, and can implement complex operations such as population count, a hash function for associative arrays, or a pseudorandom number generator with good statistical properties in as few as eight clock cycles per 36-bit word processed. 36-bit unsigned multiplication can be implemented in software in 47 instructions or fewer (188 clock cycles). A general theory is developed for fast SRAM parallel multipliers should they be needed

    Optimisation des chemins de données arithmétiques par l'utilisation des systèmes de numération redondants

    Get PDF
    This thesis presents the optimization of arithmetic data paths with the automatic integration of redundant notation system in the flow of VLSI design, so as to make it more accessible. The work is cut into two phases.The first objective is to incorporate redundant and mixed operators and expertise related to their use in the synthesis low. The good intrinsic performance of these operators indicate the potential value of this approach. Three optimization algorithms are proposed, based on the redefinition of sequences between arithmetic operators.The second is devoted to the development of the design environment in which will be used these algorithms. This environment meets the arithmetic-related needs and provides a circuit description language with a high level of abstraction. These algorithms have been applied to different arithmetic circuits and the results confirm that the automatic integration of redundant arithmetic significantly improves performance compared to a conventional layout of these circuits.Cette thèse présente l’optimisation des chemins de données arithmétiques par l’intégration automatique du système des notations redondantes dans le flot de conception VLSI, de façon à le rendre plus accessible. Les travaux effectués se découpent en deux phases.La première a pour objectif d’incorporer les opérateurs redondants et mixtes et le savoir-faire lié à leur usage dans la synthèse bas niveau. Les bonnes performances intrinsèques de ces opérateurs montrent l’intérêt potentiel d’une telle approche. Trois algorithmes d’optimisation sont proposés, basés sur la redéfinition des enchaînements entre opérateurs arithmétiques. La seconde est consacrée à la mise en place de l’environnement de conception dans lequel seront utilisés ces algorithmes. Cet environnement répond aux besoins liés à l’arithmétique et fournit un langage de description de circuits ayant un haut niveau d’abstraction. Ces algorithmes ont été appliqués sur différents circuits arithmétiques et les résultats obtenus confirment que l’intégration automatique de l’arithmétique redondante améliore nettement les performances par rapport à une implantation classique de ces circuits
    corecore