decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.


Contact PJ

Click here to email PJ. You won't find me on Facebook Donate Paypal


User Functions

Username:

Password:

Don't have an account yet? Sign up as a New User

No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
show the part which isn't abstract - in other words: show the part that is physical | 182 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
show the part which isn't abstract - in other words: show the part that is physical
Authored by: Anonymous on Thursday, February 14 2013 @ 04:56 PM EST
Thanks for being patient with me, I certainly owe you
the same.

In general purpose computer terms, software is a kind of
specification of how to move data between memory and
CPU registers, what operations to perform on the data
in the registers, and what order to go about these
operations.

For a real, old-fashioned computer design, there are
hardware circuits consisting of flip-flops, gates and
so on which are permanently wired together in such an
arrangement that they will behave as "registers",
"arithmetic logic units", and so on, and these circuits
cannot do anything else but whatever it is they are
designed and wired to do. This "traditional" view is
much more abstract in modern electronics design.

To create a thing that acts like a "register", I describe
an array of memory elements that can receive one bit of
data each, connected to a notional "bus" which in the
old model would be a collection of wires, one per bit,
connected to the input and output of each of the one-bit
memory elements, and then maybe I describe some other
circuits (in equally abstract terms), which cause the
"register" to have some kind of functional operational
properties (such as being able to shift bits sideways).

Running these descriptions of abstract concepts through
a synthesizer, I can then take an FPGA (yes, a physical
one) off the shelf, feed in my synthesized description,
and apply power - now the FPGA has a "register" in it!
Physically, it may be indistinguishable from the other
FPGAs on the shelf, but now this one can do computations
in a way that can be distinguished from the "unprogrammed"
FPGAs, in that the pins respond differently when exposed
to electrical inputs.

Where I was trying to lead has to do with why a lot of
physical chips cannot be used to demonstrate that something
is or is not "abstract". I'm not done thinking about it,
but I am inclined towards the notion that if it's done
with bits, it is abstract. The meaning of a bit is very
specifically an abstraction - I can arbitrarily say that
a high voltage means "FALSE" and a low voltage means
"TRUE", or zero and one, or Fred and Nancy, it is up
to me to define the abstraction and invent a set of rules
I want the abstraction to implement. Even in the traditional
hardware model, the arrangement of the wires and the
choice of gates are implementing a physical realization
of this abstract model - being unable to do anything else
does not make the implementation any less of a thought
experiment. Being able to take an FPGA and reprogram it
to suddenly become a completely "different chip" doesn't
seem to make it more of an abstraction, just a more
flexible one.

I'll take your implied point that an FPGA with faster gates
is a non-trivial improvement, and there is specific
hardware inside which makes this improved functionality
work the way it does. That to my mind is the kind of real
progress that the patent system was supposed to be
encouraging. I was trying to point out that having
two otherwise equivalent FPGAs, one of which does the
same thing but faster because I thought of a better way
to arrange the interconnects is explicitly NOT such an
advance - it's better idea, certainly, but it's better
because of abstract differences.

This is sort of an extension of the argument that
taking an idea and saying "on a computer" does not
make the idea patentable. Taking an idea and saying
"using digital hardware" has become almost the same
thing - programmable gate arrays make these almost
the same statement.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )