Live data from Hacker News

Space Shuttle computer has 1MB of RAM

astroblog.cosmobc.com

51–60 of 60 posts

Re: Space Shuttle computer has 1MB of RAM

#51
post #35
post #33

Earlier quoted context omitted.

I'd imagine they go by if it's not in the spec it's not a bug. They can't do something not in the spec. It was a known limitation, not a "bug".

It was a known limitation, not a "bug". That pretty strongly implies that all known strange-behavior is not a bug. Also, all known bugs are not bugs, as they can be known and worked around. If you had to shut down your computer during the year cross-over, would you consider it a bug? Or what if you couldn't go on your business trip because of the year cross-over. And a bug in the spec is still a bug. Oversights in sp…

The difference is that NASA uses systems engineers. From their point of view, it is not the "program" which can have bugs, but rather the "system" in its entirety—where "system" consists of the software, the hardware in the field, the hardware in the control center, and all the operations staff paid to perform certain tasks (i.e. execute algorithms—basically additional hardware.) If one part of your system (the software) needs to be rebooted, but another part (the people) is "programmed" to do it autonomously, then the system as a whole has no bugs.

It's sort of the thinking that goes into Erlang programs—rather than, say, thinking out complex GC strategies, you just create little process-sized vessels which grow, overflow, are killed, and then are recreated by other processes. It's not a "bug" that an individual process has died any more than it's a bug when one of the cells in your body dies.

Re: Space Shuttle computer has 1MB of RAM

#53

I remember my Digital Circuits prof saying the Apollo Flight Computer was constructed out of thousands of NOR-gates. At the time I was struggling to comprehend how to construct a basic circuit, so I was wow'd (and still am). http://en.wikipedia.org/wiki/Apollo_Guidance_Computer

That is'nt very surprising for a person working the semiconductor design industry. Actually there are no AND/OR/NOT gates fabricated on a modern IC. They are all NAND gates, since they have better electrical characteristics and are Universal Gates (they can form AND/OR/NOT gates in some combination). What is surprising is that they used NOR gates - while they are Universal Gates as well, their fabrication apparently…

NAND gates have two PMOS (pull-up) transistors in parallel and two NMOS (pull-down) transistors in series. This matches well with most CMOS processes, in which NMOS are faster. NOR gates have two PMOS in series and two NMOS in parallel, so either your pull up time will be significantly longer than your pull down time, or you're going to have to make the PMOS pretty big.

None of this really mattered at the time; the Apollo used resistor-transistor logic (RTL), which in turn used bipolar junction transistors (BJTs) instead of the CMOS (C is for complementary, meaning NMOS and PMOS) used for most digital logic today. In RTL (there are analogous logic families using CMOS too), instead of having a pull-up network of transistors, there is a weak pull-up resistor that makes the output high by default, unless it is pulled down by a network of (usually NPN) BJTs. In the case of an RTL NOR gate, it is just a bunch of NPN BJTs in parallel for the pull-down network, so it's pretty efficient ( http://www.play-hookey.com/digital/experiments/rtl_nor4.html ).

Sorry for the longish post.

Re: Space Shuttle computer has 1MB of RAM

#54
post #16
post #10

Earlier quoted context omitted.

And it's 260 engineers to write 420 KLOC. This is why software is buggy; it's to expensive to make it not buggy.

And it required 380 engineers to build the Burj Dubai. The only difference is for most software projects it is acceptable to have "bugs" as customers will still pay for it, even if it's in a poor state of quality. But "bugs" in a 2,717 ft tower are unacceptable. It comes down to, in general the cost of a bug in most software is relatively low compared to other engineering disciplines. Of course if the software is cri…

Last week all the public parts of the Burj Dubai were closed for maintenance. I guess they did have some bugs.

Re: Space Shuttle computer has 1MB of RAM

#55
post #53

Earlier quoted context omitted.

That is'nt very surprising for a person working the semiconductor design industry. Actually there are no AND/OR/NOT gates fabricated on a modern IC. They are all NAND gates, since they have better electrical characteristics and are Universal Gates (they can form AND/OR/NOT gates in some combination). What is surprising is that they used NOR gates - while they are Universal Gates as well, their fabrication apparently…

NAND gates have two PMOS (pull-up) transistors in parallel and two NMOS (pull-down) transistors in series. This matches well with most CMOS processes, in which NMOS are faster. NOR gates have two PMOS in series and two NMOS in parallel, so either your pull up time will be significantly longer than your pull down time, or you're going to have to make the PMOS pretty big. None of this really mattered at the time; the A…

oh wow.. I had completely forgotten about RTL.

Thanks for the explanation.

Re: Space Shuttle computer has 1MB of RAM

#56
post #10

Here is an article about developing the 'perfect' software that runs the shuttle: "They Write the Right Stuff" http://www.fastcompany.com/node/28121/print

And it's 260 engineers to write 420 KLOC. This is why software is buggy; it's to expensive to make it not buggy.

That's just a bad excuse.

Re: Space Shuttle computer has 1MB of RAM

#57
post #23

Earlier quoted context omitted.

http://en.wikipedia.org/wiki/Functional_completeness nand is more likely.

I don't think that the wiki article you cite supports your claim -- it states that nand and nor are both functionally complete but does not (at the time of this writing) indicate why nand would be more likely.

The last sentence of that article states, "In particular, all logic gates can be assembled from binary NAND gates." It doesn't mention NOR in the same context for good reason. NAND gates are preferred because they are more cost effective.

"In complicated logical expressions, normally written in terms of other logic functions such as AND, OR, and NOT, writing these in terms of NAND saves on cost, because implementing such circuits using NAND gate yields a more compact result than the alternatives."

http://en.wikipedia.org/wiki/NAND_gate

Also see sandGorgon's comment above: http://news.ycombinator.org/item?id=1226971

Re: Space Shuttle computer has 1MB of RAM

#58
post #56
post #10

Earlier quoted context omitted.

And it's 260 engineers to write 420 KLOC. This is why software is buggy; it's to expensive to make it not buggy.

That's just a bad excuse.

>That's just a bad excuse.

No, it's good economics. In commercial software development, after a certain point, the marginal benefit of fixing bugs divided by the marginal cost of doing so starts to exceed what the market will bear for consumer software. We literally get what we pay for when it comes to commercial software.

Re: Space Shuttle computer has 1MB of RAM

#59
post #48
post #9

And now it’s going to the junkyard. Together with the shuttles that never lived up to their aspirations. Sad, really.

Given budget constraints and the level of safety required in something like the shuttle I think they have lived up to realistic aspirations.

The Shuttle did well for what it was. I still think, though, that the original plan for a lean little ship which can bring people into orbit would have led the Shuttle to a better future. Instead it became this overblown space truck.

But, yeah, it’s not all black and white. Building the ISS would have been very hard without the overblown space truck.

Re: Space Shuttle computer has 1MB of RAM

#60
post #56

Earlier quoted context omitted.

That's just a bad excuse.

>That's just a bad excuse. No, it's good economics. In commercial software development, after a certain point, the marginal benefit of fixing bugs divided by the marginal cost of doing so starts to exceed what the market will bear for consumer software. We literally get what we pay for when it comes to commercial software.

I believe we have come a long way from the days when the shuttle computer was cutting edge.

In fact, it's a bit of a shame we still haven't got how to make correct software, but it's no way impossible and should be getting cheaper by the day.

I think should is the important word here. It's not and we have nobody but ourselves to blame.

Post reply on HN