Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
For eaxample I have run a code in a chip, say a micro processor. In the code I configure the clock, write some settings for...say RS-232. Now, when I write a line where I set some clock speed and some baud rate for RS-232 communication and I write some function where there is a conditional logic. How do the actual clock speed, baud rate, logic get effected in the hardware after I put it in the code? How does this conversion from software code to hardware signals take place...hope I'm clear...Plz reply
Checkout this application guide. It's almost 25 years old, but it's really good. It explains in plain English how a processor works.
**broken link removed**
- - - Updated - - -
Another good application note, by Microchip. The architecture chapter in this one describes the Harvard architecture and how it's different from the von-Neumann architecture described in the first link.
The documents j33pn has posted are great and will answer your question.
Another way to think about the problem is to put yourself in the ASIC designers position who want to add a UART to a MCU. Using silicon gates you would create an interface to latch the data in from the data bus, a FIFO to store the data, a address decoder so you know when the function is being addressed, and a couple of counters and dividers that can be configured by writing values to their registers to scale the processor's clock to correctly clock data out of the FIFO at the desired baud rate. You would want to use a few gates to output status bits (flags) when something is happening like the FIFO is full or data is actively being clocked out. Once you have the silicon chip designed you would need to develop the libraries so the complier can convert someone's software into register values that get written where you need them, set enable bits, load the FIFO, etc.
If you think about how you would make a UART with parts like FIFOs, latches, and other logic you will have a better feeling of what is in the MCU that performs this task.