I think Knuths work might be too Mathematical in nature for you. If you wish to work on sematic web its better you start with Collective Intelligence its a good book to start with . However it uses Python for its examples.
As far as Computer Architecture is concerned do you imply Software architecture or Computer Architecture
Thanks for your advice. So what is the best stage to read Knuth's work? With computer architecture i basically imply software architecture, but I want to know the basics of computer architecture too.
For low level software architecture, at the level of the firmware that drives processors (plus the electronics that are below that), as NonEUCitizen recommended MIT's 6.004 is a good bet (http://ocw.mit.edu/courses/electrical-engineering-and-comput...).
For the medium level, assembly language and on up a fair bit (at least to C), CMU's got what looks like a great course and book: http://www.cs.cmu.edu/~213/ There's enough meat on the web page for the course that it should give you an idea if you want to get the book.
Me and a lot of other people learned the basics from it, and while it's certainly dated, it has the advantage of being lucid and complete while not being too big or overwhelming, and of course nowadays if you want to go so far as running a Version 6 UNIX there are PDP-11 simulators that you can use for the purpose. I.e. it's a good foundation, like SICP is for languages and TAOCP is for algorithms (although there are less detailed and difficult books to get you started on algorithms that you might want to try first).