riscv-isa-manual
computer-science
riscv-isa-manual | computer-science | |
---|---|---|
41 | 1,081 | |
3,293 | 162,970 | |
2.6% | 1.4% | |
9.7 | 7.7 | |
4 days ago | 30 days ago | |
TeX | ||
Creative Commons Attribution 4.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
riscv-isa-manual
-
The Improved RISC-V Specification (latest WIP draft)
https://github.com/riscv/riscv-isa-manual/releases
Regarding the recent "How to improve the RISC-V specification" post [0], I just wanted to point out, that the latest draft manual is already a great improvement. (see link above)
It includes a lot of the newly ratified extensions: bitmanip,zicond,vector,vector crypto, ...
And there are a bunch of included SAIL definitions for bitmanip and zicond, but other instructions are still missing the SAIL code. Most notably, the SAIL definitions from the RV32I/RV64I base isa are also missing.
I asked for the further SAIL integration plans here: https://github.com/riscv/riscv-isa-manual/issues/1369
Here is an example SAIL snippet from cpopw:
let bitcount = 0;
-
How to improve the RISC-V specification
I encourage you to look at the newest isa manual draft on github: https://github.com/riscv/riscv-isa-manual/releases
It includes the more recently extensions, and e.g. the bitmanip instructions all have associated pseudo code.
Here is e.g. the code for cpopw:
let bitcount = 0;
- Need help with designing a basic RISC V processor?
-
The legend of “x86 CPUs decode instructions into RISC form internally”
I tried searching the spec [1] for "overflow" and here is what it says at page 17:
> We did not include special instruction-set support for overflow checks on integer arithmetic operations in the base instruction set, as many overflow checks can be cheaply implemented using RISC-V branches.
> For general signed addition, three additional instructions after the addition are required
Is this "cheap", replacing 1 instruction with four? According to some old mainframe era research (cannot find link now), addition is the most often used instruction and they suggest that we should replace each one with four?
Their "rationale" is not rational at all. It doesn't make sense.
Overflow check should be free (no additional instructions required), otherwise we will see the same story we have seen for last 50 years: compiler writers do not want to implement checks because they are expensive; language designers do not want to use proper arithmetic because it is expensive. As a result, there will be errors and vulnerabilities. A vicious circle.
[1] https://github.com/riscv/riscv-isa-manual/releases/download/...
- 64-bit Arm ∩ 64-bit RISC V
- Beginner question: F extension
-
Riscv Ghidra Instruction Manual
Why not use the actual release PDF instead from their github? https://github.com/riscv/riscv-isa-manual
-
How would I go about designing an 8-bit RISC-V CPU? Is it possible?
https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf Part 2
-
Have to convert a C language code into RISC-V MIPS
If you don't want to cheat then read the RISC-V ISA manual: https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf
-
How does a computer understand machine language?
Yeah you are on the right track. Processors are designed on top of an Instruction Set Architecture (ISA). For an example you can look on top of the RISC-V specifications:https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf (possible PDF download)
computer-science
-
My experience on the Public Speaking Challenge
Last year I discovered the DEV Community and since then this has been my favorite place to learn, share my learning journey, participate in challenges, and meet new people. I love to spend time in #discussion, debating about something, on "Welcome Thread" and moderating some novices and beginners posts too. On April 1st, @bekahhw from Virtual Coffee made a post inviting anyone in the community to join a challenge of Public Speaking. The main idea was to choose a topic, develop a well-structured and engaging talk, and present it at the end of the month, all the process was guided by the community with tips and tasks for each week. I loved the idea and was so excited about it. For the first week, I've chosen my topic, I'd like to talk a bit about Linux and open-source projects. Things like studying OS, testing a new distro on my desktop, and completely diving into the OSSU (Open Source Society University) influenced my choices directly. Then, I had to face one of my biggest difficulties, writing an outline with an introduction, development, and conclusion. For this presentation, each participant had 5-10 minutes to a lighting talk and I was afraid of writing something so superficial without connection or with big jumps between subtopics. As a non-native English speaker, I made an immersive month to get even more used to the language, listen to more music, watching even more videos (especially with my boyfriend whose have helped me so much with this and our long talks about OS and Kernels). In the last week, the focus was on delivering and I did my best to don't get nervous and just try to face this as a normal talk. I have to admit that I loved to spend time creating a slide presentation like I did a lot in my Physics Bachelor for countless experiments and projects. I have searched a lot about the Virtual Coffee community and I loved the main idea of mutual support and the meeting styles. Also, I'm on the waiting list and I hope to be in the Lightning Talks in the next year and join more and more challengers. As how I promised, here's my presentation video:
-
Show HN: I made a cheaper alternative to college-level math and physics tutoring
There is a Discord server for the OSSU computer science cirriculum that is pretty active. https://github.com/ossu/computer-science
-
Final project took me longer than expected, but I got there in the end.
For a well-rounded CS knowledge you might want to look into OSSU, which is designed to meet the requirements for univerisity CS courses.
-
Learning coding
There’s also a compiled CS curriculum here: https://github.com/ossu/computer-science.
-
Is codecademy worth it and where else can I learn
OP I hate to double comment and be "that guy who learned to code without going to college who MUST he did it the correct way" cause fuck "that guy". He's annoying, and he never shuts up, and I try really hard not to be that guy.... But I wanna provide some extra reasons I feel you should stay away from Code Academy. And as I said before, not because they're bad courses, so let me be that guy just for a brief moment. In addition to random Youtubers straight up having high quality courses that are much more update date, they often have supplemental tutorials on niche things that aren't covered in a "101 course". But even then, maybe the idea of a certificate on your resume appeals to you... Well, turns out there's more "academic" courses online you can do to get more of those things that self-taught dumbasses like me aren't as strong with because we skipped the "academic" part of learning..... If that's what makes Code Academy appealing (which I don't think they even go over much.... but still)... then here's 2 things I'd look at before pulling out your wallet. Here's Harvards entire introduction to Computer Science courses provided for anyone to take for free (you can pay for a certificate, but its straight up $0.00 to take the classes) Heres a github repo for an Open Source University that a ton of devs have curated to give a simulated full degree program If you want to focus hardcore on being a Web Developer and are frustrated by there not being tutorials that show you exactly how to handle every step from "there's no website on my computer" to "holy shit I made a website", then here you go The Odin Project is an Open Source answer to your cries of frustration. It has curriculum paths that do exactly that. The goal is to go from zero programming knowledge to fully employable as a web developer (by skill level at least, obviously you'll need to build stuff and build a resume)
-
CMV: People should not be referred to as "Engineers" unless they have a degree in the appropriate field
That said, I'm a software developer and I don't see any point in the distinction of calling someone a software or computer engineer based on education (with the exception of electronics engineers that work on hardware, but here I'm talking about software). A BSc or BEng in computer science or software development can give you a headstart but nothing that can't be self taught and in hiring I've been shocked by many postgrad engineers that couldn't answer simple questions and were outdone by self taught engineers. Make no mistake though - education is required (e.g. you're not going to learn data structures and algorithms through osmosis), but it doesn't have to be formalised as a degree.
-
After finishing cs50 python, what’s next? What did everybody do? I see there’s an ai course in python.. but not sure if im ready for that yet..
My plan is to follow the training program that the OSSU (Open Source Society University) provides in order to really delve into the topic and learn more. Check out this link for more info: https://github.com/ossu/computer-science
-
NÃO QUERO FICAR PARA TRÁS!
se vc quer literalmente ficar a frente do seu curso, ent é só usar o ossu/computer-science.
- What is the best low level programming language to learn for someone who knows only python?
-
I want to be a software engineer?
If someone's completed CS50X and W any recommendation where to carry on https://github.com/ossu/computer-science I'm thinking from core maths onwards seems reasonable.
What are some alternatives?
riscv-elf-psabi-doc - A RISC-V ELF psABI Document
developer-roadmap - Interactive roadmaps, guides and other educational content to help developers grow in their careers.
riscv-emulator-docker-image
p1xt-guides - Programming curricula
amaranth - A modern hardware definition language and toolchain based on Python
coding-interview-university - A complete computer science study plan to become a software engineer.
riscv-v-spec - Working draft of the proposed RISC-V V vector extension
CS50x-2021 - 🎓 HarvardX: CS50 Introduction to Computer Science (CS50x)
vroom - VRoom! RISC-V CPU
open-source-cs - Video discussing this curriculum:
missing-semester - The Missing Semester of Your CS Education 📚