GCSE Von Neumannin arkkitehtuuri (14-16 vuotta)

  • Muokattava PowerPoint-oppituntiesitys
  • Muokattavat kertauskäsikirjat
  • Sanasto, joka kattaa moduulin keskeiset termit
  • Topic mindmaps keskeisten käsitteiden havainnollistamiseen
  • Tulostettavat muistilaput, joiden avulla oppilaat voivat harjoittaa aktiivista muistelua ja itseluottamusta-
  • Tietokilpailu ja siihen liittyvä vastausavain moduulin tietojen ja ymmärryksen testaamiseksi

A-Level Contemporary processors (16-18 years)

  • Muokattava PowerPoint-oppituntiesitys
  • Muokattavat kertauskäsikirjat
  • Sanasto, joka kattaa moduulin keskeiset termit
  • Topic mindmaps keskeisten käsitteiden havainnollistamiseen
  • Tulostettavat muistilaput, joiden avulla oppilaat voivat harjoittaa aktiivista muistelua ja itseluottamusta-based repetition
  • Tietokilpailu ja siihen liittyvä vastausavain moduulin tietojen ja ymmärryksen testaamiseksi

Käsitteellä Tietokonearkkitehtuurit viitataan sääntöihin, jotka määrittelevät, miten tietokoneen ohjelmistot ja laitteistot yhdistetään toisiinsa ja miten ne ovat vuorovaikutuksessa keskenään, jotta tietokone olisi toimiva, Lisäksi tietokonearkkitehtuuri määrittelee myös sen, mitä tekniikoita tietokone pystyy käsittelemään.

Tietokonearkkitehtuuri on spesifikaatio, joka kuvaa, miten ohjelmisto ja laitteisto ovat vuorovaikutuksessa keskenään tuottaakseen toimivan alustan.

Kun ihminen ajattelee sanaa ”arkkitehtuuri”, ihmismieli ajattelee luultavasti rakennusten tai talojen kokoonpanoa, lisäksi tietokonearkkitehtuuri käsittää samalla periaatteella tietokonejärjestelmän rakentamisen sisäisesti ja ulkoisesti.

Tietokonearkkitehtuurissa on kolme pääluokkaa:

  • Järjestelmäsuunnittelu:
    • Järjestelmäsuunnittelussa on kyse laitteiston osista, joihin kuuluvat moniprosessorit, muistinohjaimet, keskusyksikkö, dataprosessorit ja suora muistin käyttö. Järjestelmäsuunnittelua voidaan pitää varsinaisena tietokonejärjestelmänä.
  • Käskysarjaarkkitehtuuri:
    • Tämä pyörii suorittimen ympärillä. Se sisältää suorittimen ominaisuudet ja toiminnot, lisäksi se sisältää myös suorittimen dataformaatit, ohjelmointikielen ja prosessorin rekisterityypit ja käskyt, joita tietokoneen ohjelmoijat käyttävät.
    • Suoritin on se osa tietokoneessa, joka saa ohjelman toimimaan, olipa kyseessä sitten käyttöjärjestelmä tai sovellus, kuten Photoshop.
  • Mikroarkkitehtuuri:
    • Järjestelmän mikroarkkitehtuuri määrittelee tallennuselementit/datapolut ja miten ne toteutetaan käskyarkkitehtuurissa, mikroarkkitehtuuri vastaa myös tietojenkäsittelystä.

Kaikki nämä kietoutuvat toisiinsa tietyssä järjestyksessä, jotta järjestelmä toimii.

Mikä on von Neumannin arkkitehtuuri?

Vuonna 1945 John von Neumann, joka oli tuolloin matemaatikko, oli syventynyt tutkimaan, että, tietokoneella voisi olla kiinteä yksinkertainen rakenne ja se voisi silti suorittaa mitä tahansa laskutoimituksia ilman laitteistomuutoksia. Tämä edellyttäen, että tietokone on oikein ohjelmoitu oikeilla ohjeilla, joilla se pystyy suorittamaan ne.

Von Neumannin ensisijaista edistysaskelta kutsuttiin ”ehdolliseksi kontrollinsiirroksi”, joka oli mahdollistanut sen, että ohjelmasekvenssi voitiin keskeyttää ja käynnistää uudelleen missä tahansa vaiheessa, lisäksi tämä edistysaskel oli mahdollistanut sen, että dataa voitiin tallettaa käskyjen kanssa samaan muistiyksikköön.

Tämä oli hyödyllistä siksi, että jos käskyjä haluttiin, niitä voitiin aritmeettisesti muunnella samalla tavalla kuin dataa.

Von Neumannin arkkitehtuuri kuvaa tallennetun ohjelman digitaalisen tietokoneen suunnittelumallia, joka sisältää vain yhden ainoan prosessointiyksikön ja yhden ainoan erillisen muistirakenteen, jossa säilytetään sekä ohjeita että dataa.

Von Neumannin arkkitehtuurilla tarkoitetaan arkkitehtuuria, jossa sekä data että ohjelmoidut käskyt säilytetään luku- ja kirjoitettavassa RAM-muistissa (Random Access Memory).

Von Neumannin arkkitehtuurin ominaispiirteet

Kuten edellä mainittiin, von Neumannin arkkitehtuuri perustuu siihen, että ohjelmatieto ja käskytieto säilytetään samassa muistiyksikössä. Tätä voidaan kutsua myös ”tallennetun ohjelman konseptiksi”.

Tätä rakennetta käytetään vielä nykyäänkin tuotetuissa tietokoneissa:

Von-Neumann vs. Harvard-arkkitehtuuri Kuva 1

Keskuskeskusyksikkö (CPU):

  • Keskuskeskusyksikkö (CPU)
    • C CPU on elektroninen virtapiiri, joka suorittaa tietokoneohjelman ohjeet.
    • Suorittimesta voidaan käyttää myös nimitystä mikroprosessori tai prosessori.

    Suorittimen sisällä on ALU, CU ja rekisterit, jotka on kuvattu tarkemmin alla:

    Control Unit:

    • Valvoo ALU:n, muistin ja tulo-/lähtöyksikön toimintaa ja ohjeistaa niitä, miten niiden on vastattava sen ohjelman ohjeisiin, jonka se oli juuri lukenut ja tulkinnut muistiyksiköstä. Ohjausyksikkö ohjaa suorittimen toimintaa suorittamalla seuraavia tehtäviä:
      • Koordinoi ja ohjaa suorittimen toimintoja
      • Hallitsee tiedonkulkua muiden komponenttien ja suorittimen välillä
      • Kuittaa ja hyväksyy seuraavan käskyn
      • Dekoodaa käskyjä
      • Tallentaa tuloksena saadut tiedot takaisin muistiyksikköön

    Aritmeettinen ja looginen yksikkö (ALU):

    • Mahdollistaa loogisten ja aritmeettisten operaatioiden, kuten yhteen- ja vähennyslaskun, suorittamisen.
    • (Loogiset operaattorit ovat: AND, OR, NOT, XOR)

    Muistiyksikkö:

    • Koostuu RAM-muistista, joka on osioitu ja koostuu osoitteesta ja sen sisällöstä, jotka ovat binäärimuodossa.
    • RAM (Random Access Memory) on nopea muistityyppi toisin kuin kiintolevyt, CPU:lla on myös suora pääsy siihen.
    • Muistin RAM-muistin olemassaolo CPU:lla mahdollistaa sen paljon nopeamman ja siten tehokkaamman toiminnan.

    Rekisterit:

    • Pieni lohko suorittimessa, joka koostuu suurnopeusmuistisoluista, jotka tallentavat dataa ennen sen käsittelyä, kaikki loogiset, aritmeettiset ja siirto-operaatiot tapahtuvat täällä.
    • Rekisteri koostuu 5 komponentista
      • Ohjelmalaskuri (PC): Pitää sisällään seuraavan suoritettavan käskyn osoitteen
      • Akkumulaattori (AC): Tallennusalue, johon logiikka- ja aritmeettiset tulokset tallennetaan
      • Muistiosoiterekisteri (MAR): Pitää sisällään sellaisen datapaikan osoitteen, josta luetaan tai johon kirjoitetaan
      • Muistitietorekisteri (MDR): Väliaikainen säilytyspaikka, johon tallennetaan tietoja, jotka on luettu, tai tietoja, jotka on vielä kirjoitettava
      • Current Instruction Register (CIR): Alue, jossa nykyinen käsky suoritetaan. Operaatio on jaettu operandiin ja op-koodiin.
        • Operand: Sisältää datan tai datan osoitteen (jossa operaatio suoritetaan)
        • Opcode: Määrittää suoritettavan käskyn tyypin

Väylät:

  • Nämä ovat joukko rinnakkaisia johtoja, jotka yhdistävät komponentteja (kaksi tai useampia) suorittimen sisällä. CPU:n sisällä on kolmenlaisia väyliä, ja näitä kaikkia kutsutaan järjestelmäväyläksi. Väylätyypit ovat: Dataväylä, ohjausväylä ja osoiteväylä.
  • Dataväylä: Tätä väylää kutsutaan kaksisuuntaiseksi väyläksi, mikä tarkoittaa, että ”bittejä” voidaan kuljettaa molempiin suuntiin. Tätä väylää käytetään tietojen ja ohjeiden kuljettamiseen prosessorin, muistiyksikön ja tulo-/lähtöyksikön välillä.
  • Osoiteväylä: Siirtää muistin osoitteen, joka määrittää, mistä kyseinen tieto on lähetettävä tai haettava. (Osoiteväylä ei kuljeta dataa, ainoastaan osoitetta)
  • Ohjausväylä: Tämä on myös kaksisuuntainen väylä, jota käytetään ”ohjaussignaalien”/käskyjen välittämiseen suorittimelta (ja tilasignaalien välittämiseen muilta komponenteilta) tietokoneen kaikkien toimintojen ohjaamiseksi ja koordinoimiseksi.

Sisäänmenot/ulostulot:

  • Käyttäjältä välitetyt tiedot/käyttäjän vastaanottamat tiedot.

Von Neumann -arkkitehtuurin edut ja haitat

Edut Haitat
Ohjausyksikkö hakee käskyjä ja tietoja samalla tavalla yhdestä muistiyksiköstä. Tämä yksinkertaistaa ohjausyksikön kehittämistä ja suunnittelua Ohjelmien rinnakkainen suorittaminen ei ole mahdollista sarjakäskyjen käsittelyn vuoksi
Edellä mainittu etu tarkoittaisi myös sitä, että dataa muistista ja laitteista haetaan samalla tavalla. Näin ollen tehokkuus kasvaa Voidaan käyttää vain yhtä ”väylää” kerrallaan. Tämä johtaa siihen, että CPU on tyhjäkäynnillä (koska se on nopeampi kuin dataväylä) Tätä pidetään von Neumannin pullonkaulana
Edullisena ominaisuutena voidaan pitää sitä, että ohjelmoijilla on määräysvalta muistin organisointiin Vaikka sekä käskyjen että datan tallentumista samaan paikkaan voidaan pitää kokonaisuutena etuna. Tämä voi kuitenkin johtaa siihen, että ohjelman virheestä johtuen kirjoitetaan uudelleen sen päälle, mikä johtaa tietojen häviämiseen
Jos virheellinen ohjelma ei vapauta muistia silloin, kun se ei tarvitse sitä (tai lopeta sen käyttöä), se voi aiheuttaa tietokoneen kaatumisen, käytettävissä olevan muistin riittämättömyyden seurauksena

Von Neumannin pullonkaula

Kun prosessorit ja tietokoneet ovat vuosien mittaan kasvattaneet prosessointinopeuttaan ja muistin parannukset ovat kasvattaneet pikemminkin kapasiteettiaan kuin nopeuttaan, tämä oli johtanut termiin ”von Neumannin pullonkaula”. Tämä johtuu siitä, että prosessori viettää suuren osan ajasta tyhjäkäynnillä (tekemättä mitään) odottaessaan tietojen hakemista muistista. Riippumatta siitä, kuinka nopea prosessori on, tämä riippuu viime kädessä tiedonsiirtonopeudesta; itse asiassa, jos prosessori on nopeampi, tämä tarkoittaa vain sitä, että sillä on enemmän ”tyhjäkäyntiä”.

Tämän pullonkaulan voittamiseen tähtääviä lähestymistapoja ovat muun muassa:

  • Välimuistitallennus:
    • Tieto, joka on helpommin saatavilla RAM-muistissa sen sijaan, että se olisi tallennettu keskusmuistiin. Tähän tallennetaan sellaista dataa, jota käytetään usein.
  • Esihaku:
    • Jonkin datan kuljettaminen välimuistiin ennen kuin sitä pyydetään. Tämä nopeuttaa pääsyä, jos dataa pyydetään.
  • Monisäikeistäminen:
    • Monien pyyntöjen samanaikainen hallinta erillisissä säikeissä.
  • Uusia RAM-muistityyppejä:
    • Kuten esimerkiksi DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
    • Tämä RAM-tyyppi aktivoi ulostulon sekä järjestelmäkellon laskevalla että nousevalla reunalla, eikä vain nousevalla reunalla.
    • Tämä voi mahdollisesti kaksinkertaistaa ulostulon.
  • RAMBUS:
    • Alijärjestelmä, joka yhdistää RAM-ohjaimen, RAM-muistin ja väylän (polun), joka yhdistää RAM-muistin mikroprosessoriin ja sitä hyödyntäviin laitteisiin tietokoneessa.
  • Processing in Memory (PIM):
    • PIM:ssä on integroitu prosessori ja muisti yhdelle mikrosirulle.

Mitä on Harvard-arkkitehtuuri?

Harvard-arkkitehtuuri on saanut nimensä ”Harvard Mark I” -relepohjaisen tietokoneen mukaan, joka oli IBM:n tietokone Harvardin yliopistossa.

Tietokone säilytti käskyt ”reikänauhalle” (24 bitin leveydelle), lisäksi tiedot tallennettiin sähkömekaanisiin laskureihin. Näiden varhaisten tietokonejärjestelmien keskusyksikkö sisälsi datan tallennuksen kokonaan, eikä se tarjonnut pääsyä käskyvarastoon datana.

Harvard-arkkitehtuuri on arkkitehtuurityyppi, joka tallentaa datan ja käskyt erillään, jolloin muistiyksikkö on jaettu.

Harvard-arkkitehtuurin järjestelmän keskusyksikkö voi noutaa dataa ja käskyjä yhtä aikaa, koska arkkitehtuurissa on erilliset väylät datansiirtoa ja käskyjen noutoa varten.

Harvard-arkkitehtuurin ominaispiirteet

Kumpikin arkkitehtuurityyppi sisältää samat komponentit, mutta suurin ero on siinä, että Harvard-arkkitehtuurissa käskyjen nouto ja tiedonsiirto voidaan suorittaa samanaikaisesti (simultaanisti) (koska järjestelmässä on kaksi väylää, yksi tiedonsiirtoa ja yksi käskyjen noutoa varten).

Von-Neumann vs. Harvard-arkkitehtuuri Kuva 2

Harvard-arkkitehtuurin edut ja haitat

Edut Haitat
Johtuen siitä, että käskyn- ja tiedonsiirrot tapahtuvat eri väylillä, tämä tarkoittaa, että tietojen korruptoitumisen mahdollisuus on pienempi Kummallekin (datalle ja käskyille) varattu muisti on tasapainotettava valmistajan toimesta. Koska jos datamuistia on vapaana, sitä ei voida käyttää käskyille ja päinvastoin
Käskyjä ja dataa voidaan käyttää samalla tavalla Mutta tämä etu (vasemmalla) johtaa monimutkaisempaan arkkitehtuuriin, koska se vaatii kaksi väylää. Mikä tarkoittaa, että sen valmistaminen vie enemmän aikaa ja se tekee näistä järjestelmistä kalliimpia
Harvard-arkkitehtuuri tarjoaa suuren suorituskyvyn, koska tämä arkkitehtuuri sallii datan ja käskyjen samanaikaisen kulun. Nämä säilytetään erillisessä muistissa ja kulkevat erillisiä väyliä pitkin Tämä arkkitehtuuri on kuitenkin korkeasta suorituskyvystä huolimatta hyvin monimutkainen, erityisesti emolevyvalmistajille toteuttaa
Tämä arkkitehtuuri tarjoaa suuremman muistikaistanleveyden, joka on paremmin ennustettavissa, koska arkkitehtuurissa on erilliset muistit käskyille ja datalle Vaikka, kuten edellä mainittiin, vasemmanpuoleiseen etuun pääsemiseksi Harvard-arkkitehtuurissa tarvitaan ohjausyksikkö kahdelle väylälle. Mikä lisää monimutkaisuutta ja vaikeuttaa kehitystä. Kaikki tämä nostaa järjestelmän hintaa

Modifioitu Harvard-arkkitehtuuri

Von Neumann-arkkitehtuuri vs. Harvard-arkkitehtuuri:

Von Neumann -arkkitehtuuri Harvard-arkkitehtuuri
Perustuu tallennetun ohjelman tietokoneen konseptiin Perustuu Harvardin Mark I:een perustuvaan relepohjaiseen tietokonemalliin
Käyttää käskyille ja käskyllekkäisyyksille samoja fyysisiä muistiosoitteita. dataa Käyttää erillisiä muistiosoitteita käskyille ja datalle
Prosessorit vaativat kaksi kellojaksoa käskyn suorittamiseen Prosessori vaatii vain yhden kellojakson käskyn suorittamiseen
Von Neumannin arkkitehtuuri koostuu yksinkertaisemmasta ohjausyksikön rakenteesta, mikä tarkoittaa, että tarvitaan vähemmän monimutkaista kehitystä. Tämä tarkoittaa, että järjestelmästä tulee edullisempi Harvardin arkkitehtuurin ohjausyksikkö koostuu kahdesta väylästä, mikä johtaa monimutkaisempaan järjestelmään. Tämä lisää kehityskustannuksia, mikä johtaa kalliimpaan järjestelmään
Käskyjen hakua ja tiedonsiirtoa ei voida suorittaa samanaikaisesti Käskyjen hakua ja tiedonsiirtoa voidaan suorittaa samanaikaisesti
Käytetään kannettavissa tietokoneissa, henkilökohtaisissa tietokoneissa ja työasemissa Käytetään signaalinkäsittelyssä ja mikrokontrollereissa

Modifioitu Harvard-arkkitehtuuri:

Puhtaassa Harvard-arkkitehtuurissa on se haittapuoli, että on oltava mekanismi, joka erottaa latauksen suoritettavasta ohjelmasta käskymuistiin ja jättää näin ollen mahdolliset operoitavat tiedot datamuistiin.

Nykyaikaisissa järjestelmissä käytetään kuitenkin nykyään vain luku-tekniikkaa käskymuistiin ja luku-kirjoitus-tekniikkaa samaan muistiin.

Tällöin järjestelmä voi sallia ennalta ladatun ohjelman suorittamisen heti virran kytkemisen jälkeen.

Data on kuitenkin tuntemattomassa tilassa, joten se ei voi antaa ohjelmalle mitään ennalta määriteltyjä arvoja.

Ratkaisu tähän on tarjota konekielisiä ohjeita, jotta käskymuistin sisältö voidaan lukea ikään kuin se olisi dataa, sekä tarjota laitteistopolku.

Tänä päivänä useimmat Harvard-arkkitehtuurin omaksumiset ovat muunneltuja muotoja, joiden tarkoituksena on löysätä tiukkaa erottelua datan ja koodin välillä säilyttäen kuitenkin alkuperäisen Harvard-arkkitehtuurin korkean suorituskyvyn samanaikaisen datan ja käskyjen käytön.

Muunneltu Harvard-arkkitehtuuri on muunnelma alkuperäisestä Harvard-arkkitehtuurista. Niiden erona on kuitenkin se, että modifioidussa arkkitehtuurissa käskymuistin sisältöä voidaan käyttää datana.

Modifioituun Harvard-arkkitehtuuriin sovellettavat kolme tärkeintä modifikaatiota ovat:

  • Jaettu välimuistiarkkitehtuuri:
    • Tässä modifikaatiossa, joka on hyvin samankaltainen kuin von Neumannin arkkitehtuurissa, rakennetaan muistihierarkia, jossa CPU:n välimuistit ovat käskyjen ja datan välimuistia alemmilla tasoilla hierarkiatasoilla.
  • Instruction-memory-as-data-arkkitehtuuri:
    • Tämän modifikaation avulla voidaan käyttää käskymuistin sisältöä datana. Tämä voidaan toteuttaa, koska dataa ei voida suoraan suorittaa käskyinä.
    • (Tosin siitä kiistellään, voidaanko tätä itse asiassa kutsua ”muunnelluksi” Harvard-arkkitehtuuriksi)
  • Data-muisti kuin käsky -arkkitehtuuri:
    • Käskyjen suorittaminen mistä tahansa muistisegmentistä, toisin kuin Harvard-arkkitehtuurissa, jossa voidaan suorittaa vain ohjelmamuistisegmentistä noudettuja käskyjä.

Yhteenveto ja faktat

Von Neumannin arkkitehtuuri oli suuri edistysaskel 1940-luvulla käytössä olleista ohjelmaohjatuista tietokoneista. Tällaisia tietokoneita ohjelmoitiin asettamalla paikalleen liitosjohtoja ja kytkimiä, joiden avulla dataa ja ohjaussignaaleja ohjattiin eri toimintokokonaisuuksien välillä.

Tänä päivänä suurin osa tietokonejärjestelmistä käyttää samaa muistia sekä dataa että ohjelmakäskyjä varten.

Harvard-arkkitehtuurin keskusyksikkö voi noutaa dataa ja käskyjä yhtä aikaa, koska arkkitehtuurissa on erilliset väylät datansiirtoa ja käskyjen noutoa varten.

Mikä on von Neumann -arkkitehtuuri?

Von Neumann -arkkitehtuurilla tarkoitetaan arkkitehtuuria, jossa sekä data että ohjelmoidut ohjeet säilytetään kirjoitettavassa RAM-muistissa (Random Access Memory).

Von Neumann -arkkitehtuurin ominaispiirteet:

  • Keskusyksikkö (CPU)
  • Säätöyksikkö
  • Aritmeettinen ja looginen yksikkö (ALU)
  • Muistiyksikkö
  • Rekisterit:
    • Ohjelmalaskuri (PC)
    • Akkumulaattori (AC)
    • Muistiosoiterekisteri (MAR)
    • Muistitietorekisteri (MDR)
    • Virtaviivarekisteri (CIR)
  • Väylät:
    • Dataväylä
    • Adressiväylä
    • Valvontäväylä
  • Sisään-/ulostulot

Edut:

  • Vähän kalliimpi/kompleksisempi verrattuna Harvard-arkkitehtuuriin
  • Tehokkaampi

Haitat:

  • Von Neumann Pullonkaula
  • Suurempi mahdollisuus tietojen häviämiseen

Mikä on Harvard-arkkitehtuuri?

  • Harvard-arkkitehtuuri on tietokonejärjestelmä, jossa on kaksi erillistä aluetta datalle ja käskyille/ohjeille.
  • Harvard-arkkitehtuuri on arkkitehtuurityyppi, jossa data ja käskyt tallennetaan erikseen, jolloin muistiyksikkö on jaettu.

Hyötyjä:

  • Vähäisempi mahdollisuus tietojen korruptoitumiseen
  • Suuri suorituskyky
  • Suurempi muistin kaistanleveys

Haitat:

  • Kompleksinen
  • Kallis

Modifioitu Harvard-arkkitehtuuri:

Modifioitu Harvard-arkkitehtuuri on muunnelma alkuperäisestä Harvard-arkkitehtuurista. Erona näiden kahden välillä on kuitenkin se, että modifioidussa arkkitehtuurissa käskymuistin sisältöä voidaan käyttää datana.

Muunnettuun Harvard-arkkitehtuuriin sovellettavat kolme tärkeintä muutosta ovat:

  • Split-cache-arkkitehtuuri
  • Instruction-memory-as-data-arkkitehtuuri
  • Data-memory-as-instruction architecture
  1. https://www.techopedia.com/definition/19737/harvard-architecture
  2. https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
  3. https://getrevising.co.uk/grids/von-neumann-architecture
  4. http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
  5. https://en.wikipedia.org/wiki/Von_Neumann_architecture
  6. https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
  7. https://www.techopedia.com/definition/32480/von-neumann-architecture
  8. http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
  9. https://www.computerscience.gcse.guru/theory/von-neumann-architecture
  10. https://en.wikipedia.org/wiki/Modified_Harvard_architecture
  11. https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista.