Atomic I/O letters column #102

Originally published 2009, in Atomic: Maximum Power Computing
Reprinted here February 3, 2010
Last modified 28-Apr-2012.
 

As accurately depicted in Stargate SG-1 and Superman: The Movie

Computers use electricity to run. The logic gates are made of silicon doped with other stuff, but they run on electricity, just like every historical one including the old analogue computers.

Is it possible for a research lab to build a fully functional CPU that runs on light, rather than electricity, with logic gates made of fancyglass that transmit laser beams? Would they still have the 10GHz internal switching limit that silicon CPUs currently have?

Alan

Answer:
You're talking about "photonic computing". Which exists, but is in its early stages.

One of the big early photonic efforts was to create all-optical networking hardware, so when you're moving slabs of data around via optic fibre you don't have to do it "electro-optically". That means converting your photonic data into electrons, then processing it in conventional computers, then converting it back into photons. Which is not fast.

We've got some all-optical network devices now, and their throughput is gigantic - processing speed is indeed a big advantage of photonics. But all-optical network hardware does very specialised jobs, like wavelength-division multiplexing and demultiplexing. That's where different wavelengths ("colours") of light, each carrying its own data stream, are combined and sent down one fibre, and then split up again at the other end so that colour-blind electro-optical hardware doesn't get confused.

There are also all-optical signal amplifiers, which mean long-haul fibres don't need performance-sapping electro-optical signal regenerators any more.

These are very important technologies, but they're a long way from general computation.

We've had "photonic transistors" since 1989, and even photonic integrated circuits, but they're miserably simple compared with the electronic versions. Current desktop CPUs are pushing into billion-transistor territory; as I write this, an optical IC with a hundred components on it is a big one.

At the moment, optical chips have to include several different kinds of component just to generate signals and move them around. This means you can't make an optical IC with one single manufacturing process, like you can if you're making a silicon chip that contains little more than zillions of plain transistors.

There are several non-electronic ways to process optical signals. Micro-electro-mechanical, "MEMS" systems, for instance, which can bounce light off minuscule mirrors; that's how DLP projectors work. There's also thermo-optics, using steam bubbles in a fluid to influence the light, and liquid-crystal systems, which use variants of existing LCD technology to block, pass and polarise light. It's possible that something like this, which isn't electronic but isn't really "photonic" either, will be the closest we ever get to a real "optical computer".

(Analogue computers, by the way, weren't all electrical. An analogue computer is anything that uses continuously-changeable physical properties to represent data. So a slide rule, for instance, is an analogue computer. There have also been several "water computers", which process data via water flowing between different reservoirs at different rates. The most notable of those was the "MONIAC", back in 1949, which modelled the economy of the UK in a far more comprehensible way than any other information system of the time, and inspired a rather more dangerous magical version in Terry Pratchett's "Making Money". There were mechanical digital computers, too; adding machines, for instance.)

 

Not Enough = Far Too Much

I have just built a new box (Gigabyte EX58-Extreme, i7 CPU, Sapphire 4850, 3GB Adata triple-channel RAM, Windows XP SP3 32-bit) and have hit a snag.

Some of my software refuses to run due to "not enough memory".

A bit of a Google led me to a thread suggesting the removal of one of the RAM modules because of some problem XP has with 3Gb. I gave it a go and sure enough everything works now.

WTF?!

Thing is, now I only have 2Gb, no triple-channel and a spare RAM stick that makes a pretty poor paperweight!

The software in question is good old "Ski Resort Tycoon". The error is a pop-up window:

Weird out-of-memory error

I have since put the full 3Gb back in and sure enough, the problem is back.

Is there any way around this that doesn't involve installing Vista? (Do I need XP64, 4Gb of RAM...?)

Russ

Answer:
"Out of memory" errors can be hard to figure out, but the error box was a dead giveaway this time.

It's not a Windows error, but one generated by Ski Resort Tycoon itself. (The wording is different from a Windows error, but the clincher is that the word "available" is misspelled. Say what you like about Microsoft, they do at least usually spell their errors correctly.)

So what this probably is, is a dumb free-memory checker that can't believe that anybody could have more than 2Gb of memory. It's like the installer errors I talk about in this old I/O column.

The first thing to try, if you haven't already, is going to the Properties of the game's program file, selecting the Compatibility tab, and choosing "Run this program in compatibility mode for:" some older flavour of Windows. Ski Resort Tycoon came out around the Win2000/WinXP change-over point, but it may be happier run in Win95 or Win98 mode. (If you were running Vista or Windows 7, you'd also have the option of running in WinXP compatibility mode.)

If that doesn't help - and it often doesn't - your next stop should be Virtual PC, a free package that lets you make a virtualised "client" PC within your own Windows "host" PC. The client PC can have pretty much whatever basic hardware specs you want, up to the actual specs of the computer it's running on.

Microsoft's site has for a while now had a mania for guiding you to the Windows 7 version of Virtual PC; you'll need an earlier version to be able to use anything but Windows 7 as the host operating system. That previous version is Virtual PC 2007 Service Pack 1; get the main package from Microsoft here and the service pack here.

The virtual PC works just like a real one. You can install any OS that you can install on a "real" PC, and then do anything with that OS that the host PC can handle. It'll be slower than running stuff directly on the host computer, so you probably don't want to try playing Crysis on the virtual PC. But you certainly can play older, less demanding games like Ski Resort Tycoon, on a virtual computer that you set up with only 1Gb of RAM, plus whatever other limitations may be necessary.

People also use virtual PCs to try out Linux, test possibly-malicious software, and so on. You can even play DOS games using Virtual PC, but DOSBox is a better solution for that.

(As Paul Thurrott explains here, PC-on-a-PC emulation also lets you take screenshots of things like OS installers and computers in the process of booting, which you can't otherwise do without pointing a camera at the screen.)

 

Warning: May lead to steampunk

My desktop is in a rather drab old beige full-tower AOpen case with three case fans but otherwise drab exterior. So I was thinking I would make it better by adding stuff.

I should point out before I have my subscription cancelled for not being Atomic enough by even owning this statement in boredom that it is my third home PC, and is only doing print server, Squid and web server duties. My main PC is shiny black, which alone makes it faster in my opinion.

Anyway my idea seems so simple there must be something wrong with it, so your input would be appreciated. I planned to get two panel meters, like these, and wire them onto a four-pin "Molex" plug off the power supply. One across the red wire to the black wire, and the other meter across the yellow wire to the other black wire.

Will this work? And more importantly, will this cause the magic smoke to escape from my motherboard/power supply, sending them to silicon heaven? It would be a bonus too if they provide any useful information. Like if I want to add a sixth hard drive I need a new power supply.

Mark

Answer:
Yep, it'll work fine. Some people put considerable work into contraptions like this, but just putting a meter across a PSU output will do.

Panel meters like the ones you're considering pretty much do what it says on the tin, and their large input impedance - 20 kiloohms, for the ones you're considering - means they add a trivial load to any power supply that isn't only meant to run a wristwatch. Connect one of these panel meters to a AA alkaline and the needle will slide down from a fresh 1.6 to a worn-out 0.8 volts over the course of, oh, I'd bet on between six and seven years.

Even quite large analogue voltmeters have very high input impedance. The bigger the meter the more power it'll need to move its needle against the force of the return spring, but a PC power supply won't notice even a huge voltmeter. So feel free to hunt around eBay for antique meters from power stations or battleships. Any DC meter with an appropriate voltage range should work.

And yes, analogue meters like this can provide useful diagnostic info. But unless you get meters with narrow voltage ranges, you're going to have to look pretty closely.

(Digital panel meters are easier to read, and have high input impedance too, but are of course less fun. They also need a separate power-supply wire, to feed them usually-5V at not very many milliamps.)

Current meters (ammeters), not that you asked, are a bit trickier. They're physically similar to voltmeters, with pretty high input impedance. But you have to put an ammeter in series with a load, to measure current through the circuit. If you put a high-impedance device in series with a load that has much lower impedance, the load won't work any more. (See also grabbing the terminals of a car battery, which will not electrocute you.)

So instead, you connect an ammeter in parallel with a carefully-calibrated extremely-low-value resistor called a "shunt", which is likely to have rather lower resistance per length than the wire in the rest of the circuit.

Shunt resistor
(The specs on the side of this shunt, plus Ohm's Law, tell us that it's a 0.0006-ohm resistor.)

Then you put the shunt in series with the load, so the ammeter's measuring the (very small) voltage across the shunt.

This is how the current range on a multimeter works. If you take the multimeter apart, you can often see the shunt, which may just be some thick copper wire with a calibrated notch in it.

Jaycar Electronics have a neat little PDF info sheet about this.

 

This is a reprint of a column originally published in Atomic: Maximum Power Computing magazine here in Australia. The e-mail address for the I/O column is io@atomicmpc.com.au, but I can't answer all of the letters I get.

If you're not an Atomic reader, then sending mail to their letters address is somewhat perverse. Use this alternative instead.

Other letters columns

I/O #1
I/O #2
I/O #3
I/O #4
I/O #5
I/O #6
I/O #7
I/O #8
I/O #9
I/O #10
I/O #11
I/O #12
I/O #13
I/O #14
I/O #15
I/O #16
I/O #17
I/O #18
I/O #19
I/O #20
I/O #21
I/O #22
I/O #23
I/O #24
I/O #25
I/O #26
I/O #27
I/O #28
I/O #29
I/O #30
I/O #31
I/O #32
I/O #33
I/O #34
I/O #35
I/O #36
I/O #37
I/O #38
I/O #39
I/O #40
I/O #41
I/O #42
I/O #43
I/O #44
I/O #45
I/O #46
I/O #47
I/O #48
I/O #49
I/O #50
I/O #51
I/O #52
I/O #53
I/O #54
I/O #55
I/O #56
I/O #57
I/O #58
I/O #59
I/O #60
I/O #61
I/O #62
I/O #63
I/O #64
I/O #65
I/O #66
I/O #67
I/O #68
I/O #69
I/O #70
I/O #71
I/O #72
I/O #73
I/O #74
I/O #75
I/O #76
I/O #77
I/O #78
I/O #79
I/O #80
I/O #81
I/O #82
I/O #83
I/O #84
I/O #85
I/O #86
I/O #87
I/O #88
I/O #89
I/O #90
I/O #91
I/O #92
I/O #93
I/O #94
I/O #95
I/O #96
I/O #97
I/O #98
I/O #99
I/O #100
I/O #101
I/O #102
I/O #103
I/O #104
I/O #105
I/O #106
I/O #107
I/O #108
I/O #109
I/O #109
I/O #110
I/O #111
I/O #112
I/O #113
I/O #114
I/O #115
I/O #116
I/O #117
I/O #118
I/O #119
I/O #120
I/O #121
I/O #122
I/O #123
I/O #124
I/O #125
I/O #126
I/O #127
I/O #128
I/O #129
I/O #130
I/O #131
I/O #132
I/O #133
I/O #134
I/O #135
I/O #136
I/O #137
I/O #138
I/O #139
I/O #140
I/O #141
I/O #142
I/O #143
I/O #144
I/O #145
I/O #146
I/O #147
I/O #148
I/O #149
I/O #150
I/O #151
I/O #152
I/O #153
I/O #154
I/O #155
I/O #156
Dan's Data letters #1
Dan's Data letters #2
Dan's Data letters #3
Dan's Data letters #4
Dan's Data letters #5
Dan's Data letters #6
Dan's Data letters #7
Dan's Data letters #8
Dan's Data letters #9
Dan's Data letters #10
Dan's Data letters #11
Dan's Data letters #12
Dan's Data letters #13
Dan's Data letters #14
Dan's Data letters #15
Dan's Data letters #16
Dan's Data letters #17
Dan's Data letters #18
Dan's Data letters #19
Dan's Data letters #20
Dan's Data letters #21
Dan's Data letters #22
Dan's Data letters #23
Dan's Data letters #24
Dan's Data letters #25
Dan's Data letters #26
Dan's Data letters #27
Dan's Data letters #28
Dan's Data letters #29
Dan's Data letters #30
Dan's Data letters #31
Dan's Data letters #32
Dan's Data letters #33
Dan's Data letters #34
Dan's Data letters #35
Dan's Data letters #36
Dan's Data letters #37
Dan's Data letters #38
Dan's Data letters #39
Dan's Data letters #40
Dan's Data letters #41
Dan's Data letters #42
Dan's Data letters #43
Dan's Data letters #44
Dan's Data letters #45
Dan's Data letters #46
Dan's Data letters #47
Dan's Data letters #48
Dan's Data letters #49
Dan's Data letters #50
Dan's Data letters #51
Dan's Data letters #52
Dan's Data letters #53
Dan's Data letters #54
Dan's Data letters #55
Dan's Data letters #56
Dan's Data letters #57
Dan's Data letters #58
Dan's Data letters #59
Dan's Data letters #60
Dan's Data letters #61
Dan's Data letters #62
Dan's Data letters #63
Dan's Data letters #64
Dan's Data letters #65
Dan's Data letters #66
Dan's Data letters #67
Dan's Data letters #68
Dan's Data letters #69
Dan's Data letters #70
Dan's Data letters #71
Dan's Data letters #72
Dan's Data letters #73
Dan's Data letters #74
Dan's Data letters #75
Dan's Data letters #76
Dan's Data letters #77
Dan's Data letters #78
Dan's Data letters #79
Dan's Data letters #80
Dan's Data letters #81
Dan's Data letters #82
Dan's Data letters #83
Dan's Data letters #84
Dan's Data letters #85
Dan's Data letters #86
Dan's Data letters #87
Dan's Data letters #88
Dan's Data letters #89
Dan's Data letters #90
Dan's Data letters #91
Dan's Data letters #92
Dan's Data letters #93
Dan's Data letters #94
Dan's Data letters #95
Dan's Data letters #96
Dan's Data letters #97
Dan's Data letters #98
Dan's Data letters #99
Dan's Data letters #100
Dan's Data letters #101
Dan's Data letters #102
Dan's Data letters #103
Dan's Data letters #104
Dan's Data letters #105
Dan's Data letters #106
Dan's Data letters #107
Dan's Data letters #108
Dan's Data letters #109
Dan's Data letters #110
Dan's Data letters #111
Dan's Data letters #112
Dan's Data letters #113
Dan's Data letters #114
Dan's Data letters #115
Dan's Data letters #116
Dan's Data letters #117
Dan's Data letters #118
Dan's Data letters #119
Dan's Data letters #120
Dan's Data letters #121
Dan's Data letters #122
Dan's Data letters #123
Dan's Data letters #124
Dan's Data letters #125
Dan's Data letters #126
Dan's Data letters #127
Dan's Data letters #128
Dan's Data letters #129
Dan's Data letters #130
Dan's Data letters #131
Dan's Data letters #132
Dan's Data letters #133
Dan's Data letters #134
Dan's Data letters #135
Dan's Data letters #136
Dan's Data letters #137
Dan's Data letters #138
Dan's Data letters #139
Dan's Data letters #140
Dan's Data letters #141
Dan's Data letters #142
Dan's Data letters #143
Dan's Data letters #144
Dan's Data letters #145
Dan's Data letters #146
Dan's Data letters #147
Dan's Data letters #148
Dan's Data letters #149
Dan's Data letters #150
Dan's Data letters #151
Dan's Data letters #152
Dan's Data letters #153
Dan's Data letters #154
Dan's Data letters #155
Dan's Data letters #156
Dan's Data letters #157
Dan's Data letters #158
Dan's Data letters #159
Dan's Data letters #160
Dan's Data letters #161
Dan's Data letters #162
Dan's Data letters #163
Dan's Data letters #164
Dan's Data letters #165
Dan's Data letters #166
Dan's Data letters #167
Dan's Data letters #168
Dan's Data letters #169
Dan's Data letters #170
Dan's Data letters #171
Dan's Data letters #172
Dan's Data letters #173
Dan's Data letters #174
Dan's Data letters #175
Dan's Data letters #176
Dan's Data letters #177
Dan's Data letters #178
Dan's Data letters #179
Dan's Data letters #180
Dan's Data letters #181
Dan's Data letters #182
Dan's Data letters #183
Dan's Data letters #184
Dan's Data letters #185
Dan's Data letters #186
Dan's Data letters #187
Dan's Data letters #188
Dan's Data letters #189
Dan's Data letters #190
Dan's Data letters #191
Dan's Data letters #192
Dan's Data letters #193
Dan's Data letters #194
Dan's Data letters #195
Dan's Data letters #196
Dan's Data letters #197
Dan's Data letters #198
Dan's Data letters #199
Dan's Data letters #200
Dan's Data letters #201
Dan's Data letters #202
Dan's Data letters #203
Dan's Data letters #204
Dan's Data letters #205
Dan's Data letters #206
Dan's Data letters #207
Dan's Data letters #208
Dan's Data letters #209
Dan's Data letters #210



Give Dan some money!
(and no-one gets hurt)