There are a few different things that can mean. A microchip, also known as an integrated controller or IC, can be designed to do a specific job, like converting an analog signal into digital, or making a series of voltage pulses at a certain rate, or anything else the designer needs.
Often when designing a very complicated IC, engineers will use a “hardware description language” such as VHDL. This means they’re writing code, in something very much like a programming language. Some software can then “compile” that code, into a design for a microchip. That design, if it is etched onto a little bit of silicon in just the right way, will be a chip which does what the designer wanted.
So that’s one way of putting code into a chip. Writing code which literally describes how the tiny little etched-in components should be hooked up to each other, and how they should be laid out on the silicon.
Then, there’s microcontrollers. Microcontrollers are IC’s which don’t do a *specific* job, they’re designed to be able to run software which can tell it to do all kinds of different jobs. A microcontroller usually has some rewritable long-term memory in it, which can hold a program.
Instead of designing a brand new IC from scratch, in order to build an electronic device many engineers will elect to write code for a microcontroller. In this case, after writing the code, the designer will then “flash” the microcontroller, which is slang for writing their program into that long-term memory. This can be done using a device which plugs into your computer’s USB port, and has a socket to plug the controller into. Once the chip has been flashed, then it can be removed from the programmer device and installed into whatever you’re using the chip for.
The physical memory in a chip is a special kind of transistor with floating gate switches that can store a charge. Depending on the chip some can do this more or less indefinitely, even with no power applied others need to have the charge continued to be applied like RAM. In most devices, 1 as a high value and a 0 as a low value. So the chip stores a whole heap of 0’s and 1’s depending on the code you sent it.
If you’re talking like a CD/DVD/BD etc a laser etches the 0’s and 1’s.
If a HDD it is magnetic regions that store 0’s and 1’s.
So this answer really has two different parts:
* CPUs (the chips you’d find in computers and cell phones) don’t actually hold code. They’re basically tiny machines, where the pins act like switches, and by flipping certain combinations of switches on and off it’s wired to activate/deactivate certain parts of the circuitry which all perform different functions. Each of these combinations of on/off is called an “instruction,” and the code that we type gets turned into these instructions before it’s run.
* Microchips/ICs (Integrated Circuits, like what you’d find in a digital camera or microwave) *do* hold the code, and is basically the same as a CPU but we’re cutting out the middle-man. Instead of writing the code, translating it into instructions, having the chip read those instructions, and then having those instructions switch between different circuitry on the chip, we just hard-wire those instructions directly into the chip themselves. This is mostly done automatically no different than how code is turned into CPU instructions, you basically just push a button and it translates the code into an circuit diagram.
It doesnt. When you write code to a chip, nothing “physically” changes about the chip
I am going to assume you have some sort of flashable microcontroller for your “chip” but the process is the same for all processor/rom combos, they just arent always on the same chip. the chip contains memory cells that get electrically set to numbers that represents the code. The processor part of the chip is built to take a number, and based on that number, do an operation. This is built in a chip design and does not change. It also is built to read rom (in this case) sequentialy. when its finished with 1 operation, it automatically moves on a set number of bits and reads the next number.
This can do lots of things including math and writing to other places in memory, but the only thing that has changed about the chip is the electrons parked on the memory cells in the rom, everything else is the same.
The chip has instructions like instructions in a cooking recipe, telling it what should be done step by step. The chip has an architecture that has instructions, with each instruction encoded in a binary format the processor can interpret. After that, it can process those and utilize the hardware depending on the instructions, and can even change the order of instructions you give it if something needs to wait. Ultimately, the OS loads the instruction data into memory and tells the processor to start executing it.
Latest Answers