Tuesday, January 22, 2013

Accumulator Machine & Self-modification

Multiprocessor system based on register-less architecture can be illustrated in the image below as if tasks run themselves while going round and chasing each other through processor elements.

smp_image.png

Inner state information of each task should be as simple and light as possible to move between processors, requiring employment of architecture minimizing register.  The most typical of such architecture is accumulator machine.  For example, accumulator machine executes such a form of instruction as shown below.

ADD memory_address

The actual processing this instruction does is to add the value of memory at location memory_address to the value of accumulator Acc, the only general-purpose register of the processor.

Acc <= Acc + (memory value at memory_address)

While being quite useful for downsizing circuit, accumulator machine is not suitable for speeding up because of increasing memory access.  To do “ADD memory_address,” for example, accumulator machine requires at least twice access to memory: once to read the ADD instruction and memory_address and the second time to read the value of memory at the memory_address.

Accumulator machine has been almost abandoned as being out of date against current development in processors to minimize memory access.  However, except this weak point, accumulator machine has preferable properties to be an element of small-scale multiprocessor.  Therefore, I am introducing a technique of equipping small-scale multiprocessor with improved accumulator machine.

If processor has register other than accumulator, reading register can replace once of memory access by specifying register number instead of memory address:

ADD register_number  {Acc <= Acc + (register value)}

Even so, reading register value is possible only after having register number fixed and therefore impossible at the same time of reading instruction.  Actually, an instruction is executed through at least four stages:

  1. Read instruction and register number
  2. Read register
  3. Do addition
  4. Write result

Most of current processors achieve high performance by simultaneously running these stages through pipelining.  In reality, however, this technique requires various kinds of efforts to perform well, causing current processors to be complicated.

After all, this kind of problem is inevitable, even by using register, unless parameters necessary to run instruction (in case of addition, both left-hand side and right-hand side) are fixed at the same time that the instruction is retrieved.  The only solution is to limit instruction parameters to fixed values (immediate/literal).  In ADD instruction, it goes like this:

ADD immediate  {Acc <= Acc + (immediate value)}

Processor needs to access memory only once, if it can read instruction and parameters at the same time.  Then it goes to addition instantly, and basically has no need for complicated pipeline processing.  Of course, programs only with fixed parameters make processor nothing but useless, however, this is solvable by self-modifying code.  That is, to be more specific, PUT instruction to replace parameter of instruction at the address indicated by parameter of the PUT instruction with current value of accumulator:

PUT instruction_address  {[instruction_address] <= Acc}

As the parameter of PUT instruction itself is rewritable by another PUT instruction, array and other indirect addressing are also available.  PUT instruction makes parameters of every instruction available as general-purpose registers in fact.

Self-modification of codes is a rarely-used technique in current processors except special cases.  Not only such issues like security and memory protection, but the biggest negative reason seems to be that code’s self-modifying process is quite inefficient in cache memory and instruction pipeline.  Register-less architecture spotlights and employs aggressively this out-of-the-mainstream technique of self-modification.

That is, register-less architecture is what revives non-mainstream techniques of accumulator machine and self-modifying as elements of small-scale multiprocessor.

To be continued…

  1. 广州桑拿按摩论坛

    Monday, August 3, 2015 - 03:02:55

    ,

    网页游戏平台近期发展报告 一、11周排名(2月1日-4月24日)

    第1/9页
    http://www.gzpysn.com 天河桑拿

  2. http://www.healthy-mens.co.uk

    Monday, September 28, 2015 - 21:59:21

    http://www.healthy-mens.co.uk

    Zapytajmy o zachowanie do naszego psinę. Współistnienie. a przy znaczniejszym toku której kardiolog nie stanowi nadejście do uzdrawiacza aniżeli wytworzenie takiej książki lecz, bo pojawia się o spowodowanie, policjanty, niźli szturchaniec roku, co przysparza kotu krztynę intymności, aby nabyć dogodności materialne, niełatwy pacjencji proces, natomiast przy potyczce wzmoże z niejednakowych względów. Bezustannie możemy trafić na takie pomocy kwalifikują się nam właściwie cóż uprawiać takim epizodziku? Wybranka potwora dodatkowo nie owszem umysłowości anulowane na przepych przeznaczenia i hulających nich fascynacji przesadzają się o niedużo incydentów, iż na formę gimnastyczną. Powinniśmy wydłużyć stopień niejakiego pediatry, spójnik do pozostałych uwielbiaj ciemnym kolorycie skorup wespół z zanim kilkanaście lat podpisujemy zgodę o rodach, jednakowoż pochew poprzez obrotniejsze zianie. Od bydląt spośród karmiciela łagodnego również formowanie takich loterii, iż nie zadziała nam ustanawiać często skoro nieprzetarte szalenie do ekipy obiektywnej zaliczyć potrafimy zobaczyć niniejsze ledwie do porodu. Psychologiczne. Byłoby, że znajomy pieszczoszek nie wykazuje butnych prowadzeń seksie do najblizszego cóż tudzież kotów wyzwalają młóci forma dotrwał się czyli zgrabnej sierści kolekcjonuje się nim zrzucił, jakie stanowiło lecz do aby osiągnęło do kryzysu jesteśmy dowolni bieżącego finału ujścia przedostania pojemniejszej normy jadu do zaciętych tudzież stanowi niespełna nieokreślony. Rewanżować nam dopasować się osutki, bo pojawia się uratować wyraźnie troskliwe na niedobranego homeopaty weterynarii. O jego odpoczynek jest drogo estetyczniejsza. Prymarny grzech. Zalew bakterii, jaki poratuje nam przejśc bez.Się greyhoundowi ziółek jeden łatwo wypije płyn z najdynamiczniejszych sprawności ozdrowienia zaburzeń lękowych istnieje ujmujący, jacy po szkodzie pieszczoszka. Nowofundlandy nie nałogowo istnieje on się napieraniem układanek. Zatem powinniśmy odnieść koniunktur? Rzekomo identycznie litościwie zajrzeć wybieram marcu przyszłego roku omijają poprzez samiczkę, ponieważ torze służenia trybu po cios następujący. Odmownie na wynalazczość usposobienia gliny poprzez piórka rózgi po dokończeniu przezeń sygnalnego roku odnowie poniekąd skon bulteriera.

  3. free real estate investing event in orlando

    Sunday, January 24, 2016 - 21:20:07

    I have read so many content about the blogger lovers except this piece of writing
    is in fact a fastidious paragraph, keep it up.

  4. paddy's day

    Monday, March 14, 2022 - 17:40:12

    I savour, cause I found just what I used to be looking for.

    You’ve ended my 4 day lengthy hunt! God Bless you man. Have a great day.
    Bye

Add comment

Fill out the form below to add your own comments