It had been very important in my prior life as a supercompuer guru. Back then I felpfelt you didn't understand a machine until you had written at least several hundred lines of assembler, and tinkered with it trying to squeeze out performnaceperformance. As very few programmers wanted to go that deep, it made me really indispensibleindispensable. And I still have a common language when talking with HW designer types.
But, really the need/benefit for this is mostly a couple of decades past. betweenBetween compiler advances, and advanced out of order execution HW there is very little scope for being able to play the hero by writing assembler anymoreany more. Although I think it useful to understanding how things work. I plan on teaching my kids (freshmen CS majors) to program in a very simplified assembler on a simple virtual machine, just so they have afeela feel for what goes on. Hopefully we can play with stuff like unrolling, software pipelining, caches, and prefetching, bottom loading etc. So at least they will know that at some level this stuff is going on.