jeunes2 / lemberg Goto Github PK
View Code? Open in Web Editor NEWLemberg is a time-predictable VLIW processor optimized for performance.
Lemberg is a time-predictable VLIW processor optimized for performance.
Lemberg is a time-predictable VLIW processor optimized for performance. Lemberg can execute up to four instructions per cycle in a four-stage pipeline. The processor includes one to four ALUs, a jump- and a memory-unit, and optionally also a floating-point unit for single and double precision floating-point numbers. Instructions are cached in a method cache, and data may be cached in a stack cache, direct-mapped cache or a fully associative cache. Lemberg is time-predictable in the sense that the worst case execution time of program fragments can be computed easily. The caches have been designed to reduce the overestimation for worst-case execution time analysis as much as possible. Branch prediction is optional and was designed with analyzability in mind. The processor in its largest configuration runs at 66 MHz on an Altera DE2-70 board, where it consumes about 45K logic cells and 62KB of on-chip memory, including the floating-point unit and caches. Naturally, smaller configurations require fewer resources and usually can run at higher clock frequencies. Along with the hardware implementation come an assembler, a back-end for LLVM, and a basic port of the newlib libc implementation.
Upgrading to the newest LLVM release is probably a good idea.
The compiler currently assumes that the FPU is present for both single and double precision. This should be made configurable so the generated code matches the hardware if it does not include an FPU.
There is currently no information about the processor (clock frequency, features, revision number, ...) and no timer.
Write-back (wb.s) is currently not implemented. Stacks that are larger than the stack cache will lead to random crashes.
There is currently no support for interrupts. Injecting an appropriate operation in the inflate stage is probably the least invasive way of interrupt handling within the pipeline.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.