Re: Programming Hardware in Assembly...where to start?



I guess I'm not really into optimization (at the moment). More on the
interfacing with hardware & writing device drivers. I think everyone is more
or less interested in optimization in one way or another.

I'm still confused on whether I want to be an electrical engineer or computer
engineer. Do I want to make hardware or program it? I feel that I really want
to do both, but more on the programming side as my understanding of Physics
& electricity is not that great.

At the moment I just need a lot of reading material related to computer
architecture. I guess on the level of OS & driver development. I've browsed
through embedded.com but it seems a lot of stuff there is for guys already in
the field.

In article <1139515317.684735.178200@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>, "ldb"
<spamtrap@xxxxxxxxxx> wrote:
I am a little confused on exactly what you are asking, so I'm going to
take the shotgun approach and hit a bunch of different topics.

First, you've somewhat failed to mention your general background in
computer architecture. There is a large difference between being able
to program in x86 and actually understanding the computer architecture
for optimization sake. When you say "hardware programming" do you mean
writing low level routines to be as fast as possible to take advantage
of underlying hardware? If so, then I can provide a variety of
suggestions on how to get started... A good book on computer
architecture will go a long way: digital design to single cycle cpu to
pipelined cpus with modern memory systems treated thoroughly (paging,
segmentation, cache structure) and modern cpu optimizations (write
combining, store forwarding, branch prediction, hardware prefetching,
etc).

All of that would be standard affair in a computer-engineering
coursework for an undergrad. I'd say a graduate level computer-arch.
class should be in the future of anyone considering a career writing
assembly language.

If, on the other hand, you are more interested in the technical details
of a specific piece of hardware and how to interface with it (as in,
writing a device driver).. then I can't really help you. But I bet
google can.


.



Relevant Pages

  • Re: Watchdog for Boser (HS-7001)
    ... He's probably better off writing a watchdogdriver for the Boser (or ... getting someone to write one for him - not easy to do without hardware ...
    (freebsd-hackers)
  • Re: code optimization hurt my driver
    ... Once built with the default optimization in free build, my driver cannot ... ackledge the interrupt flags (writing back to clear). ... Without the "volatile" attribute, the compiler is free to eliminate the ...
    (microsoft.public.development.device.drivers)
  • Re: IoConnectInterrupt and surprise-removal
    ... Hardware MUST be designed for software. ... There are a few important hardware design rules that make writing a driver ... Ignoring those rules makes writing a driver such PITA. ...
    (microsoft.public.development.device.drivers)
  • Re: RFI: Ethernet driver ported from Linux
    ... hardware is, ummm, a little icky. ... That little thing Alan is writing a driver for should be simpler ...
    (freebsd-hackers)
  • Re: VertexArray assignment each OnRender?
    ... the memory, or written new data over the old one between OpenGL calls. ... the memory can be 'virtualized' by the driver and ... The big vendors have hardware ... On desktop the VBO's best optimization is to have the data in GPU ...
    (comp.graphics.api.opengl)