https://maxembedded.wordpress.com/2011/06/05/mcu-vs-mpu/
A short article that should answer Q1 nicely.
As for Q2, usually the code is compiled (usually initially written in C, Assembly (Device Specific codes), Basic, or in raw hex coding. I'm not sure if in your ASIC studies you had to design a computing core, but essentially the core would take in code commands and manipulate data in registers on the chip. For study, I recommend studying the block diagram on page 12 of this document:
**broken link removed**
This is a data sheet of the PIC10F200. This is the most basic microcontroller microchip makes. I'm not sure if this will clear things up for you much, but this is a very basic controller for you to look at.
As for question 3, the chip I showed you has space for
256 instructions. This isn't even compiled C code. This is 256 raw hex code lines. So making a graphical interface or OS or anything like that is impossible. Not near impossible, impossible. I will say, as you get up into the more powerful processors, making an interface is possible. I'm working on a project right now that requires a graphical interface. But the basic devices are designed to do a small, easy, and specific task. Questions? Have I explained it well enough?