Ingiza na Jaribu Kompyuta katika Lugha ya Mashine: Hatua 6
Ingiza na Jaribu Kompyuta katika Lugha ya Mashine: Hatua 6
Anonim
Image
Image

Katika Agizo hili, nitakuonyesha jinsi ya kuweka kificho na kujaribu programu ya kompyuta kwa lugha ya mashine. Lugha ya mashine ni lugha ya asili ya kompyuta. Kwa sababu imejumuishwa na nyuzi za 1s na 0s, haieleweki kwa urahisi na wanadamu. Ili kufanya kazi karibu na hii, tunaweka nambari za programu kwanza kwa lugha ya kiwango cha juu kama C ++ au Java kisha tutumie programu maalum za kompyuta kuzitafsiri katika kompyuta za 1s na 0s zinaelewa. Kujifunza kuweka nambari kwa lugha ya kiwango cha juu bila shaka ni jambo lisilo na maana lakini utangulizi mfupi wa lugha ya mashine inaweza kutoa ufahamu muhimu juu ya jinsi kompyuta zinavyofanya kazi na kuongeza kuthamini teknolojia hii muhimu sana.

Ili kuweka kificho na kujaribu programu ya lugha ya mashine, tunahitaji ufikiaji wa kompyuta isiyo na frills ambayo lugha ya mashine inaeleweka kwa urahisi. Kompyuta za kibinafsi ni ngumu sana hata kuzingatiwa. Suluhisho ni kutumia Logisim, simulator ya mantiki, inayotumia kompyuta ya kibinafsi. Kwa Logisim tunaweza kuiga kompyuta ambayo inakidhi mahitaji yetu. Video hapo juu inakupa wazo ambalo tunaweza kufanikisha na Logisim.

Kwa muundo wa kompyuta, nilibadilisha moja kutoka kwa kitabu changu cha e-kitabu cha Jenga Kompyuta yako mwenyewe - Kutoka Mwanzo. Nilianza na kompyuta ya BYOC iliyoelezewa hapo na kuipunguza kwa msingi wa BYOC-I (mimi wa Kufundisha) tutakayotumia katika hii inayoweza kufundishwa.

Lugha ya mashine ya BYOC-I ni rahisi na rahisi kueleweka. Hutahitaji maarifa yoyote maalum ya kompyuta au programu. Inayohitajika ni akili ya kudadisi na hamu ya kujifunza

Kusoma zaidi

Unaweza kushangaa kwa nini tunatumia "mashine" kuelezea kompyuta wakati sio kifaa cha mitambo. Sababu ni ya kihistoria; vifaa vya kwanza vya kompyuta vilikuwa vya mitambo vyenye gia na magurudumu. Nyimbo ya Allan Sherman, "Zilikuwa gia zote zikienda kwa kubofya…" ilikuwa mbali karne moja au mbili. Soma zaidi juu ya kompyuta ya mapema hapa.

Hatua ya 1: Orodha ya Sehemu

Utawala wa Mashine na Nambari
Utawala wa Mashine na Nambari

Orodha ya sehemu ni fupi. Vitu hivi viwili tu vinahitajika, zote zinaweza kupakuliwa bure:

  1. "Logisim-win-2.7.1.exe" - Logisim ni maarufu na rahisi kutumia simulator ya mantiki. Pakua faili inayoweza kutekelezwa ya Logisim kutoka hapa kisha uunda njia fupi mahali pazuri kama desktop yako. Bonyeza mara mbili ikoni ya Logisim ili kuizindua. Kumbuka: Logisim hutumia Kifurushi cha Runtime cha Java kilicho hapa. Unaweza kuulizwa kuipakua.
  2. BYOC-I-Full.cir "- Pakua faili ya mzunguko wa Logisim hapa chini.

Anzisha Logisim kisha bonyeza "File-Open" na upakie faili ya BYOC-I-Full.cir. Picha hapo juu inaonyesha mazingira ya kazi ya Logisim. BYOC-I inawakilishwa na kizuizi cha subcircuit. Imeunganishwa nje ni pembejeo mbili, Rudisha na Run, na maonyesho ya hexadecimal kwa sajili za BYOC-I na kumbukumbu ya programu.

Kumbukumbu ya mpango wa BYOC-I imepakiwa mapema na programu rahisi ambayo inahesabu kutoka 1 hadi 5 katika sajili ya A. Ili kutekeleza (Run) programu, fuata hatua hizi.

Hatua ya 1 - Bonyeza kwenye Zana ya Poke. Mshale lazima ubadilike kwa "kidole" kinachopiga. Hatua ya 2 - Piga pembejeo ya Rudisha mara mbili, mara moja kuibadilisha kuwa "1" na tena kuibadilisha iwe "0". Hii inaweka upya BYOC-I kuanza programu kwa anwani ya 0. Hatua ya 3 - Piga pembejeo ya Run mara moja kuibadilisha iwe "1". Rejista inapaswa kuonyesha hesabu ikibadilika kutoka 1 hadi 5 kisha kurudia. Hatua ya 4 - Ikiwa mpango hautekelezi, bonyeza kudhibiti K na inapaswa kuanza.

Ikiwa unataka kuchunguza uwezo wa Logisim, bonyeza kitufe cha Usaidizi kwenye Menyu ya Menyu. Kutoka hapo, unaweza kukagua Logisim "Mafunzo", "Mwongozo wa Mtumiaji", na "Rejea ya Maktaba". Utangulizi bora wa video unapatikana hapa.

Hatua ya 2: Usimamizi wa Hesabu na Nambari za Lugha

Utawala wa Mashine na Nambari
Utawala wa Mashine na Nambari

Kompyuta ya BYOC-I hufanya kazi kulingana na mipango iliyoandikwa kwa lugha ya mashine. Programu za BYOC-I, kwa upande wake, zinaundwa na maagizo yaliyotekelezwa kwa mlolongo ulioelezewa vizuri. Kila maagizo yametengenezwa na nambari za urefu uliowekwa ambazo zinawakilisha vifaa anuwai vya utendaji wa BYOC-I. Mwishowe, nambari hizi zinajumuisha nyuzi za 1s na 0s ambazo hufanya lugha ya mashine BYOC-mimi hufanya.

Kwa njia ya ufafanuzi, tutaanza na nambari na tufanye kazi hadi kiwango cha programu. Halafu tutatia msimbo mpango rahisi, tupakia kwenye kumbukumbu ya BYOC-I, na uitekeleze.

Nambari zina idadi maalum ya nambari (1 na 0) au nambari, kwa kifupi. Kwa mfano, jedwali hapa chini linaonyesha nambari zote zinazowezekana (16 kwa jumla) kwa nambari 4 kwa upana. Imeonyeshwa kando ya nambari ni hexadecimal (msingi 16) na sawa na decimal. Hexadecimal hutumiwa katika kurejelea maadili ya kibinadamu kwani ni ngumu zaidi kuliko ya kibinadamu na ni rahisi kubadilisha kutoka kwa binary kuliko decimal. Kiambishi awali cha "0x" kinakuwezesha kujua nambari inayofuata ni hexadecimal au "hex" kwa kifupi.

Binary - Hexadecimal - Decimal0000 0x0000 00001 0x0001 10010 0x0002 20011 0x0003 30100 0x0004 40101 0x0005 50111 0x0007 71000 0x0008 81001 0x0009 91010 0x000A 101011 0x000B 111100 0x000C 121101 0000 00000000 0000

Upana wa nambari huamua ni vitu ngapi vinaweza kuwakilishwa. Kama ilivyoonyeshwa, nambari pana ya 4-bit hapo juu inaweza kuwakilisha hadi vitu 16 (0 hadi 15); Hiyo ni, mara 2 kuchukuliwa mara nne au 2 hadi 4 nguvu ni sawa na 16. Kwa ujumla, idadi ya vitu vinavyowakilishwa ni 2 iliyoinuliwa kwa nguvu ya nth. Hapa kuna orodha fupi ya uwezo wa n-bit code.

n - Idadi ya Vitu1 22 43 84 165 326 647 1288 256

Upana wa nambari za kompyuta za BYOC-I huchaguliwa kuchukua idadi ya vitu vitakavyowakilishwa na nambari hiyo. Kwa mfano, kuna Aina nne za Maagizo, kwa hivyo nambari pana ya 2-bit inafaa. Hapa kuna nambari za BYOC-I zilizo na maelezo mafupi ya kila moja.

Nambari ya Aina ya Maagizo (tt) Kuna aina nne za maagizo: (1) MVI - Sogeza thamani ya mara kwa mara ya 8-bit kwenye rejista ya kumbukumbu. Rejista ya kumbukumbu ni kifaa ambacho kinashikilia data kutumika kwa hesabu, (2) MOV - Hamisha data kutoka rejista moja hadi nyingine, (3) RRC - Fanya hesabu ya kujiandikisha-kuandikisha, na (4) JMP - Rukia kwa maagizo tofauti badala ya kuendelea na maagizo yanayofuata. Nambari za Aina ya Maagizo ya BYOC-I iliyopitishwa ni kama ifuatavyo.

00 MVI01 MOV10 RRC11 JMP

Nambari ya Sajili (dd na ss) BYOC-I ina rejista nne za 8-bit zinazoweza kuhifadhi maadili kutoka 0 hadi 255. Nambari ya 2-bit inatosha kuteua sajili nne:

00 F kujiandikisha 01 E kujiandikisha 10 D kujiandikisha11 Rejista

Nambari ya Hesabu (ccc) BYOC-I inasaidia shughuli nne za hesabu / mantiki. Ili kuruhusu upanuzi wa siku zijazo kwa mahesabu nane, nambari ya 3-bit hutumiwa:

000 ADD, ongeza nambari mbili za 8-bit katika rejista zilizoteuliwa na uhifadhi matokeo katika moja ya rejista 001 SUB, toa nambari mbili za 8-bit kwenye rejista zilizotengwa na uhifadhi matokeo katika moja ya rejista 010 - 011 Imehifadhiwa kwa matumizi ya baadaye 100 NA, kimantiki NA nambari mbili za 8-bit katika rejista zilizoteuliwa na kuhifadhi matokeo katika moja ya rejista 101 AU, kimantiki AU nambari mbili za biti 8 katika rejista zilizotengwa na kuhifadhi matokeo katika moja ya rejista 110 hadi 111, Imehifadhiwa kwa matumizi ya baadaye

Nambari ya Rukia (j) Nambari 1-bit ambayo inaonyesha ikiwa kuruka hakuna masharti (j = 1) au imewekwa kwenye matokeo ya hesabu ya sifuri (j = 0).

Takwimu / Anwani ya Anwani (v… v) / (a… a) data 8-bit inaweza kujumuishwa katika maagizo fulani yanayowakilisha maadili kutoka 00000000 hadi 11111111 au 0 hadi 255 decimal. Takwimu hizi zina upana wa bits 8 kwa kuhifadhi katika madaftari ya BYOC-I's 8-bit. Na hesabu ya desimali, hatuonyeshi zero zinazoongoza. Na hesabu ya kompyuta, tunaonyesha zero zinazoongoza lakini haziathiri thamani. 00000101 ni sawa na hesabu ya 101 au 5.

Marejeleo Yanayopendekezwa

Ujumbe wa Kibinadamu - https://learn.sparkfun.com/tutorials/binaryHexadecimal Notation -

Kusoma zaidi

Wazo la kutumia nambari kuendesha mchakato linarudi nyuma sana. Mfano mmoja wa kupendeza ni Jacquard Loom. Loom ya kiotomati ilidhibitiwa na mlolongo wa kadi za mbao ambazo shimo zilichimbwa zikiwakilisha nambari za uzi wa rangi tofauti kwa kusuka. Niliona yangu ya kwanza huko Uskochi ambapo ilitumika kutengeneza tartani zenye rangi. Soma zaidi kuhusu Jacquard Looms hapa.

Hatua ya 3: Anatomy ya Maagizo ya BYOC-I

Anatomy ya Maagizo ya BYOC-I
Anatomy ya Maagizo ya BYOC-I

Kwa kupewa nambari za BYOC-I, tunasonga hadi ngazi inayofuata, maagizo. Ili kuunda maagizo kwa BYOC-I, tunaweka nambari pamoja kwa mpangilio maalum na katika maeneo maalum ndani ya mafundisho. Sio nambari zote zinazoonekana katika maagizo yote lakini, wakati zinafanya, zinakaa mahali maalum.

Aina ya maagizo ya MVI inahitaji bits zaidi, 12 kwa jumla. Kwa kufanya neno la maagizo kuwa biti 12 kwa urefu, tunachukua maagizo yote. Zisizotumiwa (zinaitwa "usijali") bits hupewa thamani 0. Hapa kuna Seti ya Maagizo ya BYOC-I.

  1. Hoja Mara (MVI) - 00 dd vvvvvvvFa kazi: Songa thamani ya data ya 8-bit V = vvvvvvvv kwenye daftari la marudio dd. Baada ya utekelezaji, sajili dd itakuwa na thamani vvvvvvvv. Kifupisho: MVI R, V ambapo R ni A, D, E, au F. Mfano: 00 10 00000101 - MVI D, 5 - Sogeza thamani 5 kwa rejista ya D.
  2. Sogeza Sajili ya Kujiandikisha (MOV) - 01 dd ss 000000 Kazi: Hamisha data kutoka kwa daftari la chanzo ss hadi daftari la desination. Baada ya utekelezaji, rejista zote zina thamani sawa na rejista ya chanzo. Kifupisho: MOV Rd, Rs ambapo Rd ni rejista ya marudio A, D, E, au F na Rs ni rejista ya chanzo A, D, E, au F. Mfano: 01 11 01 000000 - MOV A, E - Sogeza thamani katika usajili E kusajili A.
  3. Jisajili kusajili Hesabu (RRC) - 10 dd ss ccc 000 Kazi: Fanya hesabu iliyoteuliwa ccc ukitumia daftari la chanzo ss na rejista ya marudio dd kisha uhifadhi matokeo katika rejista ya marudio. Vifupisho: ADD Rd, Rs (ccc = 000 Rd + Rs zilizohifadhiwa ndani Rd); SUB Rd, Rs (ccc = 001 Rd - Rs zilizohifadhiwa katika Rd); NA Rd, Rs (ccc = 100 Rd NA Rs zilizohifadhiwa katika Rd); OR Rd, Rs (ccc = 101 Rd AU Rs zilizohifadhiwa katika Rd) Mfano: 10 00 11 001 000 - SUB F, A - Ondoa thamani katika rejista A kutoka kwa rejista ya F na matokeo katika rejista ya F.
  4. Rukia Mafundisho Tofauti (JMP) - 11 j 0 aaaaaaaa Kazi: Badilisha utekelezaji kwa maagizo tofauti yaliyo katika anwani aaaa aaaa (a) Bila masharti (j = 1) -11 1 0 aaaaaaaaKifupisho: JMP L ambapo L ni anwani aaaa aaa Mfano: 11 1 0 00001000 - JMP 8 - Badilisha utekelezaji uwe anwani ya 8. (b) Kwa masharti (j = 0) wakati hesabu ya awali ilisababisha matokeo sio sifuri - 11 0 0 aaaaaaaaKifupisho: JNZ L ambapo L ni anwani aaaa aaaa Mfano: 11 0 0 00000100 JNZ 4 Ikiwa hesabu ya mwisho ilitoa thamani isiyo ya sifuri, badilisha utekelezaji kwa anwani 4.

Biti za neno la maagizo zimehesabiwa kushoto (muhimu zaidi MSB) kwenda kulia (kidogo muhimu LSB) kutoka 11 hadi 0. Mpangilio uliowekwa na maeneo ya misimbo ni kama ifuatavyo:

Bits - Code11-10 Aina ya Maagizo9-8 Usajili wa Maeneo7-6 Daftari la Chanzo5-3 Hesabu: 000 - ongeza; 001 - toa; 100 - mantiki NA; 101 - mantiki OR7-0 Thamani ya kawaida v… v na… a (0 hadi 255)

Seti ya mafundisho imefupishwa katika takwimu hapo juu. Kumbuka kuonekana kwa muundo na mpangilio wa nambari katika kila maagizo. Matokeo yake ni muundo rahisi kwa BYOC-I na inafanya maagizo iwe rahisi kwa mwanadamu kuelewa.

Hatua ya 4: Kuandika Maagizo ya Kompyuta

Kuandika Maagizo ya Kompyuta
Kuandika Maagizo ya Kompyuta

Kabla ya kuhamia kwenye kiwango cha programu, wacha tujenge maagizo ya mfano kwa kutumia Maagizo ya BYOC-I yaliyowekwa hapo juu.

1. Sogeza thamani 1 kusajili A. Daftari za BYOC-I zinaweza kuhifadhi maadili kutoka 0 hadi 255. Katika kesi hii, rejista A itakuwa na thamani 1 (00000001 binary) baada ya utekelezaji wa maagizo.

Kifupisho: MVI A, 1 Nambari Zinazohitajika: Aina MVI - 00; Daftari la Ziara A - 11; Thamani - 00000001 Neno la Mafundisho: 00 11 00000001

2. Hoja yaliyomo kwenye rejista A ili kujisajili D. Baada ya utekelezaji, rejista zote mbili zitakuwa na thamani ya awali kwenye rejista A.

Kifupisho: MOV D, A (Kumbuka, marudio ni ya kwanza na chanzo cha pili kwenye orodha) Nambari Zinazohitajika: Aina MOV - 01; Daftari la Ziara D - 10; Rejista ya Chanzo A - 11 Neno la Mafundisho: 01 10 11 000000

3. Ongeza yaliyomo kwenye daftari D kusajili A na kuhifadhi katika rejista A. Baada ya utekelezaji, rejista Thamani ya A itakuwa jumla ya thamani ya asili ya rejista A na rejista D.

Kifupisho: ADD A, D (Matokeo yamehifadhiwa katika rejista ya marudio) Nambari Zinazohitajika: Andika RRC - 10; Daftari la Ziara A - 11; Rejista ya Chanzo D - 10; Hesabu Ongeza - 000 Neno la Mafundisho: 10 11 10 000 000 (ccc ni 000 ya kwanza - ongeza)

4. Rukia sifuri kushughulikia 3. Ikiwa matokeo ya hesabu ya mwisho hayakuwa sifuri, utekelezaji utabadilika kuwa maagizo kwenye anwani uliyopewa. Ikiwa sifuri, utekelezaji huanza tena kwa maagizo yafuatayo.

Kifupisho: JNZ 3 Nambari Zinazohitajika: Chapa JMP - 11; Aina ya Rukia - 0; Anwani - 00000003 Neno la Mafundisho: 11 0 0 00000003 (Aina ya Rukia ni ya kwanza 0)

5. Rukia bila masharti kushughulikia 0. Baada ya utekelezaji, mabadiliko ya utekelezaji kwenye maagizo kwenye anwani uliyopewa.

Kifupisho: JMP 0 Nambari Inahitajika: Aina JMP - 11; Aina ya Rukia - 1; Anwani - 00000000 Neno la Maagizo; 11 1 0 00000000

Wakati uandishi wa mashine ni wa kuchosha, unaweza kuona kuwa sio ngumu sana. Ikiwa ungeweka alama ya mashine kwa kweli, ungetumia programu ya kompyuta inayoitwa mkusanyiko kutafsiri kutoka kwa kifupi (kinachoitwa kificho cha kusanyiko) hadi nambari ya mashine.

Hatua ya 5: Anatomy ya Programu ya Kompyuta

Anatomy ya Programu ya Kompyuta
Anatomy ya Programu ya Kompyuta

Programu ya kompyuta ni orodha ya maagizo ambayo kompyuta hufanya kuanzia mwanzoni mwa orodha kuendelea hadi orodha hadi mwisho. Maagizo kama JNZ na JMP yanaweza kubadilisha ni maagizo gani yanayotekelezwa baadaye. Kila maagizo kwenye orodha yanachukua anwani moja kwenye kumbukumbu ya kompyuta kuanzia saa 0. Kumbukumbu ya BYOC-I inaweza kushikilia orodha ya maagizo 256, zaidi ya kutosha kwa madhumuni yetu.

Programu za kompyuta zimeundwa kutekeleza kazi iliyopewa. Kwa mpango wetu, tutachagua kazi rahisi, kuhesabu kutoka 1 hadi 5. Kwa wazi, hakuna maagizo ya "hesabu", kwa hivyo hatua ya kwanza ni kuvunja kazi hiyo kwa hatua ambazo zinaweza kushughulikiwa na BYOC-mimi sana kuweka maagizo mdogo.

Hatua ya 1 Songa 1 kusajili AStep 2 Sogeza rejista A kusajili DStep 3 Ongeza rejista D kusajili A na uhifadhi matokeo katika rejista AStep 4 Hoja 5 kusajili EStep 5 Ondoa rejista A kutoka rejista E na uhifadhi matokeo katika rejista EStep 6 Ikiwa matokeo ya kutoa hayakuwa sifuri, rudi kwenye Hatua ya 4 na uendelee kuhesabu Hatua ya 7 Ikiwa matokeo ya kutoa yalikuwa sifuri, rudi nyuma na uanze tena

Hatua inayofuata ni kutafsiri hatua hizi katika maagizo ya BYOC-I. Programu za BYOC-I zinaanza kwa anwani 0 na nambari mfululizo. Anwani za kuruka zinaongezwa mwisho baada ya maagizo yote kuwekwa.

Anwani: Maagizo - Ufupisho; Ufafanuzi; Ongeza rejista D kusajili A na kuhifadhi matokeo katika rejista A3: 00 01 00 00000101 - MVI E, 5; Sogeza rejista 5 E4: 10 01 11 001 000 - SUB E, A; Ondoa rejista A kutoka sajili E na uhifadhi duka matokeo ya rejista E5: 11 0 0 00000010 - JNZ 2; Ikiwa matokeo ya kuondoa hayakuwa sifuri, rudi kwenye anwani 3 na uendelee kuhesabu6: 11 1 0 00000000 - JMP 0;

Kabla ya kuhamishia programu kwenye kumbukumbu, nambari ya maagizo ya kibinadamu inapaswa kubadilishwa kuwa hexadecimal kutumia na Mhariri wa Hex ya Logisim. Kwanza, gawanya maagizo katika vikundi vitatu vya biti 4 kila moja. Kisha tafsiri vikundi katika hexadecimal ukitumia jedwali katika Hatua ya 2. Ni nambari tatu tu za mwisho za hexadecimal (kwa herufi ndogo hapa chini) zitatumika.

Anwani - Maagizo Binary - Maagizo Binary Split - Maagizo (Hex) 0 001100000001 0011 0000 0001 - 0x03011 011011000000 0110 1100 0000 - 0x06C02 101110000000 1011 1000 0000 - 0x0B803 000100000101 0001 0000 0101 - 10000000000000000000000000000000000000000000000000000000000000000000000000000001000 111000000010 1110 0000 0000 - 0x0E00

Ni wakati wa kuhamisha programu hiyo kwenye kumbukumbu ya BYOC-I kwa majaribio.

Hatua ya 6: Kuhamisha Programu hadi Kumbukumbu na Upimaji

Kuhamisha Programu hadi Kumbukumbu na Upimaji
Kuhamisha Programu hadi Kumbukumbu na Upimaji
Kuhamisha Programu hadi Kumbukumbu na Upimaji
Kuhamisha Programu hadi Kumbukumbu na Upimaji

Kuangalia mzunguko wa "kuu" wa Logisim, kizuizi cha BYOC-I kilichoonyeshwa ni ishara ya mzunguko halisi wa kompyuta ulioitwa "BYOC-I" kwenye Pane ya Explorer. Kuingiza programu kwenye kumbukumbu ya BYOC-I:

  1. Bonyeza kulia kizuizi cha BYOC-I (kinachoitwa "subcircuit") na uchague (hover juu na bonyeza kushoto) "Angalia BYOC-I".
  2. Mzunguko wa BYOC-I utaonekana katika eneo la Kazi. Bonyeza kulia kwenye ishara ya "Kumbukumbu ya Programu" na uchague "Hariri Yaliyomo..".
  3. Kutumia Mhariri wa Hex ya Logisim, ingiza nambari ya hexadecimal (kwa ujasiri tu) kama inavyoonyeshwa hapo juu.

Sasa uko tayari kutekeleza programu hiyo. Rudi kwenye mzunguko kuu kwa kubonyeza mara mbili "BYOC-I" kwenye Pane ya Kivinjari. Kukimbia na Kuweka upya pembejeo lazima iwe "0" kuanza. Kutumia zana ya Poke, badilisha kwanza Rudisha hadi "1" kisha urudi kwa "0". Hii inafanya anwani ya kuanzia 0x0000 na inaandaa mzunguko wa BYOC-I kwa utekelezaji. Sasa weka pembejeo ya Run kwa "1" na programu itatekeleza. (Kumbuka: Unahitaji sana kugonga Udhibiti-K mara moja ili kuanza saa ya Logisim. Hii ni huduma ambayo hukuruhusu kusimamisha saa ya Logisim na kupitisha programu kwa kugonga Control-T mara kwa mara. Jaribu wakati mwingine!)

Saa ya Logisim inaweza kutengwa kwa masafa anuwai. Kama kupakuliwa ni 8 Hz (mizunguko 8 kwa sekunde). Njia ambayo kompyuta ya BYOC-I imeundwa, kila maagizo huchukua mizunguko ya saa nne kukamilisha. Kwa hivyo, kuhesabu kasi ya BYOC-I, gawanya mzunguko wa saa na 4. Saa 8 Hz, kasi yake ni maagizo 2 kwa sekunde. Unaweza kubadilisha saa kwa kubofya "Fanya" kwenye upau wa zana na uchague "Tick Frequency". Kiwango kinachowezekana ni 0.25 Hz hadi 4100 Hz. Kasi ya polepole saa 8 Hz ilichaguliwa ili uweze kutazama hesabu katika rejista ya A.

Kasi ya juu ya uigaji wa BYOC-I (maagizo ~ 1000 kwa sekunde) ni polepole sana ikilinganishwa na kompyuta za kisasa. Toleo la vifaa vya kompyuta ya BYOC iliyoelezewa katika kitabu changu hufanya kwa maagizo zaidi ya milioni 12 kwa sekunde!

Natumahi hii inayoweza kufundishwa imeonyesha programu ya lugha ya mashine na kukupa ufahamu juu ya jinsi kompyuta zinavyofanya kazi katika kiwango chao cha msingi. Ili kupata uelewa wako, jaribu kuweka alama kwenye programu mbili hapa chini.

  1. Andika programu inayoanza saa 5 na hesabu hadi 0. (ANS. Count5to0.txt hapa chini)
  2. Kuanzia saa 2, hesabu kwa 3 hadi nambari izidi 7. Unaweza kufanya hesabu kidogo ya akili, angalia kwa 8 ukijua ingefika hapo kisha uanze tena. Andika programu yako kwa njia ya jumla ambayo inajaribu kweli ikiwa hesabu "inazidi" nambari maalum. Kidokezo: Chunguza kinachotokea wakati kutoa hutoa thamani hasi, sema 8 - 9 = -1 kwa mfano. Kisha jaribu mantiki NA kupima ikiwa MSB katika nambari 8-bit ni "1". (ANS. Inazidi Hesabu.txt)

Je! Unaweza kufikiria shida zingine ngumu kwa kompyuta ya BYOC-I? Kwa kuzingatia mapungufu yake, inaweza kufanya nini zaidi? Shiriki uzoefu wako nami kwenye [email protected]. Ikiwa una nia ya kusajili microprocessors, angalia wavuti yangu www.whippleway.com. Huko ninabeba usindikaji wa mashine kwa wasindikaji wa kisasa kama safu ya ATMEL Mega inayotumiwa katika Arduinos.

Ilipendekeza: