6 dépôts
Educational resources detailing the internal design and operational cycles of central processing units.
Distinct from System Internals: None of the candidates cover physical CPU hardware architecture; they focus on software internals, interpreters, or databases.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · CPU Architectures. Refine with filters or upvote what's useful.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
An explanation of the internal components and operational cycle of a central processing unit.
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Provides educational resources and logic for creating custom processor architectures for FPGA synthesis.
excelCPU est un émulateur d'ordinateur basé sur un tableur qui simule une unité centrale de traitement 16 bits. Il fonctionne comme un modèle de CPU éducatif où l'état du système, les registres et la mémoire vive sont gérés au sein d'une grille de cellules de tableur. Le projet inclut un compilateur d'assembleur qui convertit le code source assembleur personnalisé en un format compatible avec les cellules de tableur pour le stockage en mémoire morte. Il permet à la fois l'exécution automatique de programmes et l'opération manuelle pour surcharger des instructions spécifiques. La simulation couvre les concepts fondamentaux de l'architecture matérielle, notamment le prototypage de portes logiques, l'extraction d'instructions et la gestion de la mémoire. Cet environnement permet la visualisation des interactions entre les registres et la mémoire système via une logique pilotée par formules.
Implements a simplified hardware architecture to demonstrate the fundamentals of machine cycles.
Asterinas est un noyau de système d'exploitation sécurisé en mémoire conçu pour prévenir les data races et la corruption mémoire. Il fonctionne comme un noyau compatible Linux-ABI, permettant l'exécution de binaires Linux existants et de charges de travail conteneurisées tout en offrant un modèle de distribution de système d'exploitation déclaratif. Le projet se distingue en agissant comme un hôte de conteneurs pour machines virtuelles et un OS invité pour le confidential computing, lui permettant de s'exécuter au sein d'environnements d'exécution isolés matériellement comme Intel TDX. Il implémente une base de calcul de confiance minimale en isolant les opérations dangereuses de bas niveau et sépare les mécanismes fondamentaux du noyau des implémentations de politiques spécifiques. Le système couvre un large éventail de capacités, incluant la gestion de la mémoire physique et virtuelle, le multi-processing symétrique et l'abstraction matérielle pour diverses architectures CPU. Il inclut également le support pour les runtimes de conteneurs sécurisés, un ensemble complet de primitives réseau et socket, ainsi qu'une toolchain spécialisée pour la compilation et l'émulation du noyau. Le projet prend en charge le déploiement multi-architecture sur les plateformes x86-64, RISC-V 64 et LoongArch 64.
Enables selection of the target processor architecture for compilation via environment variables.
This is an open-source video player application for Android that compiles native C and C++ libraries using the Android NDK and CMake. The build system automatically discovers the Android SDK from environment variables and selects the appropriate Java runtime (8, 11, or 17) for different build tools, while allowing control over which CPU architectures (ARM, x86) to target. The application manages media libraries by scanning local storage and fetching metadata from external services to organize video files with cover art, descriptions, and series grouping. It streams video from both local devic
Controls which CPU architectures like ARM and x86 to compile native code for.
perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies, SIMD programming, and low-level performance engineering. It provides instructional material and practical labs for identifying and fixing CPU bottlenecks, such as cache misses and branch mispredictions. The project differentiates itself through specialized training in hardware-level optimizations, including the use of compiler intrinsics for SIMD vectorization and the implementation of branchless predicate execution to eliminate pipeline stalls. It also covers advanced binary-lev
Provides a curriculum on the internal design and operational cycles of CPUs, including pipeline stalls and TLB misses.