Suunnitteluautomaatio
|
|
- Topi Karvonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 1 Suunnitteluautomaatio Prof. Jarmo Takala Tampereen teknillinen yliopisto Digitaali- ja tietokonetekniikan laitos
2 2 IC-teknologian tarjoamat mahdollisuudet IC-teknologian kehittyminen on mahdollistanut entistä kompleksisempien järjestelmien toteuttamisen yhdellä mikropiirillä Järjestelmien suunnitteluajat eivät ole pidentyneet Suunnitteluryhmien koko ei ole kasvanut Suunnittelutyön tuottavuus on kasvanut IC-piirit valmistetaan yhä pienemmillä teknologiilla Aloituskustannukset kasvaneet, saanto pienentynyt Piirin uudelleenvalmistus virheen löydyttyä on erittäin kallista Verifiointi ja testaus ovat entistä tärkeämpiä
3 Laitteistosuunnittelun kehittyminen log Transaction level suunnittelujen kompleksisuus IP-lohkot Behavioral level portit register-transfer-level (RTL) suunnittelutyön tuottavuus transistorit laitteistonkuvauskielet logiikkasynteesi Transaktio-tason mallit (TLM) SPICE Lay-Out Generation ASIC Place & Route IC-CAD logiikkasimulaatio suunnittelujen uudelleenkäyttö (IP) käyttäytymistason synteesi (behavioral-level synthesis) Digitaali- ja tietokonetekniikan laitos ECT Forum
4 4 Suunnittelun abstraktiotasot Suunnittelutyön tuottavuutta on kasvatettu suunnittelun abstraktiotasoa nostamalla Kätketään alemman tason toteutuksen yksityiskohdat Tarjotaan alusta ylemmän tason suunnittelulle Suunnittelija pääsee keskittymään suurempiin kokonaisuuksiin Yleensä suurimmat säästöt saavutetaan keskittymällä korkeamman tason optimointeihin
5 5 Abstraktiotasot lay-out porttikuvaus RTL reg logiikka logiikka reg laitteistonkuvauskieli BEGIN IF (dout7 = '1' OR dout7 = 'H') THEN mw_i0c_cnt <= " "; ELSIF (CLK'EVENT AND CLK='1') THEN IF (eq = '1' OR eq = 'H') THEN mw_i0c_cnt <= mw_i0n_cnt; END IF; END IF; END PROCESS I0clock_proc;
6 6 Abstraktiotasot Edellisissäabstraktiotaso kuvaa laitteiston rakennetta Kuvausvarsinaiseen toteutukseen on mekanisoitavissa Työkalu etsii kirjastosta sopivimmat alemman abstraktiotason toteutukset annettujen rajoitteiden rajoissa Suunnittelija kehittää rakenteen, jolla aikaansaadaan haluttulaitteiston käyttäytyminen Missä järjestyksessä operaatiot suoritetaan Montako aritmetiikkayksikköä on käytössä Miten laskentaresurssit kytketään toisiinsa Minne välitulokset talletetaan Montako rekisteriä tarvitaan jne.
7 7 Käyttäytymistaso Ei kuvata rakennetta vaan käyttäytyminen d = a*b; c=2*b; e=a+d; f=d+c; a b 2 r=e-f; =y+z; * * r z + y kellojakso resurssit: 1 ALU * * resurssit: kertoja ja summain * + * + + -
8 8 Logiikkasynteesi I/O-käyttäytyminen algoritmi teknologiakirjasto teknologiakirjasto Käyttäytymistason synteesi RTL-kuvaus RTL-synteesi Porttitason kuvaus I/O-liitynnän generointi operaatioiden vuoronnus datapolun ja kontrollin generointi analyysi Prosessissa pyritään löytämään ratkaisu, joka täyttää käyttäjän antamat rajoitteet: -pinta-ala, -suoritusaika, -kellotaajuus, -viive, -jne.
9 9 Suunnitteluavaruuden kartoitus Mahdollisia ratkaisuja on yleensä suuri määrä ja kaikkien ratkaisujen läpikäyminen on mahdotonta Käyttäytymistason suunnittelulla pyritään hakemaan mahdollisia laitteistoratkaisuja suoritusaika Pareto -käyrä (mahdollisten ratkaisujen avaruus) löydetty laitteistoratkaisu kustannus
10 10 Suunnitteluavaruuden kartoitus Edelleenkään ei ole olemassa työkalua, josta kustannustehokas toteutus saadaan nappia painamalla Ongelmana suunnitteluavaruuden laajuus Kaikkia mahdollisia ratkaisuja on mahdoton käydä läpi Automaattinen kartoitus perustuu tiettyihin sääntöihin pyrkii optimiin tietyn kaavan mukaan voi juuttua paikalliseen optimiin Suunnittelijan on pystyttävä tarjoamaan työkalulle riittävästi taustatietoa, jotta kustannustehokas löytyy Työkalun toiminta on ymmärrettävä, jotta prosessia osataan ohjataoikein
11 11 Suunnittelujen uudelleenkäyttö Yksinkertainen tapa kasvattaa suunnittelutyön tuottavuutta on käyttää uudelleen vanhoja suunnitteluja Liiketoimintamalli Lopputuotteena ei ole integroitu piiri tai layout-suunnittelu Kehitetään rakennelohkoja käytettäväksi asiakasyritysten suunnitteluissa Intellectual Property (IP) lohkot Hankaluutena IP-lohkon liityntä Ei ole olemassa standardi-liityntää Lohko pitäisi pystyä liittämään erilaisiin järjestelmiin helposti ja tehokkaasti
12 12 Sulautetut järjestelmät Perinteisesti suunnitteluautomaatio on keskittynyt puhtaan laitteiston suunnitteluun Ohjelmiston osuus toteutuksista on jatkuvasti noussut Joustavuus IP-lohkoissausein mukana prosessori Paras suorituskyky ja energiatehokkuus saavutetaan kuitenkin sovellukseen kehitetyllä laitteistolla laskentarakenteen optimointi tiettyyn sovellukseen tai sovelluskenttään on suhteellisen helppo tehtävä nykypäivänä, ongelmana on datapolun ohjaus Kontrollin tilojen määrä on kasvanut eponentiaalisesti Tilakoneohjaus on jäykkä Kontrolli toteutettu usein ohjelmallisesti (firmware)
13 13 Sulautetut järjestelmät Prosessori muisti muisti Prosessori (kontrolli) muisti Prosessori (kontrolli) muisti Prosessori (kontrolli) sovelluskohtainen laitteisto muisti (datapolku) IP-lohko sovelluskohtainen laitteisto muisti (datapolku) IP-lohko sovelluskohtainen laitteisto muisti (datapolku) IP-lohko -muistin fragmentoituminen, muistin pinta-alan kasvu -prosessoreiden määrä kasvaa
14 14 Sulautetut järjestelmät Prosessorin datapolun ulkopuolisia laitteistokiihdyttimiä ohjataan ohjelmiston alaisuudessa Ohjelmiston kehitystyökalut tuntevat ainoastaan prosessorin datapolun Ulkoinen laitteiston ohjauskoodi on kehitettävä manuaalisesti Laitteisto-ohjelmisto-integraatio vaatii parannusta
15 15 HW-SW SW-integraatio Järjestelmät koostuvat ohjelmistolla ohjatusta laitteistolohkoista Perinteisesti kaksi mekanismia laitteiston käyttämiseen ohjelman alaisuudessa ❶Käskykannan laajennukset Kovon suoritusaika korkeintaan muutama kellojakso Rinnakkaista suoritusta ei yleensä tueta Muut resurssit odottavat kiihdyttimen valmistumista Voi johtaa eksoottisiin muistiorganisaatioihin ❷Keskeytykset Kovon suoritusaika useita tuhansia kellojaksoja Kovon jakaminen usean tehtävän kesken käytännössä mahdotonta Keskeytyspalvelu voi olla pitkä Siirretään suuria datalohkoja Tehtävän vaihto lisää käyttöjärjestelmän kuormaa T1 tehtävän vaihto T2 ISE-HW mul b Keskeytys ja tehtävän vaihto T1 aloita HW HW laskenta HW valmis
16 16 Sulautetut järjestelmät Applications API 1 Monolithic Operating System API N HAL Ohjelmistoarkkitehtuurit koostuvat kerroksista Aiheuttavat ylimääräistä kuormaa Tehokas laitteistoresurssien käyttö vaatii standardirajapintojen ohittamista Ohjelmakoodi fragmentointuu Cache-muistien hyöty vähenee
17 17 Sulautetun järjestelmän abstraktiotasot suorituskykymallit säikeet tehtävät prosessit task-level models syntesoitavat VHDL-ohjelmat VHDL-ohjelmat C-ohjelmat SystemC-ohjelmat C++-ohjelmat Java-ohjelmat Java byte code -ohjelmat programs standardisolusuunnittelut FPGAkonfiguraatiot JVM eecutables FPGA-piirit ASIC-piirit prosessorit silicon chips
18 18 Haasteita Abstraktiotasojen määrä on kasvanut huomattavasti Alemman tason toteutuksen yksityiskohdat kätkeytyvät tehokkaasti Kustannustehokkaan toteutuksen löytämiseen tarvitaan tietoa laitteiston ominaisuuksista, mutta se ei ole käytettävissä ylemmillä abstraktiotasoilla Erityisesti tärkeä reaaliaikajärjestelmissä on aika laitteisto tarjoaa tarkan ajoituksen, mutta ohjelmistokerroksissa ajoitustieto hävitetään Abstraktiotason nosto ei ole enää ratkaisu Tarvitaan tehokkaampia menetelmiä ohjelmiston ja laitteiston integroimiseksi
19 19 Haasteita Rinnakkaisuus järjestelmissä lisääntyy Käskytaso, säikeet, tehtävät, prosessorit jne. Rinnakkaisuus on saatava paremmin hallintaan, erityisesti ohjelmiston kehityksessä Arvioiden mukaan alle 10nm teknologia ollaan ottamassa käyttöön v CMOS-teknologian rajat alkavat tulla vastaan Käyttöön tulee uusia teknologioita, jotka vaativat uudenlaisia suunnittelumenetelmiä Suunnittelijaltatullaan jatkossakin vaatimaan asiantuntemusta Tehokas toteutus ei tule jatkossakaan nappia painamalla
Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.
Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja
LisätiedotASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg
Digitaalitekniikka (piirit) Metropolia / AKo Pikku nnitteluharjoitus: Suunnitellaan sekvenssipiiri, jolla saadaan numerot juoksemaan seitsensegmenttinäytöllä: VHDL-koodin generointi ASM-kaavioista Tässä
LisätiedotAgenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi
1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 11.08.2010 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ
Lisätiedot4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
Lisätiedot5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi
5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotAUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja s2009 1. D-kiikku Toteuta DE2:lla synkroninen laskukone, jossa lasketaan kaksi nelibittistä lukua yhteen. Tulos esitetään ledeillä vasta,
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
LisätiedotTietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
LisätiedotTietokoneen toiminta (Computer Organization I)
581305-6 toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2002 Avoin yliopisto 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
LisätiedotOHJ-4301 Sulautettu Ohjelmointi
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
LisätiedotVHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä
Pasi Vähämartti TEHTÄVÄT 1(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä entity JK_kiikku2 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic;
LisätiedotTIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
LisätiedotL models. Käyttöohje. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
LisätiedotTekoäly ja alustatalous. Miten voit hyödyntää niitä omassa liiketoiminnassasi
Tekoäly ja alustatalous Miten voit hyödyntää niitä omassa liiketoiminnassasi AI & Alustatalous AI Digitaalisuudessa on 1 ja 0, kumpia haluamme olla? Alustatalouden kasvuloikka Digitaalisen alustatalouden
LisätiedotVerilogvs. VHDL. Janne Koljonen University of Vaasa
Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet
LisätiedotXML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.
XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus
LisätiedotSoftware product lines
Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product
Lisätiedotf(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
LisätiedotTietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus
LisätiedotTietokoneen toiminta (Computer Organization I)
581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville Aihepiiri Sovellukset Teknologia Samanaikaisuus
LisätiedotRosemount 3051S sähköiset ERS-anturit
sähköiset ERS-anturit Uudentasoiset mittausratkaisut erityiskohteisiin Uusi ratkaisu vanhaan ongelmaan Kaikkialta löytyy mittauksia, joiden luotettava toiminta edellyttää sekä aikaa että voimavaroja. Tyypillisiä
LisätiedotMiten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?
Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ
LisätiedotKäyttöjärjestelmät: prosessit
Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä
LisätiedotOngelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
Lisätiedot$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä
$$$ Raha ratkaisee On vaara rakastua tekniikkaan, myös asiakkailla Kaikki pitää pystyä perustelemaan taloudellisesti Projektin toteutus yleensä -> voidaan jättää toteuttamatta, jos ei maksa itseään takaisin
LisätiedotPalvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
LisätiedotBL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit
BL4A17x Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit Ohjelmoitavat logiikkapiirit (PLD, Programmable Logic Device) PLD (Programmable Logic Device) on yleinen nimitys integroidulle piirille,
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri
Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio
LisätiedotOhjelmistoradio. Mikä se on:
1 Mikä se on: SDR = Software Defined Radio radio, jossa ohjelmisto määrittelee toiminnot ja ominaisuudet: otaajuusalue olähetelajit (modulaatio) olähetysteho etuna joustavuus, jota tarvitaan sovelluksissa,
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotLiikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola
Liikehavaintojen estimointi langattomissa lähiverkoissa Diplomityöseminaari Jukka Ahola ESITYKSEN SISÄLTÖ Työn tausta Tavoitteen asettelu Johdanto Liikehavaintojen jakaminen langattomassa mesh-verkossa
LisätiedotTietokoneen toiminta (Computer Organization I)
581305-6 toiminta (Computer Organization I) Tiina Niklander Helsingin yliopisto Tietojenkäsittelytieteen laitos Kalvot: Teemu Kerola 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet
Lisätiedot(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
LisätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
LisätiedotTestidatan generointi
Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
LisätiedotAgenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?
OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali
LisätiedotTietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
LisätiedotKorkean resoluution ja suuren kuva-alueen SAR
Korkean resoluution ja suuren kuva-alueen SAR Risto Vehmas, Juha Jylhä, Minna Väilä ja prof. Ari Visa Tampereen teknillinen yliopisto Signaalinkäsittelyn laitos Myönnetty rahoitus: 50 000 euroa Esityksen
LisätiedotKäännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
LisätiedotDigitaalitekniikka (piirit), kertaustehtäviä: Vastaukset
Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Metropolia/AK. Mealyn koneessa on kolme tulosignaalia, joista yksi vaikuttaa pelkästään lähtösignaaleihin, yksi pelkästään koneen tilaan ja yksi
LisätiedotProjektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus
Projektisuunnitelma (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Ville Toiviainen Tomi Tuovinen Lauri af Heurlin Tavoite Projektin tarkoituksena
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
LisätiedotTKT-3201 Tietokonearkkitehtuuri 2. Luku 1: Tietokoneen abstraktiot ja tekniikka
TKT-3201 Tietokonearkkitehtuuri 2 Luku 1: Tietokoneen abstraktiot ja tekniikka #2 Tietokone Henkilökohtainen tietokone (Personal Computer, Desktop, Laptop) Suunniteltu tuottamaan hyvä suorituskyky yhdelle
LisätiedotRinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka
Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman
LisätiedotSuunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
LisätiedotΣ!3674. Advanced Test Automation for Complex Software-Intensive Systems
Advanced Test Automation for Complex Software-Intensive Systems = Advanced Test Automation for Complex Software- Intensive Systems Pääteemana kompleksisten ja erittäin konfiguroitavien softaintensiivisten
LisätiedotRinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi
Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli
LisätiedotProjektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus
Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Ville Toiviainen Tomi Tuovinen Lauri af Heurlin Tavoite Projektin tarkoituksena on luoda valmis sekvenssiohjelma säätötekniikan
LisätiedotKertausluento luennoista 1-3 1
Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi
LisätiedotSulautetut järjestelmät
Sulautetut järjestelmät Johdatus sulautettuihin järjestelmiin (JSU) Pekka Toivanen E-Mail: Pekka.Toivanen@uef.fi GSM: +358 40 543 9021 Syksy 2017 Opintojakso Luennot ti 7.11. klo 8-10, Sali F211 Seminaari
LisätiedotOHJELMISTOKEHITYS -suuntautumisvaihtoehto
OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotKehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa
MATNE Tutkimusseminaari 17.11.2011 Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa Markku Jokinen 2 Sisällys Johdanto WARP ohjelmistoradioalusta HF-toteutus lmenneet rajoitukset ohjelmistoradioalustalla
LisätiedotA215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007
Kurssiesittely Tietojenkäsittelytieteiden laitos Tampereen yliopisto A215 Tietorakenteet Periodit I-II, syksy 2007 Luennot/vastuuhenkilö: Heikki Hyyrö Sähköposti: heikki.hyyro@cs.uta.fi Kurssin kotisivu:
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
LisätiedotOtto Esko Siirtoliipaistujen prosessorien käyttäminen FPGA-pohjaisissa järjestelmäpiireissä
Otto Esko Siirtoliipaistujen prosessorien käyttäminen FPGA-pohjaisissa järjestelmäpiireissä Kandidaatintyö Tarkastaja: Erno Salminen TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Signaalinkäsittelyn ja tietoliikennetekniikan
LisätiedotTutkintovaatimukset suoraan DI-vaiheeseen valituille
1 / 10 Tutkintovaatimukset suoraan DI-vaiheeseen valituille Tutkintovaatimukset määräytyvät suoraan DI-vaiheeseen valituilla opiskelijoilla pääsääntöisesti samoin kuin muillakin DI-tutkintoa suorittavilla
LisätiedotEnergiatehokkuutta parantavien materiaalien tutkimus. Antti Karttunen Nuorten Akatemiaklubi 2010 01 18
Energiatehokkuutta parantavien materiaalien tutkimus Antti Karttunen Nuorten Akatemiaklubi 2010 01 18 Sisältö Tutkimusmenetelmät: Laskennallinen materiaalitutkimus teoreettisen kemian menetelmillä Esimerkki
LisätiedotAlgoritmit 2. Luento 8 To Timo Männikkö
Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät
LisätiedotYlläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
LisätiedotOngelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
LisätiedotHajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin
Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:
LisätiedotLIITE. asiakirjaan. komission delegoitu asetus
EUROOPAN KOMISSIO Bryssel 12.10.2015 C(2015) 6823 final ANNEX 1 PART 6/11 LIITE asiakirjaan komission delegoitu asetus kaksikäyttötuotteiden vientiä, siirtoa, välitystä ja kauttakulkua koskevan yhteisön
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotTietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
LisätiedotTulevaisuuden Internet. Sasu Tarkoma
Tulevaisuuden Internet Sasu Tarkoma Johdanto Tietoliikennettä voidaan pitää viime vuosisadan läpimurtoteknologiana Internet-teknologiat tarjoavat yhteisen protokollan ja toimintatavan kommunikointiin Internet
LisätiedotOhjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
LisätiedotOngelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
Lisätiedot- Jarjestelmaasiantuntija Markku Jaatinen
SUOMEN KUNTALIITTO Sairaalapalvelut Terveydenhuollon ATK-päivät 26. - 27.5.1 997 Lahti, Kauppahotelli Grand - Jarjestelmaasiantuntija Markku Jaatinen Telecom Finland Tietojenhallinta Intranetin ja Internetin
LisätiedotBig Room -toiminta tutkimuksen näkökulmasta. Sari Koskelo, Vison Oy
? Big Room -toiminta tutkimuksen näkökulmasta Sari Koskelo, Vison Oy 16.3.2018 Sisältö Big Room konseptin moniulotteisuus Tavoitteet Johtaminen Big Room toiminta kehitys- ja toteutusvaiheissa Big Room
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet
Järjestelmäarkkitehtuuri (TK081702) Integraation tavoitteita Lähtökohta Web-palvelut Asiakasrekisteri ERP, Tuotannon ohjaus Tuotanto Myynti Intranet Extranet? CRM Johdon tuki Henkilöstö Kirjanpito Palkanlaskenta
LisätiedotMAASTOMITTAUS- JA POHJATUTKIMUSYKSIKÖN KEHITTÄMISSUUNNITELMA 2015-2025
MAASTOMITTAUS- JA POHJATUTKIMUSYKSIKÖN KEHITTÄMISSUUNNITELMA 2015-2025 Liiketoiminnan johtokunta 15.1.2015 NYKYTILAN KUVAUS Palvelutuotanto Runkomittaus Kaavan pohjakartan ylläpito Maaperätutkimukset Tonttien
Lisätiedot1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
LisätiedotOsittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit
6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit
LisätiedotHuawei E3276s ohjelmistopäivitys
Huawei E3276s ohjelmistopäivitys 1. Aloita kytkemällä nettitikku tietokoneen USB-porttiin. Jos nettitikku ei ole aikaisemmin ollut käytössä tässä tietokoneessa, niin hetken päästä aukeaa Mobile Broadband
LisätiedotTurvallisuusseminaari 30.11 1.11.2006 Silja-Line
Turvallisuusseminaari 30.11 1.11.2006 Silja-Line Koneturvallisuus ohjausjärjestelmät ja niihin liittyvät tiedonsiirtojärjestelmät Toiminnallinen turvallisuus Standardi IEC 62061 Koneturvallisuus turvallisuuteen
LisätiedotAlgoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
LisätiedotSISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet
SISÄLLYS 1 2 3 4 Tietokoneen toimintaperiaate ja käyttö 14 1.1 Mikä tietokone on? 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin tietokoneisiin
LisätiedotJohdatusta ohjelmistotekniikkaan
Johdatusta ohjelmistotekniikkaan OT:n historiaa 4 vaihetta (1/2) 1. Vaihe (0 60-luvun alku) Vähän tietokoneita Eräajo-tyyppisiä ohjelmia Pääasiassa matemaattisia, pieniä yhden käyttäjän sovelluksia Ei
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotHP Sure View. Tekninen asiantuntijaraportti. Yrityksen ruutujen suojaus napin painalluksella. Toukokuu 2018
Tekninen asiantuntijaraportti HP Sure View Yrityksen ruutujen suojaus napin painalluksella Toukokuu 2018 Tekninen asiantuntijaraportti HP Sure View 01 Sisällysluettelo Johdanto... 03 Näytönsuojan asettaminen
LisätiedotAlgoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
LisätiedotMillainen on menestyvä digitaalinen palvelu?
Millainen on menestyvä digitaalinen palvelu? TOIMIVA ÄLYKÄS ILAHDUTTAVA Ohjelmistokehitys Testaus ja laadunvarmistus Ohjelmistorobotiikka Tekoäly Käyttöliittymäsuunnittelu Käyttäjäkokemussuunnittelu 1
LisätiedotOhjelmien automaattisen verifioinnin reunamailla
Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,
LisätiedotKombinatorinen optimointi
Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein
LisätiedotYlläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
Lisätiedot7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
LisätiedotOhjelmistojen mallintaminen
Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta
Lisätiedotohjelman arkkitehtuurista.
1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä
LisätiedotITK130 Ohjelmistojen luonne
ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys
LisätiedotSijainnin merkitys Itellassa GIS. Jakelun kehittämisen ajankohtaispäivä
Jakelun kehittämisen ajankohtaispäivä Karttajärjestelmällä havainnollisuutta, tehokkuutta ja parempaa asiakaspalvelua Käytännön kokemuksia pilotoinneista ja käytössä olevista karttajärjestelmistä Juha
Lisätiedot