New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
OSM-malli – Wikipedia

OSM-malli

Wikipedia

Operation state machine -malli (OSM) on yhdenaikaisuusmalli mikroprosessorin toiminnan mallintamiseksi. Malli esittää mikroprosessorin kahdessa keskenään vuorovaikutteisessa tasossa: operaatiotaso ja kovotaso.

OSM -mallin kaksitasoinen rakenne. Punaiset ympyrät esittävät varattavia poletteja
OSM -mallin kaksitasoinen rakenne. Punaiset ympyrät esittävät varattavia poletteja

Sisällysluettelo

[muokkaa] Operaatiotaso

Operaatiotaso kuvaa prosessorin käskykannannan yksittäisten käskyjen käyttäytymisen. Operaatiotasoa kuvataan joukolla laajennettuja äärellisiä tilakoneita, joita kutsutaan OSM-tilakoneiksi. Jokainen OSM-tilakone esittää yhtä operaatiota. Tilakoneen solmut määrittävät esittämänsä operaation tämänhetkisen vaiheen ja sen kaaret mahdolliset seuraavat ajo-askeleet. Solmut ja kaaret yhdessä muodostavat OSM:n tilakoneen. Jotta lukkiumatilanteita ei pääsisi syntymään, ja jotta yksikään alikomponentti ei olisi eristyksissä, tulee tilakoneen olla tyypiltään nk. vahvasti yhtenäinen graafi.

Normaalisti samanlaisia tilakoneita on samanaikaisesti käytössä useampia. Tämä mahdollistaa esimerkiksi rinnakkaisen laskennan mallintamisen liukuhihnoitetun prosessorin tapauksessa.

Esimerkki OSM-tilakoneesta. Kyseinen esimerkki esittää tilakonetta, jolla voidaan mallintaa 5-portaisen liukuhihnoitetun prosessorin toimintaa
Esimerkki OSM-tilakoneesta. Kyseinen esimerkki esittää tilakonetta, jolla voidaan mallintaa 5-portaisen liukuhihnoitetun prosessorin toimintaa

Tilasiirtymien ohjaamiseksi jokaiseen kaareen OSM-tilakoneessa on yhdistetty ehto (katso kuvan e0-e5), jonka toteutuessa kone voi vaihtaa tilaansa. Ehto esittää prosessorin eri toiminnallisten alueiden resurssien vapauteen liittyviä vaatimuksia. Esimerkkejä tällaisille vaatimuksille ovat mm. laskutoimituksen operandien saatavuus.

[muokkaa] Kovotaso

Prosessorin suoritusresursseja kuvataan OSM-mallissa kovotason poletteihin perustuvalla varausjärjestelmällä. Järjestelmä koostuu poleteista ja polettimanagereista.

Poletti (engl. token) on varausmerkintä tientyntyyppiselle resurssille. Poletti voi myös valinnaisesti sisältää jonkin data-arvon.

Polettimanageri (engl. token manager) hallinnoi kaikkia samantyyppisiä poletteja ja jakaa niitä kyseisen managerin polettipolitiikan perusteella OSM-tilakoneille varausten perusteella.

Varausjärjestelmällä voidaan mallintaa esimerkiksi liukuhihnoitetuissa prosessorissa rinnakkaiset fetch-decode-execute -jaksot.

[muokkaa] Mescal Architecture Description Language

Käytännössä OSM-mallin operaatiotason ja kovotason toiminnot kuvataan Mescal Architecture Description Language -kuvauskielellä (MADL).

Kuvauskielessä toiminnot on jaettu viiteen erilliseen lohkoon eri kuvausalueiden perusteella:

  1. Define-osio: Globaalien muuttujien ja funktioiden esittely
  2. Manager-osio: Polettimanagereiden esittely.
  3. Machine-osio: Mallin rungon määrittely.
  4. Function-osio: Funktioiden määrittely.
  5. Operaatio-osio: Operaatiosyntaksin määrittely.

[muokkaa] Käytännön sovellukset

OSM-mallin avulla pystytään mallintamaan jo olemassa olevia sekä suunniteltavia mikroprosessoreita. Malli tukee sekä liukuhihnoitettuja että liukuhihnoittamattomia prosessoreita. Se mahdollistaa myös prosessorin mikroarkkitehtuurin tarkan mallintamisen mukaan lukien sen käskykanta, liukuhihnoitus, rakennehasardit, kontrollihasardit, muuttujaviiveet, data-ohitukset, skedulointi, sekä datahasardit.

Mallinnetusta prosessorista voidaan luoda automaattisilla työkaluilla prosessorille sopiva assembler-kääntäjä, käskykantasimulaattori, disassembler, kellojakson tarkkuudella toimiva simulaattori (Cycle Accurate Simulator, CAS), käskyjen binäärinen purkaja ja varausasemataulujen luontityökalu.

Valmista mallia muuntelemalla prosessorisuunnitelijat voivat kokeilla erilaisten kovoratkaisuiden vaikutusta valmiin prosessorin suorituskykyyn ja muihin toimintaparametreihin (esimerkiksi virrankulutus).

Mallin avulla on luotu esimerkiksi kehittynyt kellojakson tarkkuudella toimiva simulaattori StrongArm-arkkitehtuurille.

[muokkaa] Aiheesta muualla

  1. OSM-mallin kehittäjä, professori Wei Qin, [1]
  2. Mescal Architecture Description Language [2]
  3. Sim-it Arm [3]

[muokkaa] Lähteet

  • Qin, Wei (2004): Modeling and Description of Embedded Processors for the Development of Software Tools. Princeton University. [4]


Tämä tietotekniikkaan liittyvä artikkeli on tynkä.
Voit auttaa Wikipediaa laajentamalla artikkelia.

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu