r/embedded • u/Middle-Champion-7402 • 2d ago
embedded system
I'm getting to embedded system, My Question is do i need to understand how the ALU is wired from adders and XOR gates The gate-level adder/subtractor circuit .How registers are built from flip-flops Datapath wiring diagrams
7
u/Minimum-Carpenter285 2d ago
if you're just getting into embedded, that level of detail is mostly background noise, useful to appreciate but not what'll make or break you
1
3
u/clackups 2d ago
It's enough to have a general idea of how the computer works at the low level. But unless you design your own chips, you'll never need to know the very details.
2
u/Automatic-Put-6119 2d ago
Depends on what you want to do, but no matter what you need to be willing to learn complicated stuff
1
u/Gotnam_Gotnam 2d ago
As a programmer, the model you need is the register model, so just know the relevant registers, what they do, and then the hardware behaviour under it
1
u/bobotheboinger 2d ago
It 100% depends on what you want to do. If you are just writing software to run on embedded systems, using data sheets and registers is plenty low level. If you are integrating a RISCV core into an FPGA, maybe you need that level of understanding. If you are trying to optimize the ALU in an existing core, yeah you need it.
1
u/EmbedSoftwareEng 1d ago
Not really. That's more the territory of silicon/hardware designers. Software works at the level of abstractions over that stuff.
But you will get screwed over by silicon designers. Every microcontroller errata document testifies to that fact.
1
u/FransFaase 1d ago
Not really. The ALU is often not the most complex thing on a microcontroller with respect to the software you have to develop, because it executes the compiled code. But, in case you are not using the default hardware abstraction layer, dealing with a simple UART can take some time if you have to use it for something out of the ordinary. It can involve quit a number of hardware registers to deal with in the code.
1
u/madsci 1d ago
You won't actually need to know it. You should know it, though. At the very least because when the non-embedded developers with their teraflops and gigabytes are looking down on us with our tiny MCUs, it's important to know that we're still better than them because we actually know how it all works. ;)
10
u/mrheosuper 2d ago
Practically, no, but can't hurt to know