Sadly, both processors lost to the dust, in the end. Back around 2005, there were a lot of people who couldn't spell dual though, and 'duel processor' machines were going for about half what people were paying people who could spell for 'dual processor' machines on eBay. It was an object lesson in the financial value of learning to spell...
lowRISC is cool, but it's not that useful for universities. For research (and teaching), FPGAs are much more useful because of the short turn-around. It takes me about 1-2 hours to go from making changes to our processor to finishing the boot of an OS on the FPGA and doesn't require anyone else's input (unless there are bugs, then some help is often useful!). The cycle for getting a chip fabbed is a much longer process, usually requiring a small team and a lot of money.
If you want a MIPS implementation that you can run in an FPGA, then we've built one and released it under an Apache-style license (not exactly the Apache license, because the Apache license says 'the software' in a lot of places). It's an implementation of a version of the (64-bit) MIPS ISA that is over 20 years old, so any relevant patents have expired. We've been using this in teaching for a couple of years (one exercise is to replace the branch predictor, for example). It's written in a high-level HDL, so more amenable to research and teaching uses, because the code is easy to make invasive changes to.
It's not clear what version of the MIPS ISA they're implementing (the article I read just said MIPS32, which covers a whole range of things). It sounds like it's MIPS32r6, which is not backwards compatible with any previous MIPS version. The only value of MIPS over something like RISC V (which is increasingly the standard ISA for computer architecture research) is that there's a large body of existing software for it, so you can do real evaluation.
We've done a clean-room reimplementation of MIPS III (R4K compatible) implementation in BlueSpec, which is a high-level HDL. MIPS III and the R4K are over 20 years old, so any architecture-specific patents will have expired. In comparison, this core is only 32-bit (really not interesting for research) and is written in a low-level HDL (making the kind of invasive changes that you want to do in research difficult), and is an ISA that has very little software support.
There were probably some people with very expensive AGP cards that were needed for some custom display hardware. I used a PCI (not PCIe) graphics card for a while because it was the only thing that could drive a small LCD monitor that I'd bought cheaply.
We use the Terasic DE4 for most things, but it's insanely expensive - definitely only a board to use if someone else is paying. The SoCKit is quite nice - much cheaper and has a dual-core ARM board. We've ported FreeBSD to the ARM (adding devices for programming the FPGA) and our MIPS-compatible softcore to the FPGA, with virtio communicating between the two, which makes it easy to play with heterogeneous multicore. It's mainly intended for prototyping accelerator cores and there's a fast cache-coherent interconnect between the ARM cores and the FPGA so it's quite a nice platform to play with if you want to try and offload computation to the FPGA. It's a fairly small FPGA by modern standards, but still big enough for our CPU, which is a 6-stage in-order pipeline with caches, TLB, branch predictor and so on.
It wasn't like that when they started. For one thing, the ads were just how they made money, the search was their core business and they did change web search considerably. I also remember that Google ads were quite disruptive. They only accepted plain text adverts and they used the contents of the page to identify relevant ads. This meant that, unlike their competitors, their ads were both relevant (I'm looking at a page about X, therefore I'm probably interested in buying X) and non-obtrusive. Now they try to personalise the ads (just because I was interested in X last week doesn't mean that I'm interested in buying X now, sorry) and they have annoying video ads.
Multi-core x86 processors only appeared well after PCI-E had taken hold
True, but SMP systems are older. I used a dual P3-700 for years, which I picked up cheaply on eBay because not many people searched for 'duel processor' (I think eBay now does some phonetic matching in their search). Before that, the ABit BP6 (1999) was quite popular. It ran two Celerons, so you could get a dual-processor machine for cheaper than a single-processor one (though you needed to run Windows NT or *NIX to be able to use the second one, as XP was the first SMP-capable consumer OS from MS). The 300MHz Celerons overclocked to 450MHz by bumping the FSB from 66MHz to 100MHz, making it quite competitive with the P2 (the L2 cache in the Celeron was half the size, but twice the speed, and the core was the same).
Really? Wikipedia tells me that kindergarten in the USA means up to age 6. By that time, I had been taught to read, write and do arithmetic (though I sucked at long division and found long multiplication hard until I was taught a third method a few years later). My handwriting is not much better now than it was then, though it did improve a bit in the middle as a teenager when I was writing on a regular basis.
I don't, but if you want to get the same fun without all of the old annoyances there are two things I'd recommend:
The first is to get an FPGA dev board. BlueSpec is a nice proprietary high-level HDL that is free for academic use, but if you don't qualify for that then CHISEL from Berkeley is also not bad - they're both a nice step above Verilog / VHDL.
The second is the mbed boards from various ARM partners. Some ARM folks handed me one of these to play with a few months back. These are aimed at getting embedded development to people who don't normally do it. They've got all of the fun I/O stuff from the BBC micro (plus some new stuff like USB and Ethernet) and a nicely put together development environment.
They're increasingly hard to justify though. Cortex-M cores are really, really cheap (M0 and M0+ especially) and a modern 32-bit instruction set can be a significant win. You can't justify a 16-bit microcontroller on cost grounds anymore, let alone an 8-bit one. The main places Z80s are used is in systems designed in the early '80s that would cost too much to change, but which need periodic repairs.
I've seen a few things recently that have taken an amusing middle ground and bought ARM cores and used them to run a Z80 emulator, because it was cheaper to get the associated peripherals to attach to the ARM core.
I don't understand why Microsoft wants to go down that path. Their big money comes from businesses. They should be trumpeting private clouds (buy Windows server, install on a rack, run all of the cloudy stuff that you want under control of your company) and privacy to actively differentiate themselves from Google.
I've spent a depressing amount of the last couple of weeks looking at hotel web sites to find somewhere to stay for a business trip. About a year ago, almost all of them would have used Google Maps for their location page. Now about half used Bing Maps. I was quite surprised by this, though I vaguely remember Google starting to charge businesses for using GMaps (it could also be that Google highlights all of the competing hotels in the map, which probably isn't something that hotels want...). I didn't find the Bing map any worse than the Google one. Both were annoying in different ways.
I expect Google to die in the same way that IBM died: it will still be a huge and influential player for a long time, but won't be the company that defines an industry that people care about. The same sort of path as Microsoft.
When I interviewed at Google a few years I was reminded of something that JWZ wrote about Netscape, claiming that it started to decline when it started hiring people who were there because it was a cool place to work, not because they wanted to change the world and believed in the things that the company was doing. Everyone I met at Google told me that I should would there because it was a cool place to work...
It obviously can be done, the question is whether it makes financial sense. It seems that, if it were cost-efficient to store electricity in LiIon batteries then the biggest buyers of them would be power companies, so maybe there's some market inefficiency that you can exploit by doing it in customers houses, but it even with that it sounds like it will have a very long ROI. I pay about £400/year for electricity (about $600). A $13K battery storage array would cost me the same as almost 22 years of electricity. Even if it reduced my electricity bills to zero, it would take 22 years for it to pay for itself. I think the overnight rate, if I switch to a tariff that has one, is about half of the normal rate, so it would actually take 44 years. Probably a bit less as electricity prices are likely to go up over the next few decades, but even with a 20 year ROI there are far better uses of my money.
Apparently a lot of the USA uses electricity for heating (and cooling). If you're using gas or oil for heating, then comparing your electricity usage to their energy usage is not an apples-to-apples comparison.
It depends on whether you're using electricity for heating. In the last quarter, we used about 7kWh/day of electricity, but about 23kWh/day of gas. If you're on electric heating (and live somewhere larger than me), then 48kWh doesn't sound too excessive.
Lawsuits don't have to be expensive, it depends on how much you're asking. If you claim, say, the cost of one year of Internet subscription then you're in the lowest bracket for small claims court filings (plus your time, which may be a lot more depending on how flexible your working hours are). The cost for the ISP to send someone is more than they're likely to lose, so you're very likely to get a default judgement against them. For added irony, you might ask for the ISP to be required to pay for you to transfer your subscription to A&A and pay the difference in the cost of Internet access for the next two years...
If you think architecture doesn't change much over time, then you haven't been paying attention to architecture. Lots of data structures from 10-15 years ago suck on modern hardware because of changes in the relative costs of cache and branch predictor misses, and that's just on a single machine. When you get into distributed systems then the relative speeds of networks and local storage have changed dramatically.
There's one more reason, which is that there are sometimes good reasons for writing your own sort routine. Specifically, if you have data that has a known distribution that lets you beat a comparison sort. One of the questions I was asked in a Google interview was along these lines. The point was not to see how well I could write code on a whiteboard or reproduce an algorithm from a textbook, it was to see if I could understand that the problem wasn't the same as 'sort arbitrary data', see if I could extract what properties of the problem made it amenable to optimisation, and see what tools I had for approaching that kind of optimisation.
And sometimes it's not about knowing if you can reproduce an algorithm, but about knowing whether you understand the limitations of a particular approach. Do you understand when that off-the-shelf quicksort library would do a terrible job on certain input data? In one interview, I discovered that my interviewer didn't know about hopscotch hash tables, but did know about cuckoo hashing, so we ended up with a discussion about what the overheads of the two approaches are and when either would be better.
People should be hired based on who is best for the job. Period.
If you have a mechanism for identifying, up front, who is best for a job requiring creativity and technical skill and is not subject to subconscious biases by interviewers then please let the rest of us know. I know a lot of companies that would be able to save huge amounts of money by replacing their hiring mechanisms with such a technique.
Banning running my own mail server for personal use? No. Banning a company running their own mail server? No. A company banning using my private email for company business? Sure, I'd be happy with that. The government banning government employees from using their personal email (or any third-party email provider) for government business? Absolutely!
a) it goes Mach 1.6, and b) it's virtually impossible to detect via RADR. If both a) and b) are true it's impossible to take out with missiles (which require a target of some sort before you can fire them)
Two things. First, Mach 1.6 is not that fast relative to the speed of air-to-air missiles. Sidewinders (from 1956) travel at Mach 2.5, modern AAMs exceed Mach 4. Second, RADAR is not the only way of targeting missiles. Modern anti-aircraft weapons use a combination of RADAR, IR, and acoustic targeting. The kinds of jet engines that can get you to Mach 1.6 basically paint an enormous IR arrow in the sky with the tip at your aircraft. This was old tech a decade ago.
This will, in theory, make every other combat aircraft anyone has ever designed obsolete.
No, they're going to be made obsolete by cheap semi-autonomous drones that can be launched en mass from aircraft carriers and can handle 20G turns for evasion, which gives them a massive advantage against missiles, which have very limited turning abilities.
Sadly, both processors lost to the dust, in the end. Back around 2005, there were a lot of people who couldn't spell dual though, and 'duel processor' machines were going for about half what people were paying people who could spell for 'dual processor' machines on eBay. It was an object lesson in the financial value of learning to spell...
lowRISC is cool, but it's not that useful for universities. For research (and teaching), FPGAs are much more useful because of the short turn-around. It takes me about 1-2 hours to go from making changes to our processor to finishing the boot of an OS on the FPGA and doesn't require anyone else's input (unless there are bugs, then some help is often useful!). The cycle for getting a chip fabbed is a much longer process, usually requiring a small team and a lot of money.
If you want a MIPS implementation that you can run in an FPGA, then we've built one and released it under an Apache-style license (not exactly the Apache license, because the Apache license says 'the software' in a lot of places). It's an implementation of a version of the (64-bit) MIPS ISA that is over 20 years old, so any relevant patents have expired. We've been using this in teaching for a couple of years (one exercise is to replace the branch predictor, for example). It's written in a high-level HDL, so more amenable to research and teaching uses, because the code is easy to make invasive changes to.
It's not clear what version of the MIPS ISA they're implementing (the article I read just said MIPS32, which covers a whole range of things). It sounds like it's MIPS32r6, which is not backwards compatible with any previous MIPS version. The only value of MIPS over something like RISC V (which is increasingly the standard ISA for computer architecture research) is that there's a large body of existing software for it, so you can do real evaluation.
We've done a clean-room reimplementation of MIPS III (R4K compatible) implementation in BlueSpec, which is a high-level HDL. MIPS III and the R4K are over 20 years old, so any architecture-specific patents will have expired. In comparison, this core is only 32-bit (really not interesting for research) and is written in a low-level HDL (making the kind of invasive changes that you want to do in research difficult), and is an ISA that has very little software support.
There were probably some people with very expensive AGP cards that were needed for some custom display hardware. I used a PCI (not PCIe) graphics card for a while because it was the only thing that could drive a small LCD monitor that I'd bought cheaply.
Any suggestions on that FPGA board?
We use the Terasic DE4 for most things, but it's insanely expensive - definitely only a board to use if someone else is paying. The SoCKit is quite nice - much cheaper and has a dual-core ARM board. We've ported FreeBSD to the ARM (adding devices for programming the FPGA) and our MIPS-compatible softcore to the FPGA, with virtio communicating between the two, which makes it easy to play with heterogeneous multicore. It's mainly intended for prototyping accelerator cores and there's a fast cache-coherent interconnect between the ARM cores and the FPGA so it's quite a nice platform to play with if you want to try and offload computation to the FPGA. It's a fairly small FPGA by modern standards, but still big enough for our CPU, which is a 6-stage in-order pipeline with caches, TLB, branch predictor and so on.
It wasn't like that when they started. For one thing, the ads were just how they made money, the search was their core business and they did change web search considerably. I also remember that Google ads were quite disruptive. They only accepted plain text adverts and they used the contents of the page to identify relevant ads. This meant that, unlike their competitors, their ads were both relevant (I'm looking at a page about X, therefore I'm probably interested in buying X) and non-obtrusive. Now they try to personalise the ads (just because I was interested in X last week doesn't mean that I'm interested in buying X now, sorry) and they have annoying video ads.
And it turns out that people were still launching boards with AGP in 2010. You can probably still buy one...
Multi-core x86 processors only appeared well after PCI-E had taken hold
True, but SMP systems are older. I used a dual P3-700 for years, which I picked up cheaply on eBay because not many people searched for 'duel processor' (I think eBay now does some phonetic matching in their search). Before that, the ABit BP6 (1999) was quite popular. It ran two Celerons, so you could get a dual-processor machine for cheaper than a single-processor one (though you needed to run Windows NT or *NIX to be able to use the second one, as XP was the first SMP-capable consumer OS from MS). The 300MHz Celerons overclocked to 450MHz by bumping the FSB from 66MHz to 100MHz, making it quite competitive with the P2 (the L2 cache in the Celeron was half the size, but twice the speed, and the core was the same).
Really? Wikipedia tells me that kindergarten in the USA means up to age 6. By that time, I had been taught to read, write and do arithmetic (though I sucked at long division and found long multiplication hard until I was taught a third method a few years later). My handwriting is not much better now than it was then, though it did improve a bit in the middle as a teenager when I was writing on a regular basis.
God I miss 80's computing.
I don't, but if you want to get the same fun without all of the old annoyances there are two things I'd recommend:
The first is to get an FPGA dev board. BlueSpec is a nice proprietary high-level HDL that is free for academic use, but if you don't qualify for that then CHISEL from Berkeley is also not bad - they're both a nice step above Verilog / VHDL.
The second is the mbed boards from various ARM partners. Some ARM folks handed me one of these to play with a few months back. These are aimed at getting embedded development to people who don't normally do it. They've got all of the fun I/O stuff from the BBC micro (plus some new stuff like USB and Ethernet) and a nicely put together development environment.
I've seen a few things recently that have taken an amusing middle ground and bought ARM cores and used them to run a Z80 emulator, because it was cheaper to get the associated peripherals to attach to the ARM core.
I don't understand why Microsoft wants to go down that path. Their big money comes from businesses. They should be trumpeting private clouds (buy Windows server, install on a rack, run all of the cloudy stuff that you want under control of your company) and privacy to actively differentiate themselves from Google.
I've spent a depressing amount of the last couple of weeks looking at hotel web sites to find somewhere to stay for a business trip. About a year ago, almost all of them would have used Google Maps for their location page. Now about half used Bing Maps. I was quite surprised by this, though I vaguely remember Google starting to charge businesses for using GMaps (it could also be that Google highlights all of the competing hotels in the map, which probably isn't something that hotels want...). I didn't find the Bing map any worse than the Google one. Both were annoying in different ways.
I expect Google to die in the same way that IBM died: it will still be a huge and influential player for a long time, but won't be the company that defines an industry that people care about. The same sort of path as Microsoft.
When I interviewed at Google a few years I was reminded of something that JWZ wrote about Netscape, claiming that it started to decline when it started hiring people who were there because it was a cool place to work, not because they wanted to change the world and believed in the things that the company was doing. Everyone I met at Google told me that I should would there because it was a cool place to work...
It obviously can be done, the question is whether it makes financial sense. It seems that, if it were cost-efficient to store electricity in LiIon batteries then the biggest buyers of them would be power companies, so maybe there's some market inefficiency that you can exploit by doing it in customers houses, but it even with that it sounds like it will have a very long ROI. I pay about £400/year for electricity (about $600). A $13K battery storage array would cost me the same as almost 22 years of electricity. Even if it reduced my electricity bills to zero, it would take 22 years for it to pay for itself. I think the overnight rate, if I switch to a tariff that has one, is about half of the normal rate, so it would actually take 44 years. Probably a bit less as electricity prices are likely to go up over the next few decades, but even with a 20 year ROI there are far better uses of my money.
Apparently a lot of the USA uses electricity for heating (and cooling). If you're using gas or oil for heating, then comparing your electricity usage to their energy usage is not an apples-to-apples comparison.
It depends on whether you're using electricity for heating. In the last quarter, we used about 7kWh/day of electricity, but about 23kWh/day of gas. If you're on electric heating (and live somewhere larger than me), then 48kWh doesn't sound too excessive.
Lawsuits don't have to be expensive, it depends on how much you're asking. If you claim, say, the cost of one year of Internet subscription then you're in the lowest bracket for small claims court filings (plus your time, which may be a lot more depending on how flexible your working hours are). The cost for the ISP to send someone is more than they're likely to lose, so you're very likely to get a default judgement against them. For added irony, you might ask for the ISP to be required to pay for you to transfer your subscription to A&A and pay the difference in the cost of Internet access for the next two years...
'sides, I'd get fired for Clarksoning their UI team.
Google has a UI team now?
If you think architecture doesn't change much over time, then you haven't been paying attention to architecture. Lots of data structures from 10-15 years ago suck on modern hardware because of changes in the relative costs of cache and branch predictor misses, and that's just on a single machine. When you get into distributed systems then the relative speeds of networks and local storage have changed dramatically.
There's one more reason, which is that there are sometimes good reasons for writing your own sort routine. Specifically, if you have data that has a known distribution that lets you beat a comparison sort. One of the questions I was asked in a Google interview was along these lines. The point was not to see how well I could write code on a whiteboard or reproduce an algorithm from a textbook, it was to see if I could understand that the problem wasn't the same as 'sort arbitrary data', see if I could extract what properties of the problem made it amenable to optimisation, and see what tools I had for approaching that kind of optimisation.
And sometimes it's not about knowing if you can reproduce an algorithm, but about knowing whether you understand the limitations of a particular approach. Do you understand when that off-the-shelf quicksort library would do a terrible job on certain input data? In one interview, I discovered that my interviewer didn't know about hopscotch hash tables, but did know about cuckoo hashing, so we ended up with a discussion about what the overheads of the two approaches are and when either would be better.
People should be hired based on who is best for the job. Period.
If you have a mechanism for identifying, up front, who is best for a job requiring creativity and technical skill and is not subject to subconscious biases by interviewers then please let the rest of us know. I know a lot of companies that would be able to save huge amounts of money by replacing their hiring mechanisms with such a technique.
Banning running my own mail server for personal use? No. Banning a company running their own mail server? No. A company banning using my private email for company business? Sure, I'd be happy with that. The government banning government employees from using their personal email (or any third-party email provider) for government business? Absolutely!
a) it goes Mach 1.6, and b) it's virtually impossible to detect via RADR. If both a) and b) are true it's impossible to take out with missiles (which require a target of some sort before you can fire them)
Two things. First, Mach 1.6 is not that fast relative to the speed of air-to-air missiles. Sidewinders (from 1956) travel at Mach 2.5, modern AAMs exceed Mach 4. Second, RADAR is not the only way of targeting missiles. Modern anti-aircraft weapons use a combination of RADAR, IR, and acoustic targeting. The kinds of jet engines that can get you to Mach 1.6 basically paint an enormous IR arrow in the sky with the tip at your aircraft. This was old tech a decade ago.
This will, in theory, make every other combat aircraft anyone has ever designed obsolete.
No, they're going to be made obsolete by cheap semi-autonomous drones that can be launched en mass from aircraft carriers and can handle 20G turns for evasion, which gives them a massive advantage against missiles, which have very limited turning abilities.