Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Co je instrukční sada?

Prošel jsem hodně stránek, ale stejnak jsem moc nepochopil v principu co to je instrukční sada u procesoru. Můžete napsat nějakou svojí definici nebo trochu podrobnější popis prosím, nejlépe s trochu více hledisek, nebo konkrétní příklad nějaký...?

příklad část definice co jsem našel
"Procesor musí obsahovat instrukce pro přesuny dat mezi pamětí a registry..."
Tzn, že procesor tyto instrukce má uloženy fyzicky v nějakém registru třeba, a to je jakoby ta IS? ...Takže to pak spolu musí nějak spolupracovat řadič nebo ALU a ta IS uložená v registru??
Nebo to nechápu prostě...

Předmět Autor Datum
Instrukcna sada je sada (zoznam) instrukcii ktore procesor pozna. Programy pozostavaju z instrukcii.… nový
MM.. 12.02.2015 20:06
MM..
A instrukcna sada neni nikde ulozena, ale vyplyva z toho jak je ten konkretny model CPU navrhnuty. nový
MM.. 12.02.2015 20:09
MM..
aha takže stručně řečeno, tak jak je procesor navrhnuty a sestaveny, tak podle toho dokáže provádět… nový
InsAS 12.02.2015 20:32
InsAS
Teoreticky. nový
Wikan 12.02.2015 20:33
Wikan
Ano tak. nový
MM.. 12.02.2015 20:41
MM..
Pár definicí, které by ti mohly pomoct se zorientovat. Procesor je obvodová realizace algoritmu, kt… nový
Niko Bellic 12.02.2015 20:14
Niko Bellic
Nejdřív se tě zeptám: K čemu to potřebuješ vědět? Pokud se používají vyšší programovací jazyky, uživ… nový
Yarda 12.02.2015 20:40
Yarda
potřeboval jsem to vědět kvůli maturitě, abych pochopil princip... už to ale chápu :) nový
InsAS 12.02.2015 20:48
InsAS
Ještě dodám: Ta čísla (0C3H, 0CDH v šestnáctkové soustavě) je tzv. strojní kód to JMP nebo CALL je j… nový
Yarda 12.02.2015 22:16
Yarda
to stim assemblerem a strojovym kodem uz taky chapu. CISC a RISC se právě ted učím (což je cca ta "h… nový
InsAS 12.02.2015 22:30
InsAS
Teraz neviem co chcu ti teoretici v skole aby si im o tom rozpraval, ale v praxi sa to tusim robi ta… nový
MM.. 12.02.2015 22:40
MM..
Proč to nedělá rovnou překladač? Kvůli paměťové náročnosti, jakože by pak byl program delší? Ale zas… nový
Niko Bellic 12.02.2015 22:47
Niko Bellic
CPU musi ostat kompatibilny s aplikaciami ktore existuju, inac by to nikto nekupoval :) Resp. dnes t… nový
MM.. 12.02.2015 22:48
MM..
A ano program by bol asi dlhsi, ale nespracovaval by sa rychlejsie. Z hladiska casu je to asi fuk, p… nový
MM.. 12.02.2015 22:51
MM..
Protože tahle přeložený program by na jednom procesoru mohl fungovat, na jiném už ne. poslední
Wikan 12.02.2015 22:55
Wikan
Doporučil bych volit lépe zkratky. IS (Islámský stát) nespolupracuje s nikým/ničím ...:puff: nový
antibalda 12.02.2015 22:53
antibalda

aha takže stručně řečeno, tak jak je procesor navrhnuty a sestaveny, tak podle toho dokáže provádět instrukce.

Takže čistě teoreticky kdybych si vytvořil "procesor" nebo třeba jen nějaký logický obvod kterej by uměl třeba jen funkci OR. Tak teoreticky pak můžu říct že seznam instrukční který procesor pozná je jedna a to OR/+ = instrukční sada.
?
dík

Pár definicí, které by ti mohly pomoct se zorientovat.

Procesor je obvodová realizace algoritmu, který dokáže vykonávat libovolné programy (algoritmy) sestavené z předem definovaných elementárních operací (instrukcí).

Procesor vykonává program, který je uložen od zadané adresy v paměti.

Hlavní komponenty:

Programový čítač (PC) - určuje adresu, kde se nachází následující instrukce. Po resetu je mj. definován i obsah PC.

Instrukční registr (IR) - uchovává právě zpracovávanou instrukci.

Řadič - řídí činnost procesoru, je to konečný automat, nastavuje řídící signály pro komponenty procesoru (např. je připojuje nebo odpojuje od sběrnice)

ALU - aritmeticko-logická jednotka, slouží k provádění matematických operací.

Sada registrů - registry slouží k dočasnému uložení dat, např. mezivýsledku nějaké operace.

Nejdřív se tě zeptám: K čemu to potřebuješ vědět? Pokud se používají vyšší programovací jazyky, uživatel se s instrukční sadou procesoru nemusí setkat.
Instrukční sada je cosi, co je vlastností daného typu procesoru. Já jsem se s ní setkal, když jsem programoval 8080 ve strojním kódu a pak v assembleru (pamatuji si z té doby, že třeba kód 0C3H + adresa je instrukce JMP adr, tj. skok programu na adresu adr, kde program pokračuje a 0CDH + adresa je instrukce CALL adr, tj. volání podprogramu co začíná na adrese adr - tahle instrukce mimo jiné sama uloží adresu, kam se má program vrátit, když podprogram skončí některou z návratových instrukcí.)

..."Procesor musí obsahovat instrukce pro přesuny dat mezi pamětí a registry..."

Dovedu si představit procesor, který by takové instrukce neobsahoval a přesunoval by data jen mezi paměťovými buňkami.

Ještě dodám: Ta čísla (0C3H, 0CDH v šestnáctkové soustavě) je tzv. strojní kód to JMP nebo CALL je jak se to píše v asembleru.
Jak moc ho hloubky to potřebuješ k maturitě? Ono to až tak jednoduché být nemusí, třeba může padnout dotaz co je to CISC a RISC.

to stim assemblerem a strojovym kodem uz taky chapu.
CISC a RISC se právě ted učím (což je cca ta "hloubka" asi), a akorát nechápu jednu věc moc.

Citace z rootu cz
"Dnes se setkáme hlavně s hybridní architektury – dnes nejpopulárnější mikroprocesory jsou sice interně vytvořeny jako RISCové, ale jejich instrukční sada je CISCová." -to mi nejni moc jasný, když to bylo HW vyrobeno jakoby jednoduše - tak mi z toho logicky vyplívá že ta instrukční sada nemůže být moc obsáhlá ne? Ale píšou že jejich instrukční sada je CISCová = hodně obsáhlá a složitá imo..., jak tam mužu použít tudle když jsem to vyrobil interně RISCově?

Teraz neviem co chcu ti teoretici v skole aby si im o tom rozpraval, ale v praxi sa to tusim robi tak ze v CPU su mechanizmy ktore zlozitu CISC instrukciu interne rozdelia na viac jednoduchych RISC instrukcii a tie sa vykonaju.

P.S. aj google to nasiel, sice tazko ale predsa :) Pisu ze su tak robene aj vsetky dnesne x86 CPU, myslim ze ano ale nebol som si isty zhlavy (nevedel som ci len P4 nebol ulet a potom ci sa na to nevybodli)
http://www.hardwaresecrets.com/article/Inside-Pent ium-4-Architecture/235/4

Zpět do poradny Odpovědět na původní otázku Nahoru