January 2005 Archives

Broadband the socio economic divide


Speaking as a person who does not have broadband but has gone to great expense to have ISDN in Ireland. I have observed through conversations with my colleagues that those who have broadband are financially more well off than those who do not, due to the savings that they can make through the leverage of broadband.

These savings are many and include:

1 - Telephone charges - My colleague Bernie Goldbach utilises the VOIP service that skype provides to ring the USA for 1 cent per minute, it is cheaper for him to ring a mobile phone in Ireland (10 c per minute) using skype that using Eircom. This is feasible due to the allways on nature of broadband with a flat charge, unlike dial up users who can only buy so many hours of internet time.

2 - Cheaper film processing
There a number of companies who will print of your digital prints and mail them to you. The problem is a decent 5 megapixel plus image is going to be about 1.4 mb plus. The upload time for an average user on dial up using 56 k is 3.92 minutes approx for broadband its 23 seconds. The dial up connection speeds discourage the use of this service.

3- Books and cd's
Trying to shop online with dial up is slow and painful, most users don' bother. The savings however can be considerable. Broadband users don't face these problems.

Bit Manipulation , Shifting and Rotating


If you don't know the difference between an RL and an RLC then this is the site for you.


Call for Papers - DSD 2005


I attended this conference in Rennes last year and presented a paper. I found it to be well organised an well worth attending. This year its on in Portugal.

Architectures, Methods and Tools
Porto, Portugal, August 30th - September 3rd, 2005
URL: http://dsd2005.univ-rennes1.fr
Call for Papers

The Euromicro Conference on Digital System Design (DSD) addresses all aspects of (embedded) digital and mixed hardware/software system engineering.

It is a discussion forum for researchers and engineers working on state-of-the-art investigations, development, and applications.

It focuses on advanced system, design, and design automation concepts, paradigms, methods and tools, as well as, modern implementation technologies that enable effective and efficient development of high-quality (embedded) systems for important and demanding applications in fields such as (wireless) communication and networking; measurement and instrumentation; health-care and medicine; military, space, avionic and automotive systems; security; multi-media and ambient intelligence.

The main areas of interest are the following:

T1. Systems-on-a-chip/in-a-package: generic system platforms and platform-based design; network on chip; multi-processors; system on re-configurable chip; system FPGAs and structured ASICs; rapid prototyping; asynchronous systems; power, energy, timing, predictability and other quality issues; intellectual property, virtual components and design reuse.

T2. Programmable/re-configurable architectures: processor, communication, memory and software architectures with focus on application specific and/or embedded computing, co-processors; processing arrays; programmable fabrics; embedded software; arithmetic, logic and special-operator units.

T3. System, hardware and embedded software specification, modeling and validation: design languages; functional, structural and parametric specification and modeling; simulation, emulation, prototyping, and testing at the system, register-transfer, logic and physical levels; co-simulation and co-verification.

T4. System, hardware and embedded software synthesis: system, hardware/software and embedded software synthesis; behavioral, register-transfer, logic and physical circuit synthesis; multi-objective optimization observing power, performance, communication, interconnections, layout, technology, reliability, robustness, security, testability and other issues; (dynamic) management of computational resources, power, energy etc.; design environments for embedded systems and re-configurable computing.

T5. Emerging technologies, system paradigms and design methodologies: optical, bio, nano and quantum technologies and computing; self-organizing and self-adapting (wireless) systems; wireless sensor networks; ambient intelligence and augmented reality; ubiquitous, wearable and implanted systems; deep sub-micron design issues.

T6. Applications of (embedded) digital systems with emphasis on demanding and new applications in fields such as: (wireless) communication and networking; measurement and instrumentation; health-care and medicine; military, space, avionic and automotive systems; security; multi-media, instrumentation and ambient intelligence; health-care and medicine; military, space, avionic and automotive systems; security; multi-media and ambient intelligence.

Special Sessions:

SS1. Wireless Sensor Network*

SS2. Dependability and Testing of Digital Systems*

SS3. Remote Educational Tools for Design and Testing*

* see a corresponding CFP ( http://dsd2005.univ-rennes1.fr/ )

Adding instructions to the Simplscalar decode tree.


The simplscalar decode tree for instructions can be at first quiet daunting.
Tracing the decode pattern is a pen and paper exercise.

e.g the range of instructions that start with 0x06 are defined as

DEFLINK(MEMREGPOST_LINK, 0x06, "memregpost_link", 20, 0x0f)


This means shift the inst that start with 0x06 e.g 0x06000000 and examine bits 20 - 23

After the connect code we have an entry for 0x00 this means that if bits 20 -23 are 00 this will match and generate an opcode for this instruction
e.g 0x06000000

#define STR_R_IMPL \
etc etc


The challenge facing anyone is to add extra opcodes that are meaningful.
If one examines the 0x06 range of opcodes it is evident that instructions such as
0x06000100, 0x06000200 are unused.

So how do we use them in Simplescalar?
Well what we need to do is modify arm.def to examine bits 8 - 11 first, if these bits are 0 then they are the original instructions defined under memregpost. If not they are our new instructions.

A statement such as the one below takes care of examining bits 8 -11 of an inst that starts with 0x06

DEFLINK(MEMREGPOST_LINK, 0x06, "memregpost_link", 8, 0x0f)


We now need to ensure that 0x06 instructions whose bits are 0 from pos 8 to 11 are directed to a different part of the decode tree. The deflink code below will be executed if the bits are 0 and will examine bits 20 - 23 of the 0x06 inst in the connect section.

In the example below inst 0x06000000 will be associated with a deflink to a new tree where the isnt str%c will be associated with 0x06000000. While inst 0x06000100 will be associated with the inst demo because bits 8 to 11 equate to 1

DEFLINK(MEMREGPOSTNEW_LINK, 0x00, "memregpostnew_link", 20, 0x0f)

#define demo_IMPL \

DEFINST(demo, 0x01,
"demo%c", "%d,%n,%m",

#define STR_R_IMPL \

"str%c", "%d,[%n],-%m!",

We also need to to add these new opcodes to your gas see http://www-unix.ecs.umass.edu/~yhan/ for more details on how to hack GAS.

inline assembly woes - calling instructions


The following code below is a common problem experienced by developers who try and call an assembler instruction from C. Most online documentation would advise the following.

static long mymul(long a, long b) {
long result;
"mul %0,%1,%2"
: "=r" (result)
: "r" (a), "r" (b));
return result;

This however givs the error.
"rd and rm should be different in mul".

If one examines the assembler code they would see something like this
mul r0,r1,r0
gcc happens to put 'result' and 'a' into the same register.

To avoid this, you have to prevent gcc from doing that.
The easy way to prevent this is to mark the output operand as an input/output operand, like this:

"mul %0,%1,%2"
: "+r" (result)
: "r" (a), "r" (b));

(that is, change '=' to '+' in the description of result).

This will prevent gcc from using the same register as an input

The resulting assembler code will look like
mul r3, r1 ,r2

Note - Code samples from above where taken from a discussion on the gcc mailing list

CDWoW now accepting Laser Cards


CDWoW is the first online store, that I have come across that accept Laser cards . Laser cards are a form of debit card that are used in Ireland. They are widely accepted in all stores and petrol stations across the country.

Accepting Laser cards for payment of online transactions is another step down the road painless online commerce

Sierra Wireless GPRS Air card review


I had the oppurtunity recently to use a Sierra GPRS Air Card (model type 700). I was impressed how productive the card was and how it was feasible to work productively using one.

The s/w interface is very slick and displays a GUI similar to a mobile phone including the signal strength.

Once connected the speeds were comparable to dial up and updating Norton Antivirus via the GPRS connection was fairly prompt.

The hinged antennae turned out to be a nice feature as it ensured that the antennae was not in my way.

Hacking Simplescalar - Adding Instructions


I've been very busy for the past few weeks working on Simplescalar. As a result this site has suffered.

My bookmarks for Simplescalar have now grown into some essential how-to and readmes for the adding instructions to simplescalar.

The first place to look for help on this is the simplescalar website as they have a readme on the machine.def file format.

The information is very detailed but adding the instruction part was slightly confusing. I came across some other sites however that provided more info.

Simplescalar Archives - http://lists.cs.wisc.edu/archive/simplescalar/ I would like to thank Guri Sohi at the University of Wisconsin-Madison for restoring the email archives.

YongKhui Han's page - http://www-unix.ecs.umass.edu/~yhan/ describes how modify the compiler and simplescalar to recognise new instructions

Laura Pozzi a a PostDoc researcher in the LAP, Processor Architecture Laboratory, at EPFL, Lausanne describes how to add a new resource to simplescalar http://lapwww.epfl.ch/~lpozzi/words_on/toolchain.html

Inline assembly is sometimes necessary with simplescalar the GCC inline assembly how to is a useful resource. http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html

New years day celebrations on RTE


We sat in on New years eve and ended up watching the celebrations on RTE.
The programme could have been alot more entertaining, and uncle Gaybo was more patronising than usual.

What I found very strange was the fact that chose to ignore the fact that Cork will be the city for European culture for 2005. Surely they could have done the broadcast from Cork, outdoor countdown, concert etc. Instead they sat in their cosy little studio in Dublin and pretended nothing was happenning in Cork.

Digital Satellite - Free to air


The Noonan household has finally accquired a satellite dish !

Lidl had an offer on over the christmas period which included,
- 80 cm dish
- satellite finder
- free to air receiver
- lnb (these were sold out)

I managed to accquire a univsersal lnb from satellite.ie in Dublin. I was really impressed with their service. I placed the order online for an LNB a a number of f connector. on Thu at 11.30 a.m. I received an email at 2.30 p.m. to inform me that it had shipped and it arrived Friday morning.

W.K. electrical wholesale in thurles stocks coax cable and connectors for very reasonable prices. They are located on the dublin road in Thurles, they are not in the phone book or on the web but visiting their premises is a must as its unique for the way they manage their stock inventory. Any one who has been there will know what I'm talking about.

Hopefully I will get all the kit together this weekend.

White Christmas in Tipperary



We woke up on Christmas day in Upperchurch to a snow covered scene.
The kids in Ireland had great fun while it lasted but most of it was gone by the 26th

About this Archive

This page is an archive of entries from January 2005 listed from newest to oldest.

December 2004 is the previous archive.

February 2005 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Influenced by:

Irish Eyes
Mike Maunsell
Tom Raftery I.T. views
Damien Mulley
James Corbett (Eirepeneur)
Powered by Movable Type 4.12