|
ARM designs processors, but just the processor. I̶t̶ ̶d̶o̶e̶s̶n̶'̶t̶ ̶a̶d̶d̶ ̶p̶e̶r̶i̶p̶h̶e̶r̶a̶l̶s̶ ̶t̶o̶ ̶i̶t̶;̶ (also wrong here, apparently they make plenty of peripherals)., that's the job of the vendor who uses the processor and integrates it with RAM, Flash, protocol hardware (SPI, I2C, Serial, USB, etc), Timers, and all the other goodies that make a microcontroller easier to use because you dont need fifteen other chips to get it doing what you want it to do.Imagine needing to buy a separate chip so you can speak I2C, another to speak SPI, another to have a counter running and interrupt the processor every X seconds, another to store program memory, another to convert analog signal to digital; it would be unwieldly, so these vendors take the processor and attach these peripherals and say "the processor can use this peripheral by writing 0xAB to its register located at 0x12345678. So you can think of ARM as designing the engine, and the vendors as taking the engine design then adding the rest of the cars features (chassis, electronics, navigation, etc) around it, then building and selling it. "Why don't the vendors just design their own processor to go with their own peripherals?" you might ask. Well designing a processor is MUCH harder to do well than any of the individual peripherals. There is a lot more going on with a processor and it's at least an order of magnitude more complex than any of the peripherals that go with it. But that doesn't mean it's not done; Atmel designed the AVR architecture and this is the processor architecture that dominates the Arduino world. Atmel sells microcontrollers with their AVR architecture processor and their own peripheral designs as well. But AVR is mostly 8-bit and they can't compete with the performance of ARMs 32-bit designs; which is why you see ARM is most embedded applications. The design for the processor is made in a program that lets you "lay out" the hardware at the transistor level and specify processes for it (like a lithographic mask) but ARM never carries out these processes, these must be taken care of by a fabrication facility. Oftentimes these vendors don't even have fabs themselves, they just design the rest of the "car" and then have it fab'ed by a third party. ~A̶R̶M̶ ̶d̶o̶e̶s̶n̶'̶t̶ ̶w̶a̶n̶t̶ ̶t̶o̶ ̶d̶e̶s̶i̶g̶n̶ ̶p̶e̶r̶i̶p̶h̶e̶r̶a̶l̶s̶ ̶a̶n̶d̶ ̶f̶a̶b̶r̶i̶c̶a̶t̶e̶ ̶c̶h̶i̶p̶s̶ ̶(̶i̶t̶ ̶d̶o̶e̶s̶n̶'̶t̶ ̶e̶v̶e̶n̶ ̶h̶a̶v̶e̶ ̶a̶ ̶f̶a̶b̶,̶ ̶n̶o̶r̶ ̶d̶o̶e̶s̶ ̶i̶t̶ ̶w̶a̶n̶t̶ ̶t̶o̶ ̶d̶e̶a̶l̶ ̶w̶i̶t̶h̶ ̶3̶r̶d̶ ̶p̶a̶r̶t̶y̶ ̶f̶a̶b̶s̶)̶.̶~ (Looks like i'm totally wrong here, also why doesn't HN have strikethrough comments implemented?). They do what they do - design processors - and they do it really well, so well in fact that vendors are more than willing to pay for a license to use their processors in their own chips so that the vendor doesn't have to deal with the headache of making a really good processor. |
And they work very very closely with fabs; you can't really design highish performance cores like their's without working with the fabs. You'd have all sorts of weird bottlenecks, and wouldn't hit a competitive frequency (think under 100Mhz if you didn't take into account fab design rules).
What they don't do is sell predesigned SoCs (outside of dev systems). They give you all of the tools you need to integrate your own SoC so that you can take nearly all of the capital risk.