Slashdot Mirror


IBM Builds First Graphene Integrated Circuit

AffidavitDonda writes "IBM researchers have built the first integrated circuit (IC) based on a graphene transistor. The circuit, built on a wafer of silicon carbide, consists of field-effect transistors made of graphene. The IC also includes metallic structures, such as on-chip inductors and the transistors' sources and drains. The circuit the team built is a broadband radio-frequency mixer, a fundamental component of radios that processes signals by finding the difference between two high-frequency wavelengths."

23 of 77 comments (clear)

  1. This is an extremely important accomplishment. by Anonymous Coward · · Score: 2, Funny

    I don't think that the article goes into enough detail about just how important this accomplishment is. Frankly, this is our only hope going forward. With so much slow software written in languages like Ruby and JavaScript becoming popular, it will again fall back to the hardware guys to really make things fast again. This will probably be the way they'll do it!

    1. Re:This is an extremely important accomplishment. by the+eric+conspiracy · · Score: 2

      Not that much effort compared to the savings of writing in a portable language like Java.

    2. Re:This is an extremely important accomplishment. by gman003 · · Score: 3, Interesting

      Programmer time is more expensive than hardware time. If a less efficient language is easier to use, it makes business sense to use it to save money.

      This does not explain the slow languages that are difficult to use, but it does explain why assembly has fallen from favor, and why C is in decline.

    3. Re:This is an extremely important accomplishment. by lurgyman · · Score: 4, Interesting

      Well, let's not get ahead of ourselves. A mixer is an analog circuit, and silicon carbide is an expensive substrate to work with (very high processing temperatures), so it is typically only worthwhile for high-power analog devices. There is no discussion about anything digital in this article, so this is not related to programming languages or computers. Many analog devices have been made beyond 100 GHz on plain old silicon too; graphene on SiC may be important by enabling greater power density at high frequencies. As a microwave engineer, I'm excited about this, but this needs to happen on an inexpensive IC process for very small devices to be useful for digital circuits.

    4. Re:This is an extremely important accomplishment. by Anonymous Coward · · Score: 3, Funny

      Write Once, Debug Everywhere.

    5. Re:This is an extremely important accomplishment. by Lunix+Nutcase · · Score: 4, Interesting

      15 years of optimization from Sun just to bring it within a magnitude of C? That seems quite a bit of effort wasted.

    6. Re:This is an extremely important accomplishment. by Lunix+Nutcase · · Score: 2

      and why C is in decline.

      Hahaha, lol wut? According to the much beloved Tiobe Index by Java programmers, C is 2nd place in most popular languages.

    7. Re:This is an extremely important accomplishment. by Jahava · · Score: 2

      I don't think that the article goes into enough detail about just how important this accomplishment is. Frankly, this is our only hope going forward. With so much slow software written in languages like Ruby and JavaScript becoming popular, it will again fall back to the hardware guys to really make things fast again. This will probably be the way they'll do it!

      While I agree with your statement that this is likely incredibly important, your concept of the state of software is absurd.

      Non-specialized (e.g., consumer-grade) software platform choices - language, compiler, interpreter, execution environment, and operating system - are made largely based on the current hardware status quo of the typical software user. If hardware (CPU, GPU, network, etc.) continues to get faster, software will be written to complement that hardware. The second hardware becomes a limitation, software will back off, trim down, and optimize. While the factors behind it are too numerous to fully detail in a post, the key idea here is that waste and bloat can often be the consequences of a tradeoff for functionaity, stability, speed, and development time to the net benefit of the consumer.

      A good example of this is the Android operating system. In the midst of gigantic browsers and bloated (not necessarily in a bad way) operating systems running on the latest quad-core beasts, an operating system derived from a high-performance kernel (Linux), set of libraries (libc, etc.), and high-level runtime (Dalvik VM) was created to specifically scale graphical and operational code to an open embedded platform. Everything running on Android could easily have been run on computers 10 years ago, yet it's currently a bleeding-edge development platform.

      Another example is a modern high-profile web page/application. Consumer-grade Javascript-intense pages (Google Maps, etc.) often provide lightweight alternatives for smartphones and netbooks. The user consumes what they can handle and no more, and this results in a positive experience.

      Just remember: software scales to meet the demands of its consumers and the capabilities of its hardware platform.

    8. Re:This is an extremely important accomplishment. by Lunix+Nutcase · · Score: 3, Informative

      portable language like Java.

      Right.... One can find a C compiler for pretty much every processor since the 80s. I can point out a number of still widely used architectures that have no JVM.

    9. Re:This is an extremely important accomplishment. by Lunix+Nutcase · · Score: 5, Insightful

      Remember when it used to be first, by a huge margin?

      C is still more wisely used by a huge margin. Just because you "enterprise" developers don't use it (despite the infrastructure of your managed languages being written in C and C++) doesn't change that.

      Within a generation, it'll be in the same class as FORTRAN - only used to support legacy apps.

      Yeah right. What are you going to write your kernels in? What are you going to use for those millions if not billions of microcontrollers that will still be in use that can't run a JVM? What exactly are you going to write your VMs and interpreters in? Right, they will have to be written in a C or C++ and assembly.

    10. Re:This is an extremely important accomplishment. by Jahava · · Score: 4, Informative

      Remember when it used to be first, by a huge margin? It's not dead by any means, and still a very active language, but it's not taught as much anymore. Within a generation, it'll be in the same class as FORTRAN - only used to support legacy apps.

      ... and kernels, and drivers, and embedded applications, and core libraries, and runtimes, too, unless those go away.

      C is a fantastic language that very effectively performs a much-needed role in software development: to provide a lightweight, usable, and readable language while retaining (most of) the capabilities of machine code. C is intended to interface directly with the system, or closely with the operating system.

      C is in decline because many modern programming challenges don't benefit from working on the level of machine code or operating system, nor should they. If I want to write a game, I want to focus on the game design and mechanics, not bit blitting pixels onto a buffer. Libraries, interfaces, and abstraction levels are all things higher-level languages leverage to constrain the perspective and duty of the developer to the most productive (and, oftentimes, interesting) areas.

      Also, let's not forget that in the common non-kernel case, most of the reason C is even usable is because C, itself, leverages a massive host of support libraries and a not-so-lightweight runtime.

    11. Re:This is an extremely important accomplishment. by Toonol · · Score: 2

      Within a generation, it'll be in the same class as FORTRAN - only used to support legacy apps.

      No. FORTRAN was replaced. You can do anything you could do in FORTRAN in more modern languages (like C, for instance). However, you cannot write operating systems in Java. I don't think there's any replacement on the near horizon that fills C's low-level niche.

      I can see the use of C and C++ in most applications decreasing, although not when speed or performance is more critical than the expense of extra labor.

    12. Re:This is an extremely important accomplishment. by the+linux+geek · · Score: 2, Insightful

      Porting C code between architectures is a pain in the ass. Endianness issues alone can fuck up plenty of code, without even getting into differences in compilers and standard libraries.

      Things like porting from one UNIX to another UNIX on a different arch - stuff that most armchair programmers view as "just recompile" - can take hundreds of man-hours or more on complex codebases. C is not portable.

    13. Re:This is an extremely important accomplishment. by parlancex · · Score: 4, Interesting

      Programmer time is more expensive than hardware time. If a less efficient language is easier to use, it makes business sense to use it to save money. This does not explain the slow languages that are difficult to use, but it does explain why assembly has fallen from favor, and why C is in decline.

      I honestly hate this idea. You write have to write a program once. Most programs run thousands of times, some programs will run millions or billions of times. If you actually calculated the global collective waste due to slow heavily abstracted languages running across the globe that cost is significantly than it would've been to write it properly to begin with.

    14. Re:This is an extremely important accomplishment. by bgat · · Score: 2

      C appears to be in decline only because of the explosive growth in the number of applications produced in higher-level languages. Total annual C output is increasing year-on-year--- mostly to implement systems that themselves support the aforementioned applications.

      Put another way, none of the growth in Java, C#, Python, Ruby, etc. etc. etc. would be possible without growth in C output as well. C won't ever go away, because every higher-level language in existence depends on it.

      So you can have your Java. I know you'll come crying back to me when you want a platform to run it on. :)

      --
      b.g.
    15. Re:This is an extremely important accomplishment. by bgat · · Score: 3, Insightful

      While it is certainly possible to write C code that is endian-dependent, I consider such code to be broken--- as would any sane, professional C programmer.

      To wit, the eleventy-million lines of C code in the Linux kernel are fully endian-agnostic. And largely independent of integer representation size, too!

      --
      b.g.
    16. Re:This is an extremely important accomplishment. by suomynonAyletamitlU · · Score: 2

      Programmer time is more expensive than hardware time. If a less efficient language is easier to use, it makes business sense to use it to save money.

      I honestly hate this idea. You write have to write a program once.

      If you made a mistake, and the language you're using makes it difficult to track down that mistake, you may write that program many times over.

      If you have a hotshot programmer on your team who thinks he's more clever than he is, no matter what language you're using, you may have to rewrite it again, or parts of it. The easier that is, the less of a loss it was to have made that hiring decision.

      If your language of choice does not support certain features natively (concurrency, garbage collection, variable types, others come to mind), rewriting them from scratch or finding libraries, and training programmers to use them, becomes an additional cost. Anyone not already familiar with those libraries, or your own custom in-house libraries, is likely to make first-time mistakes on your dime. If this gets bad enough, you may have to write the program again.

      Additionally, electricity is cheap, and you may not actually know when developing the program whether it will be used one time, ten times, ten thousand times, ten million times, or zero times, because that's up to management, the client, etc. If you get the functionality working acceptably in short order, and it becomes production, you may waste X money in additional power consumption, slow processing, etc. If you spend months getting the code to work, you might be asked to alter, rewrite, cancel, etc the project due to changed requirements... I'm sure there are people who are better at the horror stories than I am.

      Clearly the best would be people who really, 100% know C or even, god willing, assembly, and can program as fast and well in that as lesser men could in java, perl, etc; people who have a treasury of libraries they're fully versed in that touches the heavens, and who know memory management and pointer arithmetic better than the CPU designers themselves. Good luck affording THAT. In the meantime, it's probably better to prototype in an easy language, and if time, money, and management agree, port the code to something faster. If time, money, and management don't agree, you still have a working program.

      Now, you'd have a working program if you did it in C too. I hear you saying it. And if you, and everyone on your team, or who will join your team later are all good enough to deal with that, then yes, you are good enough, and you'll do fine. Were you to run a company, however, you may have to make this decision when it comes to hiring programmers: Do you want a quick mock-up in a sloppy language, or a sturdy, well-built machine that will take longer and requires better trained personnel? Because you'll choose each of those for different projects. And if you choose the former, even as a proponent of harder, better, faster, stronger code, you may be embarrassed to find you still have some of those quick and sloppy mock-up jobs in a production environment, because you didn't need anything more, and it would have cost you to redo them.

    17. Re:This is an extremely important accomplishment. by Squiddie · · Score: 2

      As one of my colleagues said, saying Java is good because it's multi-platform is like saying anal sex is good because it works on both sexes.

  2. Gigahertz are useless... by spyked · · Score: 2

    ...without efficient static memory, mostly because of the CPU-Memory gap. A faster CPU would require the memory and the bus to keep up at a similar frequency. That's already a problem, and even if that were possible then it would lead to increased power consumption using dynamic RAM and frankly, I think that's the last thing we need.

    So faster CPUs will only be a viable alternative when we manage to get something like those memristors they keep talking about. Until then, it's larger caches and higher-frequency DRAM.

    1. Re:Gigahertz are useless... by Anonymous Coward · · Score: 5, Interesting

      Wow, you're full of shit. Graphene isn't useful for digital circuits at all (at least yet) because it has crappy on-off ratios, but GHz are most definitely useful for radio work.

      Remember how everybody's using their mobiles for everything these days, and streaming video keeps getting more popular and higher bitrate? Well, when you run out of spectrum below 5GHz (where all mobile networks currently operate), getting up into the 10-100GHz range is extremely useful to provide that extra bandwidth.

      Since nobody but actual electrical engineers seems to know anything about radio anymore (used to be a common hobby for geeks, but I guess it's not "cool" anymore), let me explain one application of a mixer like the one described in TFA. You can use it to make a transverter, which takes a signal from your UHF radio (maybe a mobile phone, wifi card, whatever), and kicks it up to ~10GHz for transmission. And flips received signals back down to the original ~2GHz band.

      Not impressed? Sure, 10GHz isn't much, we can easily beat that already -- it's only a prototype. But it's quite likely we'll have 100GHz-1THz in the lab inside a year, and on the market in ~5. There's a whole lot of bandwidth north of 30GHz, and (as long as you stay out of absorption bands like O2 at 60GHz, which limit you to short-range stuff like wifi/bluetooth replacements), it's eminently usable for urban cellular networks -- if you have the ICs to handle it.

  3. It's a diode! by bughunter · · Score: 4, Informative

    The circuit the team built is a broadband radio-frequency mixer, a fundamental component of radios that processes signals by finding the difference between two high-frequency wavelengths.

    Did someone paid directly by IEEE write that? "Two high-frequency wavelengths?"

    The device is a nonlinear summing element. In other words, it has a transfer function of the form y=Sum(ax^n) for integer values of n from zero to at least 2. A very common example is a diode. But it could also be a transistor in the saturation region, or something more esoteric.

    Due to the nonzero second-order transfer function coefficient, provides not only the superposed sum of the two signals at their original frequency, but also at the sum and difference of the two input frequencies. Add filters to throw away the parts you don't want, and you can make a modulator, a frequency upconverter, or a downconverter... all of these are used every day inside things you probably have in your pocket or purse, from cellphones to car stereos, television receivers to communications satellites.

    But basically, it does the same thing a diode does... just faster.

    --
    I can see the fnords!
    1. Re:It's a diode! by Anonymous Coward · · Score: 2, Funny

      all of these are used every day inside things you probably have in your pocket or purse, from cellphones to car stereos, television receivers to communications satellites.

      Lesse:

      1) cellphone: yup!

      2) car stereo: well, I don't carry a purse, but if I did, I guess so.

      3) television receiver: yup, though an interesting one would probably warrant a purse in place of a pocket.

      4) communications satellite: erm, here's where I run into the problem of one fitting in my pocket, or a purse.

      So, is this "suggest three plausible things and the forth implausible one will be blindly accepted as well" day?

    2. Re:It's a diode! by Interoperable · · Score: 2

      They happen to be using it as a mixer, but the article clearly says that it's a FET (which certainly qualifies as a non-linear device). It might not be suitable for digital logic yet, but it is a transistor I believe. Also, 10 GHz for a proof-of-concept is damn fast.

      --
      So if this is the future...where's my jet pack?