Solosaina

Ny **solosaina** na **kompiotera** na **ordinatera** dia milina elektrônika mandeha amin'ny famakiana tsirairay ny vondrombaiko mampanao azy tao ara-lojika ary aritmetika eo amina isa roa fototra.

Ny fampahalalana havadibadika dia azo na amin'ny famakiana ny tadidy, na amin'ny famakiana ireo mpanorina ivelany (device) mamadika ireo fampahalalana isan-karazany ho isa roa fototra (fihetsiky ny voalavo, bokotra voakitrika eo amin'ny kitendry, fana, hafaingana...). Rehefa ampiasaina na rehefa voavadibadika, averina soratana ireo fampahalalana ireo, na ao amin'ny tadidy na ao amina mpanorina manokana mamadika fampahalalana voasoratra amin'ny isa roa fototra ho tao (fanehoana eo amin'ny efajoro na fanaprintiana any amin'ny mpanaprinty, sns.)

Efa hatry ny afovoan'ny taonjato faha 20 ny teknolojia ankehitriny mikasika ny solosaina.

## Tantaran'ny solosaina

Vao haingana ny fampiasan'ny Malagasy ny teny "solosaina".  *Ordinatera*, na *kômpiotera* no fiantsoan'ny Malagasy azy talohan'ny fipoiran'ny teny "solosaina". Ny teny anglisy *computer* anefa dia efa nampiasaina nanomboka tamin'ny 1613. Ny porofon'izany dia ny boky "The yong mans gleanings" izay nosoratan'i Richard Braithwait *I haue read the truest computer of Times, and the best Arithmetician that euer breathed, and he reduceth thy dayes into a short number*. Ny teny *computer* tamin'izany fotoana izany ary hatramin'ny afovoan'ny taonjato faharoapolo dia midika olona manao fikajiana. Tamin'ny taonjato faha-19 ny teny *computer* vao manana ny dikany ankehitriny.
 
### Solosaina ankehitriny
Ny solosaina voalohany, izany hoe izay azo andaharana, dia ny milina fanamboarana lamba natsarain'i Joseph Marie Jacquard izay mampiasa karatra nolavadavahana.

## [[Fandaharana (solosaina)|Fandaharana]]

Ny toetra mampiavaka ny solosaina amin'ny fitaovana hafa dia ny fahafahana mametraka fandaharana. Izany hoe afaka omena karazana baiko ny solosaina, ary hovalian'ny solosaina iny baiko iny. 
Mampiasa ny rafitr'i rafitr'i von Neumann ny solosaina ankehitriny ary kaody milina (code machine) izay manana endrika fiteny fandaharana mandidy.

Ny fandaharana solosaina dia mety ho baiko vitsivitsy, na baiko isaina amin'ny tapitrisa. Baiko vitsivitsy ny haben'ny rindrankajy maivana toa ny rindrankajin'ny mpikajy, ary mety ahitana baiko maro tapitrisa ireo rindrankajy toa ny mpitety tranonkala na ireo mpandrindra milina. Afaka manatanteraka baiko mahery ny iray miliara isa-tsegondra (gigaflop)  ny solosaina ankehitriny, ary kely ny hadisoany afaka taona maro. Olona maro no mety ilaina amin'ny fanoratana fandaharana ahitana baiko tapitrisa maromaro, ary nohon'ny hasarotana na ny halavan'izany fandarahana izany dia mety hisy hadisoana tsy fanahy iniana ilay fandaharana. Ireo hadisoana ireo no mety antsoina hoe baogy, na bug amin'ny fiteny anglisy.

### Firafitry ny fandaharana voatahiry

Amin'ny ankapobeny dia mora ny endriky ny baiko ao amin'ny fandaharana: ampiana amin'ny isa iray ny isa iray hafa, manetsika data avy amin'ny toerana iray mankany amin'ny toerana iray hafa, mandefa hafatra any amin'ny fitaovana ivelany, mankany amin'ny andiany faha-x na miverina any amin'ny andiany faha-y.

Ohatry ny famakiana boky ny famakian'ny solosaina ny baikon'ny fandaharana iray. Mamaky ny baiko tsirairay ny solosaina ary rehefa tanteraka iny baiko iny, dia vakiany ny baiko manaraka ary toa izay hatrany hatramin'ny faran'ny fandaharana. Ary arakaraky ny karazam-baiko voavakin'ny solosaina, dia mety averin'ny solosaina tanterahina im-betsaka ny baiko iray, na mety tsy hotanterahiny ilay baiko.

### Baogy

Ny teny *baogy* dia avy amin'ny teny anglisy *bug*, izay midika «biby». Ny baogy dia hadisoana mitranga eo anivon'ny fandaharana iray. Tsindraindray izy ireo mety madinika ary tsy manana fiantraikany lehibe amin'ny fandehanan'ny fandaharana. Ary tsindraindray tsy mampandeha tsara ny fandaharana izay mety hanery ny mpandrindra milina hanidy azy. Tsy ny solosaina no mahatonga ny baogy, fa ny hadisoana nataon'ny mpanoratr'ilay fandaharana na fanadinona tao amin'ilay fanoratana ilay fandaharana.

### Kaody milina
Ao amin'ny ankamaroan'ny solosaina dia kaody milina ny fomba itahirizana ny baiko tsirairay; samy manana ny laharany (opcode) ny baiko. Opcode iray ny fanampiana isa roa ary opcode iray hafa ny fampitomboana izy ireo. Ny solosaina tsotra indrindra dia afaka manatanteraka karazam-baiko vitsivitsy (fanampiana, fampitomboana, fandikana, sns...); ireo solosaina manana rafitra sarotra dia afaka manatanteraka karazam-baiko mahery ny zato, izay samy manana ny kaody arak'isa. Rehefa afaka mitahiry isa ny tahirin'ny solosaina, dia afaka mitahiry ny kaodim-baiko ihany koa izy ireo. Izany zavatra izany no mahatonga ireo fandaharana azo evaina amin'ny alalan'ny isa izay afaka kirakirain'ny solosaina moramora kokoa. 

Na dia azo atao aza ny manoratra fandaharana amin'ny alalan'ny lisitr'isa lava be (fiteny milina), lava be ny manao izany ary betsaaka ny hadisoana mety hatao, indrindra indrindra amin'ny fandaharana sarotra. Ho solon'izany dia afaka omena anarana fohy ny baiko fotony izay mampamora ny fitadidiana azy. Ireo anarana mampamora ny fitadidiana ireo dia antsoana hoe fiteny fampitambarana (amin'ny teny anglisy : *assembly language*). Ny mpampitambatra (ang.: assembler) no mamadika ireo fangom-pandaharana ho kaody fantatry ny milina.

### Fiteny fanoratana fandaharana
Manome fomba maro amin'ny fanoratana fandaharana amin'ny solosaina ny fiteny fanoratana fandaharana. Natao ho fohy ary tsy hisy fiolakolahana ny fiteny fanoratana fandaharana. Teny soratana ihany izy ireo ary matetika sarotra tononina. Na izy ireo ho avadiky ny kaompilatera kaody milina, na voadika ho kaody milina amin'ny alalan'ny mpandika.

## Mpanorina

Ahitana mpanorina efatra ny solosaina. Ny ventin-kajy aritmetika ary lôjika (ALU, Arithmetic Logic Unit), ny venty famehezana, ny arika ary ny fitaovana fidirana/famoahana (I/O). Mifandray amin’ny alalan’ny bus izay vondron-tariby ireo venty ireo.

Samy ahitana olik’aratra aman-tapitrisany ireo venty ireo izay mety arehira na pihana amin’ny alalan’ny mpanapaka.

### Venty famehezana

Ny venty famehezana dia mikarakara ny mpanorin’ny solosaina, mamaky ny baikom-pandaharana ilay izy ary mamadika azy ireo ho efa mampandrehitra ny venty sasan’ny solosaina. Mety hanova ny filahatry ny baiko ny rafi-pamehezana sasany mba hampahatsara azy.

Mpanorina lakile iombonan’ny venty famehezana rehetra ny mpanisa fandaharana, izay selan’arika (rejistera) izay mitazona ny adiresin’arika hamakiana ny baiko manaraka.

Ny fandehan’ny ventiy famehezana dia :
# Mamaky ny kaody ho an’ny baiko manaraka avy amin’ny sela natoron’ny mpanisa fandaharana
# Mamadika ny kaody arak’isa ho vondrom-baiko ho alefa any amin’ny rafitra hafa.
# Mampitombo ny mpanisa fandaharana mba hanondroany ny baiko manaraka
# Mampitombo ny ita izay ilain’’ny sela ao amin’ny arika (na avy amin’ny fitaovana  fampidirana). Voatahiry ao anatin’ny kaodim-baiko ny toerana isian’io ita io.
# Manome ny VLA na ny rejistera ny ita ilainy
# Raha mila fitaovana manokana ny fanatanterahana ilay baiko, dia angatahana hanatanteraka ilay baiko ilay fitaovana manokana.
# Manoratra ny valin’ny VLA any amin’ny toeran’arika na any amin’ny rejistera
# Miverina amin’ny dingana (1)

Ny fandaharana dia vondrona selan’arika izay azo ovaina ao amin’ny ALU amin’ny alalan’ny kajy. Raha ampiana 100 ao amin’ilay mpanisa fandaharana dia ho baiko 100 miala eo amin’ilay baiko vao notanterahina ny baiko manaraka. Fitsambikinana na jump no antsoina izany zavatra izany. Hahafahana manao tondro mifolaka sy fepetra araka ny hitantsika ao amin’ny fiteny hanoratana fandaharana ny fitsambikinana.

### Venty lojika ary ara-drafitrisa (anglisy : ALU, malagasy : VLA)

Araka ny anarany ny VLA dia toerana hanaovana ny kajy  ara-drafitrisa ary lojika.

Ny kajy rehetra azo ataon’ny VLA dia mety ho voafetra amin’ny fanampiana ary fanalana. Mety afaka mampitombo sy mizara ihany koa ny VLA. Ireo VLA hary dia afaka manao kajy tirigônômetiria koa ny VLA toa ny sina, ny kôsinam sns. mety isa feno ihany no mety kajian’ny  na isa mihevaheva ihany no mety azo kajian’ny sasany.

Ny kajy lôjika dia manaraka ny lôjika booleana  : SADY (AND), NA (OR), TSY (NOT), NANA (XOR), ilaina amin’ny famoronana fanambaram-pepetra haro ireo.

Ahitana VLA maro ireo solosaina soperskalera, izay ahafahany manatanteraka kajy maro iray mipika. Ahitana VLA mahatanteraka kajy amin’ny tondro sy vohoka ireo praosesora grafika.

## Fiteny fampandaharana

### Arika
Ao amin'ny rafitra, ny arika dia azo heverina ho sela manana laharana ary ahitana ita vitsivitsy. Io ita io dia natao hanoroana ny solosaina ny zavatra tokony hataony, na ahitana data. Amin'ny ankapoben'ny rafitra dia mitovy ny arika ampiasain'ny data sy ny baiko.

### Fampidirana/Fivoahana

## Karazana
* Milin'i Turing
* Solosain'ny ho avy
** Solosaina Koantika
** Solosaina ADN
** Solosaina ôptika
** Solosaina nerônina

## Jereo koa

### Tsiahy