Linux Running On Intel XScale CPU
Erik Mouw writes: "Just want to let you know that Nicolas Pitre (nico@cam.org) and I got Linux running on the Intel 80200 XScale CPU. Nico did the largest part of the work during the past couple of weeks, and we did the final bug fixes in a hotel room in New York. The official announce of the patch is available at the linux-arm-announce mailing list archive." The board was on display at the MontaVista booth at Linux World Expo, one of the several tiny Linux set-ups on tantalizing display around the show floor for everything from vending machines to cheap PDAs. (No Yopy in sight, though, despite the fact that development models are
available for sale.) Congratulations to Erik and Nicolas.
Are the Thumb and ARM instruction sets on the XScale mutually exclusive, or is there some way for Linux to use Thumb instructions --- for example in user-mode processes only?
And an even more fundamental question: does gcc support the Thumb instruction set at all?
Finally, what is the relationship between the XScale and Atmel's 91AT series, which also features a combination of ARM and Thumb instruction sets?
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Until recently, handhelds like the Palm and its WinCE clones didn't need much smarts. That's rapidly changing.
Just a question, if you really do have internal access to the X-scale stuff. This MHz based on voltage sounds suspiciously like asynchronous processing, in which changing the input voltage changes the rate at which signals pull up or down.
Is it some clock like signal that is asynchronous? Or are portions of the control pipeline asynchronous? Or is this just terribly nifty synchronous logic?
Geek dating!
GPL Deconstructed
And if you read Intel's sales pitch, they are talking about applications far beyond traditional I/O processing. Traditional I/O processing requires a little bit of bit pattern matching, maybe some error correction, some compression, a few traditional data structures, and copying lots of data around fast.
For this chip, Intel is talking about "extremely complex applications", "processor intensive calculations", "rich content", and all that. And even in the domain of fairly traditional I/O, statistical and other numerical techniques become increasingly important: you need to predict traffic patterns, calculate optimal routes, predict resource utilization, model statistical distributions, etc. Coding and compression algorithms for media are also usually much more easily formulated with floating point.
Now I'll ask you to reconsider your original post, from my perspective it echos the long running x86 vs PPC or CISC vs RISC arguements. Without your subsequent clarifying messages it read as an ill-informed attack on Intel and on the efforts to port Linux to this chip.
Your original message comes through clearer now I think, why base a media capable PDA on this when you'll waste that extra processing (or battery) power on FP emulation.
Bleh!
http://www.ti.com/calc/docs/faq/83faq067.htm
without the extra %0D at the end...
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Please explain why you think Linux is a bad choice for say, the Tivo video recorder, or might not be a better choice than Windows for car automation.
People port Linux to different platforms for the same reason that people are interested in using it for embedded applications: because the source code is open, can be customized as needed, and because it's extremely configurable.
Point me to the wonderful open source embedded OS that you have in mind, and perhaps we'll all start using it.
Sounds cool - for the vast majority of us who do very little high-speed floating point, and would much rather have DSP features like a fast MAC (:-), this would be a really good machine. What kind of hardware did you use - the Intel 80310 evaluation board? How much hardware did you have to add around it? Looks like there are a few PCI slots, ether and RAM, so it shouldn't be too hard to add a video an d a disk controller of some sort.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Yes, there *IS* a lot of "overlap" between the applications of the two. Regardless, my original statements hold true on how and who for the Pentium microprocessor is designed versus how and who for the StrongARM microcontroller is designed.
Microprocessors range from simplistic, single-issue CPUs to the nine-issue, massively buffered K7. Microcontrollers range from basic 8-bit cores to the 32-bit superpipelined StrongARM with external, co-processor options.
Your application will be the best judge of what to use.
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
This is trollbait, but i'll bite regardless.
On your point with respect to detecting hardware, "Any OS should be able to automatically detect hardware", have you ever considered even for a second that not all hardware cannot be reliably detected? Yes, that's right, that isa ne2k card that you plugged in your computer 5 minutes ago might just hang your system. Go ahead windows find my hardware right now for me.
My mother recently got a computer, it has NT 5 on it. She comes across things she HATES about windows on a regular basis, she likes some of the things my unix system at home has. She has never owned a computer until recently. Your argument about unix (you mentioned linux specifically) as being 2 parts gui and 500 parts command line, this is rather a moot point considering windows is very similar if you want the same functionality as a unix system. You also
seemed to have entirely ignored OS-X and NeXTstep (on which I am typing this now).
In short, you should probably go back. Erase all your preconceptions and bias and then look again. Short term and then again long term.
In the short term perhaps windows will win. But long term windows has no fucking chance.
I've got one of the Intel 80200 evaluation boards on my desk at work. They're reallllly nice CPU's..
:)
They run existing ARM code. Intel has a "porting guide" that's only a few pages long, mentioning hardly used features of the original chips. The only big difference is that the don't support thumb mode anymore, which isn't a huge loss.
They change their clock speed depending on the input voltage. Yes, you heard me right. Wanna slow the system down? Don't bother with changing clock generators and the such, just bring Vcc lower. It's very cool. Even at full speed, it only draws a few watts. And of course, no heatsink needed.
It's faaaaaaaaaaast. As long as you don't need floating point, it's actually a very competitive chip. You can check intel's site for actual benchmarks, but I was very surprised.
It's small. It's in a BGA package less than an inch square. The PCI-PCI bridge they used on the sample board is several times larger than the CPU itself, I had to look several times to find it.
It's cheap. I don't think my NDA with Intel allows me to discuss the pricing we have, but.... They're cheap enough to put in a PDA for sure.
I hope this chip really takes off, because there are so many cool things I'd love to do with it.
-- Kevin
It's an ARM chip that Intel is positioning for "compute intensive" applications, "low power consumption", "rich media", and "handhelds".
More importantly, the context of this posting is that someone booted Linux on it and that people built PDAs based on this processor, so it's not just being used as an I/O controller for RAIDs.
Besides, I was under the impression most handwriting recognition was image processing anyway, which is usually integer based.
Handwriting and speech recognition involve lots of statistical modeling, which is floating point based. You can convert those algorithms to fixed point, but that's a lot of work, since you need to make sure that you scale everything correctly.
32-bit interpolated interger math is much faster than single-precision floating-point -- important for things like real-time speech recognition.
I suggest you do some actual benchmarks on real processors. On a few processors, what you say is true. On most modern processors, you actually often get faster performance if you implement using FP because integer arithmetic (for loops and indexes) and FP arithmetic can happen in parallel.
The main issues were the architecture specific start code, interrupts, memory management. Oh, and some small changes in the MTD drivers to support the XScale.
Erik
You say a lot about why ARM/XScale processors are not used for general-purpose - and particularly mobile - computing, but not much about why they can not or should not be used in such applications. Seems to me that a processor that's a little slower than a Pentium/Athlon but that dissipates a ton less power/heat would be a big win in many general-purpose environments. Crusoe, which has similar characteristics, is already being touted for both mobile and high-density server applications - by people who know a lot more about pipelines and functional units than you do.
So, the question is: what's wrong with considering an XScale processor for general-purpose use? Is there a real technical stumbling block involved, or is it just a matter of "you should follow the pack"?
Slashdot - News for Herds. Stuff that Splatters.
Since XScale uses the ARM ISA and Linux already supports ARM, I would assume only minor changes (drivers and model-specific stuff) are needed. But I can't resist asking anyway.
How much longer until I can get linux on my TI-92?? I can imagine that compile times might be a little high, but hey... at least it'd look like you're doing work in class... =)
-Andy
Slashdot's gone cold I'm wondering why I got out of bed at all
The morning rain clouds up my window and I can't see at all
And even if I could it'll all be gray but your picture on my wall
It reminds me, that it's not so bad -- it's not so bad
Dear Rob, I wrote but you still ain't callin
I left my email, my ICQ, and my yahoo chat at the bottom
I sent two emails back in autumn, you must not-a got 'em
There probably was a problem with your sendmail or somethin
Sometimes I scribble email addees too sloppy when I jot 'em
but anyways; fsck it, what's been up? Man how's your boxes?
My boxes is linux too, I'm bout to be a compiler
once I learn gcc,
I'ma compile for miles ah
I read about your Palm Pilot too I'm sorry
I had a friend lose his Palm over at the airport in Maradonna
I know you probably hear this everyday, but I'm your biggest fan
I even read all your bullshit Linux news and BSD scams
I got a room full of your posters and your pictures man
I like the way you sold your ass too that shit was fat
Anyways, I hope you get this man, hit me back,
just to chat, truly yours, your biggest fan
This is Stan
Dear Rob, you still ain't called or wrote, I hope you have a chance
I ain't mad - I just think it's FUCKED UP you don't answer fans
If you didn't wanna talk to me outside your Linux World
you didn't have to, but you coulda signed an autograph for Matthew
That's my Senior sys admin he's only 26 years old
We waited on a 9600 baud for you,
four hours and you just said, "No."
That's pretty shitty man - you're like his fsckin idol
He wants to be just like you man, he likes you more than I do
I ain't that mad though, I just don't like bein lied to
Remember when we met in Boston - you said if I'd write you
you would write back - see I'm just like you in a way
I never had a clue about shit either
I gcc'd shit with my wife then beat her
I can relate to what you're saying in your page
so when I feel like rmusering I read Slashdot to being the rage
cause I don't really got shit else so that shit helps when I'm depressed
I even got a tattoo of slashdot across the chest
Sometimes I even packet myself to see how much it floods
It's like adrenaline, the DDoS is such a sudden rush of blood
See everything you say is real, and I respect you cause you tell it
My girlfriend's jealous cause I talk about you 24/7
But she don't know you like I know you Rob, no one does
She don't know what it was like for people like us growin up
You gotta call me man, I'll be the biggest fan you'll ever lose
Sincerely yours, Stan -- P.S.
We should be together too
Dear Mister-I'm-Too-Good-To-Call-Or-Write-My-Fans,
this'll be the last packet I ever send your ass
It's been six months and still no word - I don't deserve it?
I know you got my last two emails
I wrote the @ signs on 'em perfect
So this is my payload I'm sending you, I hope you hear it
I'm on my modem now, I'm doing 9600 on the infohiway
Hey Rob, I drank a fifth of vodka, you dare me to code?
You know the song by Deep Purple by Depache Mode
its irrelevant by playing on my linux player
while I write some php scripts and play some Dragonslayer
That's kinda how shit is, you coulda rescued me from drowning
Now it's too late - I'm on a 1000 downloads now, I'm drowsy
and all I wanted was a lousy letter or a call
I hope you know I ripped +ALL+ of your pictures off the wall
I love you Rob, we coulda been together, think about it
You ruined it now, I hope you can't sleep and you dream about it
And when you dream I hope you can't sleep and you SCREAM about it
I hope your conscience EATS AT YOU and you can't BREATHE without me
See Rob {*screaming*} Shut up bitch! I'm tryin to page
Hey Rob, that's my senior admin screamin in the cage
but I didn't cut the power off, I just rebooted, see I ain't like you
cause if he works some harder he'll suffer more, and then the boxes die too
Well, gotta go, I'm almost BGP bridged
Oh shit, I forgot, how'm I supposed to send this packet out?
Dear Stan, I meant to write you sooner but I just been busy
You said your box is running now, how'd you like your gcc?
Look, I'm really flattered you would install 7.0 Redhat
and here's an autograph for your senior admin
I wrote it on the Starter cap
I'm sorry I didn't see you at the show, I musta missed you
Don't think I did that shit intentionally just to diss you
But what's this shit you said about you like to DDoS lamers too?
I say that shit just clownin dogg,
c'mon - how fucked up is you?
You got some issues Stan, I think you need some counseling
so heres some more Linux stories to keep your as busy when you get down some
And what's this shit about us meant to be together?
I already have a boyfriend Timothy he gets me wetter
I really think you and your boxes need each other
or maybe you just need to treat them better
I hope you get to read this letter, I just hope it reaches you in time
before you hurt yourself, I think that you'll be doin just fine
if you relax a little, I'm glad I inspire you but Stan
why are you so mad? Try to understand, that Linux and MS is just grand
I just don't want you to do some crazy shit
I seen this one shit on the news a couple weeks ago that made me sick
Some dude was drunk and switched his router for a bridge
and his packets were blackholed, and his DNS couldn't get digged
and in the colo they found a tape, but they didn't say who it was to
Come to think about, his name was.. it was you
Damn!
360 degrees of Karma
Besides, the Motorola Dragonball of the Palm isn't that fast in FP performance either. And you can always buy the coprocessor if need be. I think it's a great processor.
Just my 5c.
First off, please take note of the ISA (instruction set architecture) compatibility: it's 32-bit StrongARM! Of which, like ARM, is strictly a microcontroller without floating-point! So your "analysis" of Intel's design is from a standpoint of complete ignorance.
Again, this is a microcontroller, and NOT a general purpose "microprocessor." It's usually made for throwing data around in non-user devices like RAID controllers, backbone network switches (ones with lots of ports that require more than a basic ASIC, application specific integrated circuit), and the like. End-user devices make up only a fraction of the microcontroller market, and their integer-only functionality is quite sufficient.
And since it is only 32-bit, 32-bit interpolated integer math is just as good (or better) than 32-bit, single-precision floating-point for the end-user applications you mentioned. Besides, I was under the impression most handwriting recognition was image processing anyway, which is usually integer based. It has SIMD (single instruction, multiple data) that you'll find in general purpose microprocessor extensions like MMX and SSE. I cannot think of any application where you'd need the definition of 64-bit, or higher, double-precision outside of the range of non-science/engineering, end-user applications. 32-bit interpolated interger math is much faster than single-precision floating-point -- important for things like real-time speech recognition.
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
This processor is for RAID controllers and similar I/O processing situations. Its not 'crippled', it is designed for a certain task, just as the x86 processors are designed for backwards compatibility.
The real moron is the moderators who marked this insightful, it is neither insightful nor particularly relevant.
Bleh!
Please, please, stop any comparison, debate or otherwise general ignorant commentary on Intel's StrongARM microcontrollers versus their Pentium microprocessors. They are two very different breeds of products!
Here's some major design differences:
[ Side note: the AMD Athlon uses 9 pipes. Which goes a long way to describing why a 9 pipe x 20 stage Athlon kicks the living crap out of a 6 pipe x 20 stage Pentium IV, MHz for MHz -- especially when combined with the fact that the Athlon only loses an average of 10 stages on a branch mis-predict, whereas all Pentiums have to flush all pipes -- a loss of all 20 stages on a Pentium IV. Even the 6 pipe x 10 stage Pentium III can handle itself against a Pentium IV -- more stages is usually less efficient and more troublesome (especially on branch mis-predicts), although required for OO, timing and other scalability issues. ]
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
More importantly, the context of this posting is that someone booted Linux on it and that people built PDAs based on this processor, so it's not just being used as an I/O controller for RAIDs.
Yes. But, and I hope you agree with:
On most modern processors, you actually often get faster performance if you implement using FP because integer arithmetic (for loops and indexes) and FP arithmetic can happen in parallel.
A well informed post, greatly appreciate the insight. So now I ask:
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
XScale isn't just an embedded CPU; its predecessor StrongARM was used in the NetWinder desktop machine a few years back. Now that XScale is up to ~700 MHz we might see an ARM comeback in non-embedded systems.
Intel delivered this kind of crippled hardware before and got a big market share compared to slightly more expensive and considerably more usable processors.
XScale is nothing but the next generation StrongARM processor, which was developed by DEC at least five years ago.
It's funny how when DEC had it, everybody thought the StrongARM was the best thing since sliced bread. That Netwinder machine shipped with Linux and was at the top of ever geek's wantlist. ALl without FP. Suddenly Intel bought it, and now it's poison. It is obvious that your agenda is not based on technical merit; you are merely out to debase Intel's brand name, and don't care about the atcual quality of the products.
FYI, XScale is 17 times faster, and uses 1/3 the power of, the Dragonball processor which is shipped in Palm's (which also doesn't do floating point). The Dragonball has much higher marketshare, at least in the PDA market. So why don't you go around spending your time debasing the Dragonball?
Let's not let them get away with it again: if it doesn't do floating point, don't waste your time porting stuff that is more easily expressed using floating point to it.
Better yet: Don't waste your time being an Intel hater.
I know its slightly off topic, but I feel that it needs to be said (and no flames fromt eh HP calc people)
How about some form of unix (maybe NetBSD) for the TI-89? Its got a MOT 68k running at 8MHz/10MHz (rev a/b), 2MB EEPROM, and 1MB RAM. How about it?
Mark Duell
"as if Intel will kill its cash cow pentium line."
No, instead, they bought ARM, and continued making and promoting their products to kill that line?
Also, linux *is* good for embedded systems - juts not super-tiny embedded systems. There's a continuum from microwave to supercomputer. Linux fills some range of that, and that range intersects with the range of systems that we cll "embedded".
Become a FSF associate member before the low #s are used