Event Driven Processing: Is a Standard Processor Redesign Possible?

  • Thread starter Thread starter vladpaln
  • Start date Start date
  • Tags Tags
    Processor
Click For Summary
SUMMARY

The discussion centers on the potential for redesigning standard processors to utilize event-driven processing instead of traditional clock speeds. Participants highlight that while current processors, based on the Von Neumann architecture, primarily operate at clock speed, IBM's SyNAPSE chip exemplifies an event-driven model that conserves power by activating only when necessary. The conversation also emphasizes that event-driven programming has been integrated into modern operating systems, allowing for efficient handling of hardware interrupts, which has been a common practice for over two decades.

PREREQUISITES
  • Understanding of Von Neumann architecture
  • Familiarity with IBM's SyNAPSE neural chip
  • Knowledge of event-driven programming concepts
  • Basic understanding of hardware interrupts and their role in processors
NEXT STEPS
  • Research the architecture and functionality of IBM's SyNAPSE chip
  • Explore event-driven programming techniques in modern operating systems
  • Learn about hardware interrupts and their implementation in embedded systems
  • Investigate the evolution of event-driven operations from the 1950s to present
USEFUL FOR

Engineers, computer scientists, and software developers interested in processor design, power-efficient computing, and event-driven programming methodologies.

vladpaln
Messages
12
Reaction score
0
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??
 
Engineering news on Phys.org
vladpaln said:
From what I understand all processors are based on the Von Neumann architecture
No, DSP chips have a modified Von Neumann architecture where instruction and data fetches are simultaneous (data storage is separate from instruction storage)
and instructions are fed into the processor based on the clock speed.
true
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??
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.
 
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.
 
CWatters said:
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.

Can you give me an example (manufacturer, unit)??
 
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.
 
vladpaln said:
Can you give me an example (manufacturer, unit)??

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.
 
CWatters said:
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.
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:
DrZoidberg said:
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.

Young man, I'll have you know it started in the 50s.
 
anorlunda said:
Young man, I'll have you know it started in the 50s.
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:
  • Like
Likes   Reactions: jim mcnamara
  • #10
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.
 
  • #11
CWatters said:
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.
How did the organizer handle network connection events?
 
  • #12
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.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
Replies
14
Views
2K
  • · Replies 38 ·
2
Replies
38
Views
8K
  • · Replies 1 ·
Replies
1
Views
4K
Replies
2
Views
3K
Replies
4
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 13 ·
Replies
13
Views
4K