Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Event driven processor

  1. Apr 30, 2016 #1
    From what I understand all processors are based on the Von Neumann architecture and instructions are fed into the processor based on the clock speed. I've recently come across the IBMs new neural chip SyNAPSE. The chip is event driven, operating (using power) only when needed.

    Can a standard processor be redesigned to use event driven processing vs clock speeds??
     
  2. jcsd
  3. Apr 30, 2016 #2

    phinds

    User Avatar
    Gold Member
    2016 Award

    No, DSP chips have a modified Von Neumann architecture where instruction and data fetches are simultaneous (data storage is separate from instruction storage)
    true
    I don't see how. Standard processors run at clock speed pretty much by definition. You are proposing a change that I think is radical enough to warrant a different name, such as SyNAPSE. Besides, you really could only wake it up by event. You still have to RUN the processing of the event and that's going to be at clock speed if it's a standard processor. I think that might be what's happening with the SyNAPSE chip but I didn't really look into it so maybe not.
     
  4. May 6, 2016 #3

    CWatters

    User Avatar
    Science Advisor
    Homework Helper

    Depends what you mean by "event driven".

    Some hand held organisers (this is pre tablet computers) would go to sleep between key presses. So if you were writing an email pressing a key would wake up the processor, it would get the character from the keypad, put it into the file, update the display and go back to sleep until the next key was pressed. The display would be left powered up so you weren't aware that the processor was doing all this behind the scenes to save power.

    This is as much a software issue as hardware. Obviously the hardware can be designed to reduce the overheads of going in and out of sleep mode but the software has to co-operate.
     
  5. May 7, 2016 #4
    Can you give me an example (manufacturer, unit)??
     
  6. May 7, 2016 #5
    Even standard computers are to some extent event driven.
    There are several hardware 'interrupts' built in, which when active cause the processor to suspend whatever it is doing, handle the interrupt as a priority, then resume the suspended task.
    For most modern applications this is all handled by the operating system, but it's nevertheless possible to write machine code for the same chip which uses those interrupts and runs independently of an operating system.
    As far as I know it's still a fairly commonplace programming technique for such things as device drivers and small single task embedded processors.
     
  7. May 8, 2016 #6

    CWatters

    User Avatar
    Science Advisor
    Homework Helper

    Unfortunately I only have definite knowledge about one make of organizer that did this and I signed an NDA that I suppose might still be enforceable. Sorry.
     
  8. May 8, 2016 #7
    Nearly all computers have been doing this for the last 20 years. It's the reason why your CPU gets much hotter when it's under full load than when it's mostly idle. All Windows versions since 95 were designed to make full use of a processors ability to go into idle mode. The APIs of all modern OSs are designed to allow efficient event driven programming and applications with a graphical user interface are usually written in an event driven style. Event driven programming started to become very popular at the beginning of the 90s, when GUIs went mainstream. But it was already used before that e.g. in the first Macintosh or the Amiga computers in the middle of the 80s. And at Xerox Parc in the 70s.
     
    Last edited: May 8, 2016
  9. May 8, 2016 #8

    anorlunda

    Staff: Mentor

    Young man, I'll have you know it started in the 50s.
     
  10. May 8, 2016 #9

    phinds

    User Avatar
    Gold Member
    2016 Award

    Well, yes, but normal users were little aware of it, if at all and there was no GUI-type programming such as is common today. Event-driven operations were things like a magnetic tape unit telling the CPU it was ready to read data, keyboards making similar announcements to the CPU, and so forth, and such operations were masked from the normal programmer (i.e. not a systems programmer) by the use of compiler level languages such as ALGOL or FORTRAN.

    Those of us who programmed in assembly language back then, and even into the days of the DOS operating system, were quite aware of system interrupts and made varying degrees of use of them but they were considered very low-level operations.

    Today it is quite normal for an ordinary programmer to make strong use of event driven operations when writing in development environments for high level languages. That is a significant evolution over what was done in the 50's and 60's
     
    Last edited: May 8, 2016
  11. May 8, 2016 #10

    Baluncore

    User Avatar
    Science Advisor

    Many microcontrollers have a Sleep instruction that shuts things down until some hardware or timer event wakes it up again.
    There are often several levels of sleep available from short naps with a quick wakeup, to a deep sleep where the master clock may be stopped completely while a low frequency clock ticks away at about 32kHz on about 10uA.
     
  12. May 9, 2016 #11
    How did the organizer handle network connection events?
     
  13. May 9, 2016 #12

    CWatters

    User Avatar
    Science Advisor
    Homework Helper

    I think the processor had a wake on interrupt so anything that could generate an interrupt like a serial interface controller could wake it up.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Event driven processor
  1. 10GHZ CPU processor (Replies: 13)

Loading...