Amiga.org
Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: skolman on July 10, 2013, 06:28:48 AM
-
XMOS shows $3 quad-core 400MIPS microcontroller (http://www.electronicsweekly.com/news/design/embedded-systems/xmos-shows-3-quad-core-microcontroller-2013-02/)
edit by eliyahu: the contents of this thread originated in the massive FPGA arcade replay thread (http://www.amiga.org/forums/showpost.php?p=740543&postcount=2886). the XMOS-related discussion started with the post above. for additional context, you may wish to revisit the original thread.
-
XMOS shows $3 quad-core 400MIPS microcontroller (http://www.electronicsweekly.com/news/design/embedded-systems/xmos-shows-3-quad-core-microcontroller-2013-02/)
Maybe more suited for the AmigaOne X2000 thread!
Or, upon reading the blurb, a 3D printer thread.
-
@Hattig
Such DSP can encode/decode MP3, etc.
-
A small piece of the FPGA can do the same without any extra chips..
-
A small piece of the FPGA can do the same without any extra chips..
Maybe it could be made software/driver compatible with MAS Player...
-
XMOS shows $3 quad-core 400MIPS microcontroller (http://www.electronicsweekly.com/news/design/embedded-systems/xmos-shows-3-quad-core-microcontroller-2013-02/)
Wow... that's a game changer. 4 cores that run independently would make things like emulating console machines pretty simple - one core for video, one core for audio, one core for I/O and house keeping, and one core for CPU emulation. $3 at 100 piece means under $2.00 at 10000 pieces. That's quite amazing. I am going to look into these.
::edit:: These parts are OTP (one time programmable). So, they would not be very well suited for anything that would need (or you would want to have) updates for.
-
Will be the XMOS 4xCore 400 MIPS at 3 USD/piece beat ARM in performance/price and unit/price departments..?
-
@JimDrew
At such low prices why would anyone be worried about it? Toss it out and buy a new one when you need an update.
-
Will be the XMOS 4xCore 400 MIPS at 3 USD/piece beat ARM in performance/price and unit/price departments..?
This product is going up against things like Atmel AVR, ARM Cortex M0-M4 and the like, rather than low-end ARM SoCs. It's meant to be embedded within a product and just do what it's programmed to do, forever - much like the USB converter chip on the FPGAArcade - it converts complex USB keyboard/mouse (and maybe more) to simple serial signals the FPGA can work with simply.
-
The XMOS chip doesn't address external memory, it just has I/O ports. That makes it nearly worthless for emulation purposes.
-
@JimDrew
At such low prices why would anyone be worried about it? Toss it out and buy a new one when you need an update.
Well, for things like the FPGA Arcade (a daughter board perhaps?), these would but useless because we need to have the ability to update firmware. Development with these would be a nightmare when you're throwing them out every time you want to test your code as you are writing it. They apparently have sort of simulation software to ease the development, but there is no substitute to throwing the part into a board and testing it. Neat chip though for one-time uses - like a USB<>serial, SCSI<>IDE, etc. only interfaces, or a commercial product that will never change.
-
Other comparable chips has rewritable memory. No need to go back..
-
Well, for things like the FPGA Arcade (a daughter board perhaps?), these would but useless because we need to have the ability to update firmware. Development with these would be a nightmare when you're throwing them out every time you want to test your code as you are writing it. They apparently have sort of simulation software to ease the development, but there is no substitute to throwing the part into a board and testing it. Neat chip though for one-time uses - like a USB<>serial, SCSI<>IDE, etc. only interfaces, or a commercial product that will never change.
Or maybe just go with a socket. Toss out the old chip, insert the new one and apply the update.....
-
I knot this isn't the XMOS thread... But still, yes to socket, and sell the new chip as an upgrade, $6 per pre programmed chip... :)
-
This is the thread for stuff that as a minimum can be reprogrammed at will....
-
This is the thread for stuff that as a minimum can be reprogrammed at will....
Hmm.....as opposed to unwillingly programmed?
These chips are programmable.....but only once....hence the discussion to use a chip socket when you want/need to update your device.....This same concept is used to update classic Amigas with updated Kickstarts. So what's the problem?
-
Kickstart ROM chips are slow, expensive and difficult to update.
We want machines that are fast, cheap and easy to update.
The whole point of an FPGA chip is that you can keep reprogramming it over and over and over again for free. The XMOS chip is the exact opposite philosophy.
-
Hmm.....as opposed to unwillingly programmed?
These chips are programmable.....but only once....hence the discussion to use a chip socket when you want/need to update your device.....This same concept is used to update classic Amigas with updated Kickstarts. So what's the problem?
The 4 core version has 64k of ram and 28 i/o pins, it wouldn't even be able to emulate a c64. The most expensive one ($27.11) has 256k ram & 256 i/o pins, which is starting to get better. I don't know if you can run code from ram, but it only has 32k of otp rom. I'm not convinced you could emulate a c64 on that either but I don't mind being proved wrong.
Feel free to discuss it somewhere else, but if all you're going to do is drool over it and not actually try building something with it then you're just wasting your time. It has absolutely nothing to do with the FPGA replay & cannot possibly emulate an Amiga.
-
Kickstart ROM chips are slow, expensive and difficult to update.
We want machines that are fast, cheap and easy to update.
The whole point of an FPGA chip is that you can keep reprogramming it over and over and over again for free. The XMOS chip is the exact opposite philosophy.
Why do insist on reading things into what I wrote that simply don't exist? I never implied nor stated that Kickstart ROMs were fast. Do you have a reading disability or are you just looking to be difficult?
-
The 4 core version has 64k of ram and 28 i/o pins, it wouldn't even be able to emulate a c64. The most expensive one ($27.11) has 256k ram & 256 i/o pins, which is starting to get better. I don't know if you can run code from ram, but it only has 32k of otp rom. I'm not convinced you could emulate a c64 on that either but I don't mind being proved wrong.
Feel free to discuss it somewhere else, but if all you're going to do is drool over it and not actually try building something with it then you're just wasting your time. It has absolutely nothing to do with the FPGA replay & cannot possibly emulate an Amiga.
Who is drooling? I just stated that if people wanted to consider using an inexpensive but fast, write-once programmable chip that they should consider using a socket. I never mentioned C64s, pins or anything else. You're as bad as ChaosLord when it comes to making assumptions and being difficult! That's one of the reasons why I rarely post here because guys like you and ChaosLord have turned this board into a digital freak-show that you use to bully and push other people around to satisfy your massive cases of overgrown ego.
-
Who is drooling? I just stated that if people wanted to consider using an inexpensive but fast, write-once programmable chip that they should consider using a socket. I never mentioned C64s, pins or anything else. You're as bad as ChaosLord when it comes to making assumptions and being difficult! That's one of the reasons why I rarely post here because guys like you and ChaosLord have turned this board into a digital freak-show that you use to bully and push other people around to satisfy your massive cases of overgrown ego.
My point was that it's pointless to use it in any way with an FPGA Arcade, the original thread was purely about the FPGA Arcade and this thread implies discussion about it's use with the FPGA arcade. Other people had mentioned using it for emulation, you incorrectly assumed that this part of my post was directed at you.
You would only use one of those in mass produced equipment where you wouldn't need to do an update. It's a pretty unexciting chip, I'd rather pay the extra and get a chip that could run different software without throwing it away. By the time you've run 100 different programs on it, the chip has worked out very expensive.
-
Why do insist on reading things into what I wrote that simply don't exist? I never implied nor stated that Kickstart ROMs were fast. Do you have a reading disability or are you just looking to be difficult?
I wasn't being rude. I am not making statements for you.
It seemed like you were not understand the really severe limitations of that chip and other posters were not getting thru to you. So I simply tried to explain the problem from a totally completely different angle using different words.
I hereby solemnly attest, before the gathered witnesses of Amiga.org that ferrelsi did not imply or state that Kickstart ROMS were fast.
But you did seem to imply that because Kicstart ROMS can't be rewritten after having been burned and that since some Amigas have Kickstart ROMS that therefore chips which can't be reprogrammed are totally completely acceptable.
Kickstart ROMS are ok. They have a certain level of barely being acceptable. But Kickstart ROMS have a huge number of disadvantages.
In the A1000 days ppl got the idea that a Kickstart ROM would be wonderful and awesome because then ppl would not have to load kickstart off a floppy into RAM. But that notion was only correct back in they days before cheap hard drives and cheap hard drive controllers.
In 1990 I bought an Amiga 3000 brand new. And Thank Commodore it didn't come with a Kickstart ROM! The Kickstart was a file in DEVS: It could be easily expanded, modified, changed, patched and updated without having to buy expensive ROM chips! That Amiga 3000 is so awesome! The next year I bought another brand new A3000 and that one sadly came with a real Kickstart ROM and no way (that I know of) to load the kickstart from hard drive. Years later my dad wanted to buy one of my A3000s: No way was I selling him my A3000 that had no Kickstart ROM. I sold him the crappy one with the Kickstart 3.0 ROM chip. Yuck. The first thing he had to do was buy a Kickstart 3.1 ROM chip for $50.00. $50.00 of the Earth's resources were senselessly destroyed by the use of this silly OTP (One-Time-Programmable) technology. I don't want to destroy the Earth using primitive technology when there exists a better way to do things.
On My 1200T/060 I hafta copy the silly lame Kickstart ROM into proper FastRam so I can get a nice speedboost.
-
No way was I selling him my A3000 that had no Kickstart ROM. I sold him the crappy one with the Kickstart 3.0 ROM chip. Yuck. The first thing he had to do was buy a Kickstart 3.1 ROM chip for $50.00. $50.00 of the Earth's resources were senselessly destroyed by the use of this silly OTP (One-Time-Programmable) technology. I don't want to destroy the Earth using primitive technology when there exists a better way to do things.
Commodore used mask ROMs not OTP. They cost far less than $50 to make and used less of the Earth's resources than the equivalent amount of RAM would have.
Also, there was no 3.0 for the A3000, and your A3000 had a 1.4 Kickstart ROM in it.
-
Commodore used mask ROMs not OTP. They cost far less than $50 to make
Nobody cares how much it cost to make them. They also have to be ordered by the customer and the customer must pay a profit and the customer must pay for shipping for all these new ROM chips every 2 years. So yes the cost of stupid ROMS is massively more than just using some RAM and downloading a file.
And yes around $50.00 is what my dad paid to the computer store for his 3.1 ROMS many years ago.
and used less of the Earth's resources than the equivalent amount of RAM would have.
You have completely missed the point.
The ROMS cost massively more than the equivalent RAM in money, time and natural resources.
First you start with a 2.04 KS
which then had to be upgraded to 2.1
which then had to be upgraded to 3.0
which then had to be upgraded to 3.1
which then had to be upgraded to 3.1 with patches
which then had to be upgraded to 3.1 with even more patches
which then had to be upgrade to 3.1 with newer patches
which then had to be upgraded to 3.1 with still yet newer patches. Remember there have been countless upgrades to the AmigaOS ROM since 1990.
8 separate ROMS costs a lot more than 512K or 1MB of RAM.
Just the shipping alone to order 8 separate ROMS might be enough to buy the RAM.
And if you live in any random left-wing country (lets use Britain as an example) then you hafta pay a whopping ridiculous 17.5% sales tax on all 8 of those purchases which means you have to destroy and burn more of the Earth's resources just to pay the tax. (In fairness my Dad paid 0% sales tax for all his Amiga gear as ripoff sales taxes were illegal in the USA in those days.)
The moral of the story is that Write-Once technologies have their uses but they have many disadvantages. Better to use Write-Infinite if the cost is close to the same.
Also, there was no 3.0 for the A3000, and your A3000 had a 1.4 Kickstart ROM in it.
I have a 3.0 for my A3000 so you are mistaken. Maybe you are thinking about Kickstart 2.04 which I also have.
-
The 4 core version has 64k of ram and 28 i/o pins, it wouldn't even be able to emulate a c64.
That's not true. There are already a few microcontroller based C64 emulations. The specs for this chip with its 4 cores could easily emulate the C64 if you added some external RAM.
-
The XMOS chip doesn't address external memory, it just has I/O ports. That makes it nearly worthless for emulation purposes.
And isn't I/O the whole purpose of the XMOS chips?
That's not true. There are already a few microcontroller based C64 emulations. The specs for this chip with its 4 cores could easily emulate the C64 if you added some external RAM.
But if you can't then it's pointless, use the XMOS for I/O in some other product where it might make sense, and and use the Turbo Chameleon 64 for emulation and other stuff! :)
(http://www.vesalia.de/pic/chameleon64.jpg)
Read about it here (http://www.vesalia.de/e_chameleon.htm), or at the Syntiac Pages (http://www.syntiac.com/chameleon.html)
I think this product is über-cool, use it as a super cartridge in a real C64 to add tons of new features or use it as a stand-alone computer! When using at as stand-alone, you can also load different cores to it, like spectrum and even Amiga, as shown in this video (http://www.youtube.com/watch?v=J_W_XbklmIY)!
[youtube]J_W_XbklmIY[/youtube]
:)
-
Are these the 'planned' or 'might be possible' type of features that would convince you to buy a product. If you are going to buy an Amiga One I would only consider the things it can do at release.
PowerPC has become even more niche and could even be killed off in the near future.
That's not to say your Amiga One won't be a valuable collectors item.
-
That's not true. There are already a few microcontroller based C64 emulations. The specs for this chip with its 4 cores could easily emulate the C64 if you added some external RAM.
I wouldn't have thought there would be enough I/O pins for ram after you've added joysticks, keyboard, display, sound & some storage. Unless you used serial for everything and added a bunch of custom external glue. This defeats the point as the cost starts going up & then you might as well use one of their more expensive chips.
I would guess they do development versions of these, even if it's a OTP loader and you test you code running from ram. Some older OTP chips were internally just eproms but with no erase window, if that is the case here then development ones might just come with a window. There is no way anyone would be able to do anything with them if you have to throw a chip every time you make a change. Development versions will be more expensive though.
-
My point was that it's pointless to use it in any way with an FPGA Arcade, the original thread was purely about the FPGA Arcade and this thread implies discussion about it's use with the FPGA arcade. Other people had mentioned using it for emulation, you incorrectly assumed that this part of my post was directed at you.
Actually my first thought was that it could be an interesting chip for us on something like the FPGAArcade with it's DSP like abilities, at least until I read that it can't be reprogrammed. I'd really like to see what could be done with it for flexible mesh vertex processing, image manipulation, MP3 / video encoding & decoding, audio effect processing, particle engines, physics simulation, etc.
With the limitation of being able to only program it once though it kind of becomes a moot point.
Is it a limitation of the chip or of that particular version of it? I mean are there versions that are programmable during operation? The small amount of on-chip ram is just a memory management a issue.
You're not going to emulate anything with such a chip, you're just going to feed it data and retrieve results constantly. Stuff that you might not want to do on the FPGA itself as that would either be too slow, or take up too much space.
Andy
-
Nobody cares how much it cost to make them. They also have to be ordered by the customer and the customer must pay a profit and the customer must pay for shipping for all these new ROM chips every 2 years. So yes the cost of stupid ROMS is massively more than just using some RAM and downloading a file.
And yes around $50.00 is what my dad paid to the computer store for his 3.1 ROMS many years ago.
Costing $50 of your dad's money and "$50.00 of the Earth's resources were senselessly destroyed" are two very different things.
You have completely missed the point.
I'm not sure you had one. You just like to complain.
The ROMS cost massively more than the equivalent RAM in money, time and natural resources.
No, they don't. You have no idea how expensive RAM used to be.
First you start with a 2.04 KS
which then had to be upgraded to 2.1
which then had to be upgraded to 3.0
which then had to be upgraded to 3.1
which then had to be upgraded to 3.1 with patches
which then had to be upgraded to 3.1 with even more patches
which then had to be upgrade to 3.1 with newer patches
which then had to be upgraded to 3.1 with still yet newer patches. Remember there have been countless upgrades to the AmigaOS ROM since 1990.
8 separate ROMS costs a lot more than 512K or 1MB of RAM.
Just the shipping alone to order 8 separate ROMS might be enough to buy the RAM.
Versions of Kickstart available for the A3000 : 1.4, 2.04, 3.1. That's all. There was no 2.1 for any Amiga and 3.0 was for AGA Amigas only, and no 3.1 with patches ROMs were ever released.
And if you live in any random left-wing country (lets use Britain as an example) then you hafta pay a whopping ridiculous 17.5% sales tax on all 8 of those purchases which means you have to destroy and burn more of the Earth's resources just to pay the tax. (In fairness my Dad paid 0% sales tax for all his Amiga gear as ripoff sales taxes were illegal in the USA in those days.)
Sales taxes were never illegal in the USA.
The moral of the story is that Write-Once technologies have their uses but they have many disadvantages. Better to use Write-Infinite if the cost is close to the same.
No, the moral of the story is you have no idea what you are talking about.
I have a 3.0 for my A3000 so you are mistaken. Maybe you are thinking about Kickstart 2.04 which I also have.
Is that for your A3000 that "didn't come with a Kickstart ROM"?
-
am i reading this correctly? are you sure x-mos chip like those built in into "amigaone x1000" as "xena" can be only programmed once? what would be the point then putting them on board such a system? i think there must be some misunderstanding somewhere.
also the matter of using x-mos ("xena") for emulation has been discussed multiple times and the idea has been defeated, or at least never proven. anything that chip has been ever used on x1k is making few diodes blink. even though there is more sophisticated usage examples on the net, it doesnt look like there is enough interest or skill in the amiga or better say os4 community to utilize it in any exciting way.
-
The XMOS chips we're interested in as users are the programmable ones, not the $3 write-once ones - those are for mass produced final designs, you'd be crazy to use one for development, just like you'd be crazy to develop a ROM using mask ROMs instead of an EPROM.
As I understand it, the point of the X1000 was as much as anything to faciliate the introduction of the XMOS chip - which it did, as its presence has allowed Hyperion et al to port the toolchain to AmigaOS. Now the next (lower priced) Amigas can include the XMOS and already the toolchain is ready for them.
I think the main reason nothing's been done with XMOS so far is simply that most people can't afford one - but I don't think they were expecting any much to appear until this coming (Cyrus) generation of AmigaOnes.
I know for myself I already have ideas what to do with it... I want to write a Spectrum emulator using the XMOS as a ULA (just for the heck of it) or maybe just an entire emulator. Why? Because it's fun, not because it's useful (and it's completely possible, incidentally)
On a more practical note, I want to use the XMOS to control floppy drives to enable use of Amiga floppies without a Catweasel. Come to think of it, it could connect to 9-pin joysticks too. Maybe even a SID chip, with the right board. You could probably use it to aid video/audio decoding/encoding too - you just need to keep feeding its 64KB buffer with the right data, that's all.
What I'm trying to say is that people shouldn't write off the XMOS chip because it's not been used yet - we're still very early in the lifecycle of the chip, once lower priced machines come with it (maybe Acube could put one on their low-end boards? It wouldn't add that much to the cost) we are much more likely to see it being put to use.
-
Actually my first thought was that it could be an interesting chip for us on something like the FPGAArcade with it's DSP like abilities, at least until I read that it can't be reprogrammed. I'd really like to see what could be done with it for flexible mesh vertex processing, image manipulation, MP3 / video encoding & decoding, audio effect processing, particle engines, physics simulation, etc.
I've been thinking for some time that it would be handy to add some SPI ports mapped into a convenient spot in the Amiga's address space. Then you could tack on some custom chips for CPU hungry tasks like MP3 decoding, TCP/IP stack and so on. I guess it depends on how much space is left over in the FPGA after you wedge an Amiga in there.
-
@spirantho
but the whole point of discussion is to take advantage of the chip if/where possible. if there is no advantage then why bother with it, save for fun?
-
@spirantho
but the whole point of discussion is to take advantage of the chip if/where possible. if there is no advantage then why bother with it, save for fun?
Well there clearly is advantage in it, especially since it's almost certainly one of the programmable (many times) chips rather than the ultra cheap write-once $3 kind :)
The advantage is the hundreds of MIPS worth of processing power, along with DSP and other hardware to take advantage of.
It can be much more powerful in usage specific ways than a CPU but less flexible, less powerful than specialised hardware but more flexible. So somewhere between the two.
-
How much does the reprogrammable XMOS cost? and is the same specification?
Perhaps one could run it without using the OTP through JTAG?
-
How much does the reprogrammable XMOS cost? and is the same specification?
They don't appear to offer one. It appears you can run code from ram, they have an OTP module that loads data from encrypted SPI flash http://www.xmos.com/products/why/dsp
You might be able to do it via JTAG without programming the OTP. Or you could program the OTP with your own simple loader that allows programs to be uploaded to flash. As long as you can reset it externally then you can run whatever you want and whenever you want.
However I still don't think the $3 one is worth bothering with. You'd be wanting to look more towards the $25 dollar one to make it worthwhile. They also do ones with usb interfaces, which would also be interesting as then it wouldn't be limited to the FPGA Arcade. Their debug adapter appears to use an xcore itself http://www.xmos.com/products/xkits/debug
-
At that point you are better off with a couple of 100MIPs ST32 micros at $5.00 each... Lots of code space, RAM, I/OS.
-
You can always get into XMOS programming with a US$99 USB device and a PC or Mac. They are quite nifty devices. I've been wanting to try one for a long time but have been distracted by another project.
-
I have used the Parallax P8 Propeller CPU on several designs I have done.
8 core CPU
http://www.parallax.com/propeller/
Very nice chip for the price and a lot of code available for use at http://obex.parallax.com/ .
Works a lot like Jim said he would have liked. Core for Video, Core of CPU, core for IO etc etc.
They already have done a lot of SID and other commodore projects on them as well.
If anyone wants a P8 CPU to play with, let me know. I have a few sitting around! Just PM me.
-
At that point you are better off with a couple of 100MIPs ST32 micros at $5.00 each... Lots of code space, RAM, I/OS.
Yes, that was my point. Not that having an additional processor is a bad thing, but having the $3 xmos is pointless for what we'd use it for.
Using the $99 dollar xcore development board would be insane, unless you're looking to mass produce something that will fit on it (I think the development boards use the more powerful chips anyway though).
-
what is the point of having foreign coprocessor on amiga/clone? it would either need to run its foreign native code, which does not exist, at least not yet. or had to run amiga chipset and/or 68k emulation, to take advantage of it. on x1k there in no single practical application for the xmos up till now. hard to expect it would be different on fpgaarcade. and if you want a coprocessor why not go for more powerful one? if you already want to attach a foreign device it could be an i7 as well...
-
what is the point of having foreign coprocessor on amiga/clone?
It's not an Amiga clone though, it can emulate anything.
The idea of using additional processors would be to reduce the strain on the fpga. So if you needed mp3 decoding you could offload that to another chip.
I'm not saying I think it's a good idea, put that is the point.
-
I have a lot of XMOS dev kits in my lab; I got them before they went through their renaming kick.
The $3 part being talked about here only seems to expose the internal OTP area that used to be meant for a boot loader to load code from an SPI flash.
It has "4 logical cores" - which really are just hardware threads. The previous chips supported up to eight threads per core, and were available in 1/2/4 core variants. Only single core devices were available in TQFP, for the dual core part (each core had 64KB of ram) you needed a QFN-like pakcage, and for the four core device, you needed to go BGA.
These days, for my own designs, I mostly use the Parallax propeller.
-
Ok, I was curious enough to check out the data sheet. The 4 "core" device can still boot of an SPI flash connected to the usual pins X0D00, X0D01, X0D10, X0D11 with an appropriate boot loader.
http://www.xmos.com/download/public/XS1-L4A-64-TQ48-Datasheet%28X2612B%29.pdf