Բովանդակություն:

8-բիթանոց համակարգիչ Breadboard- ի ակնարկ. 3 քայլ
8-բիթանոց համակարգիչ Breadboard- ի ակնարկ. 3 քայլ

Video: 8-բիթանոց համակարգիչ Breadboard- ի ակնարկ. 3 քայլ

Video: 8-բիթանոց համակարգիչ Breadboard- ի ակնարկ. 3 քայլ
Video: LDmicro 5: PIC16F628A Breadboard Circuit (Microcontroller PLC Ladder Programming with LDmicro) 2024, Նոյեմբեր
Anonim
8-բիթանոց համակարգիչ Breadboard- ի ակնարկի վրա
8-բիթանոց համակարգիչ Breadboard- ի ակնարկի վրա

Այս նախագծի նպատակն էր համակարգչային ճարտարապետության, ապարատային դիզայնի և հավաքման մակարդակի լեզուների ավելի լավ պատկերացում կազմել: Լինելով համակարգչային ճարտարագիտություն սովորող համալսարանի կրտսեր ՝ ես վերջերս ավարտել էի էլեկտրոնիկայի դասընթացները, լաբորատորիաները, որոնք ինձ ծանոթացնում էին հավաքման լեզվին և ապարատային ճարտարապետությանը: Այս թեմաների վերաբերյալ ներածություն ստանալով ՝ ես ցանկանում էի ավելի լավ հասկանալ բոլոր երեք դասընթացների ավելի մանրուքների մասին, և ի՞նչ ավելի լավ սովորել, քան նախագծի վրա աշխատելը:

Իմ սկզբնական մտադրությունն էր ամբողջությամբ հավաքել այս 8-բիթանոց համակարգիչը ՝ օգտագործելով Ben Eater- ի youtube ալիքում տրամադրված դասախոսությունների տեսաֆիլմերը, որոնք ֆանտաստիկ աշխատանք են կատարում դիզայնի գործընթացը կոտրելու մեջ, որը ես ընդգրկել եմ և այն ասպեկտները, որոնք ես դեռ չէի կատարել: սովորել. Հաշվի առնելով, որ ես արդեն ունեի կոմբինատորային դիզայնի և էլեկտրոնիկայի հիմնական տրամաբանության հիմնական ըմբռնումը, ես ուզում էի մարտահրավեր նետել ինձ ՝ փորձելով նախագծել և կառուցել համակարգչի մասեր նախագծման ակնարկներից հետո, բայց առանց շենքի հրահանգներին հետևելու: Theրագրի ընթացքում իմ նպատակն էր սովորել և բարելավել իմ հասկացողությունը, քան պարզապես ինչ -որ նոր բան կառուցելը, ուստի նախագծի յուրաքանչյուր քայլի ընթացքում ես մի փոքր կարդացի առցանց հոդվածներից և ֆորումներից `բաղադրիչ ճարտարապետության և յուրաքանչյուրի համար օգտագործվող հիմնական պայմանագրերի վերաբերյալ: նրանցից.

Քայլ 1: Հետազոտություններ ճանապարհին

Հետազոտություններ ճանապարհին
Հետազոտություններ ճանապարհին
Հետազոտություններ ճանապարհին
Հետազոտություններ ճանապարհին

Այս նախագիծը իսկապես ինձ ավելի շատ կարդաց, քան սպասում էի: Յուրաքանչյուր բաղադրիչի նկատմամբ իմ հիմնական մոտեցումներից էր առցանց ֆորումից կամ հոդվածից ակնարկ կարդալը, Eater- ի տեսանյութերից դասախոսությունների դիտումը և փորձել նախագծել իմ սեփական մասը ՝ նախքան կառուցելը, փորձարկելը և շատ ժամանակ այն քանդելու կարիք ունենալը: ավելի ուղղորդված մոտեցում Eater- ի ալիքից: Դրա օրինակն այն էր, երբ ես կառուցում էի համակարգչի ALU բաղադրիչը: Երբ դիտում էի դիզայնի տեսահոլովակները, ես կարդացի հոդվածներ չիպերի բաղադրիչների վերաբերյալ, որոնք ավելի բարձր ֆունկցիոնալություն ունեին և ազդակներ էին ստեղծում, որոնք թույլ կտային փոխելու հրահանգների տեսակները և ներսից ներդիր դարձնելով 2 -ի լրացում: Այնուամենայնիվ, նախքան այս ավելի դյուրին չիպերը գնելը, ես վերանայեցի դիզայնի մոտեցումը, որի մասին խոսում էր Բեն Էտերը իր տեսանյութերում ՝ հավելումների և XOR տրամաբանական դարպասների միաձուլմամբ ՝ ALU մոդուլում աշխատունակությունը բարձրացնելու համար ՝ առանց բարձր ծախսերի չիպերի կարիք ունենալու: Սա ինձ ստիպեց գնահատել դիսկրետ տրամաբանության օգտագործումը և դրա կիրառելիությունը համակարգչային դիզայնի մեջ, և սովորեցի բաղադրիչների կառուցման տարբեր մոտեցումներ: Սեղանի վրա ավելի ցածր մակարդակի չիպսերը համատեղելով ՝ ես նաև իմացա ALU- ի ներսում օգտագործվող որոշ հիմնական ճարտարապետական հատկությունների մասին, որոնք մեծացրեցին իմ ըմբռնումը համակարգչի այս կատարման բաղադրիչի վերաբերյալ:

Մեկ այլ հիմնական բաղադրիչ, որի մասին ես իմացա, ընդունիչ սարքերի օգտագործումն էր, որը նաև հայտնի է որպես բուֆեր: Նախքան նախագծին ավելի խորանալը, ես մտածեցի, որ ես պարզապես կակտիվացնեմ և կանջատեմ տարբեր բաղադրիչներ `օգտագործելով հսկիչ ազդանշաններ, բայց արագորեն գտա հոդվածներում, որ բուֆերները պետք է օգտագործվեն` այս ֆոն-Նեյմանի ոճի ճարտարապետությունը ճիշտ գործելու համար: Քանի որ համակարգիչը օգտագործում է ընդհանուր ավտոբուս ՝ տվյալների վրա համակարգչի տարբեր մոդուլների միջև անցնելու համար, ցիկլերի համաժամացումը թելադրված էր ժամացույցի կողմից: Այնուամենայնիվ, թույլ տալով, որ պահեստներն ու բեռները տեղի ունենան ՝ առանց միջամտելու ավտոբուսում առկա տվյալներին, ես գտա, որ ընդունիչ սարքերը կարևոր են որպես դարպասներ հանդես գալու համար, ինչը պահանջում է ազդանշան, որը թույլ կտա տվյալները ժամանակին հոսել ավտոբուս: Կարդալու ունակությունը այնքան էլ դժվար չէր հասկանալ, քանի որ լարերը միշտ կպահպանեին արժեքները ավտոբուսում, բայց ճիշտ արժեքի օգտագործումը նշանակում էր, որ գրանցամատյանները կարողանան պահել նոր արժեքը:

Այս նախագծի ընթացքում կատարված հետազոտություններից վերջնական եզրակացությունը հասկանալն էր նմանատիպ չիպերի հստակեցման տարբերությունները: Հաճախ ես գտնում էի նույն ID- ի արժեքներով չիպսեր, բայց տարբեր նկարագրական տառեր, ինչպիսիք են LS և HC: Այն, ինչ ես սովորեցի, այն էր, որ դա ոչ միայն պիտակներ արտադրելն էր, այլև չիպերի մասին ժամանակն ու հզորությունը: Բարեբախտաբար, քանի որ իմ համակարգիչն օգտագործում էր բավականին ցածր մակարդակի և բարձր հանդուրժողականության բաղադրիչներ, ես կարիք չունեի անհանգստանալու բազմաթիվ բնութագրերի համապատասխանության վրա, բայց ավելի բարձր մակարդակի դիզայնի վրա ես իմացա, որ ժամացույցի արագության և էներգիայի ուժգնության գործոնները որոշիչ նշանակություն ունեն էլեկտրոնիկայի հաջողության կամ ձախողման համար: դիզայն

Քայլ 2. Հանդիպված դժվարություններ

Quicklyրագրի բավականին արագ մեկնարկի ընթացքում ես կարողացա ձևավորել պարզ բաղադրիչներ, ինչպիսիք են ժամանակի ժամացույցը `գործընթացների համաժամացման և հիմնական հիշողության ճարտարապետության համար, բայց ծանր դասընթացին զուգահեռ մասեր պատվիրելու անհրաժեշտությունը դժվարացրեց նախագծին արտաքին ժամանակ հատկացնելը, ավարտման ժամանակացույց: Մասերի ժամանման համար մեկ շաբաթ սպասելու իմ առաջին մեծ անհաջողությունից հետո ես վերջ դրի հետագա ուշացումներին ՝ պատվիրելով այն բոլոր մասերը, որոնք ես կարծում էի, որ պետք է ավարտեմ այս նախագիծը, ինչը օգտակար դարձավ, քանի որ մինչև հրապարակումն այլևս ուշացումների չեմ հանդիպել:. Սխալների շտկման որոշ հիմնական մոտեցումներ սովորելուց հետո ես սկսեցի անտեսել որոշ հավաքույթներ, ինչը նշանակում էր, որ պետք է վերադառնալ և նորից դիտել տեսանյութեր ՝ իմ սխալները բռնելու համար, ինչը սովորաբար հանգեցնում էր տախտակի մեծ մասի հեռացմանը: Սա կարճուղի չուներ: Ես սովորեցի ցանկացած էլեկտրոնային սարք կառուցելու ձեր առաջընթացը ստուգելու արժեքը: Boardանապարհին յուրաքանչյուր տախտակ կարգաբերելով, ես կարողացա անցնել դրանք ավելի վստահությամբ համատեղելուն, այնուհետև համակցված տախտակները կարգաբերելը շատ ավելի հեշտ դարձավ:

Քայլ 3. Ձեռքբերումներ և արտացոլում

Ընդհանուր առմամբ, ես ներկայումս ավարտել եմ ժամացույցի, կոդերի և ծրագրի հաշվիչը, ALU միավորը, rs rt և rd գրանցամատյանները և RAM- ը: Այս նախագիծն ավարտելու համար ավտոբուսը և ծայրամասային սարքավորումները լրացնելուց բացի, ես զգալի չափով սովորել եմ համակարգչային ճարտարապետության մասին, որը, հուսով եմ, կշարունակեմ իմ բարձրագույն կուրսում `համակարգչային ճարտարապետության դասընթացում:

M5- ն ինձ տրամադրեց բոլոր անհրաժեշտ գործիքները ՝ իմ նախագծի վրա աշխատելու համար, և բաղադրիչները շատ լավ շարված էին մասերի պատերի երկայնքով, ուստի ես շատ վաղ գիտեի այն մասերի մասին, որոնք պատվիրման կարիք ունեին և այն, ինչ անհրաժեշտ էր: Եթե մեկ այլ ուսանող ստանձներ այս նախագիծը, ես հաստատ կնշեի, որ այս նախագիծը շատ ժամանակ է պահանջում, եթե փորձում եք հասկանալ այն ամենը, ինչ կատարվում է համակարգչում: Դ DՎԱՐ ՉԷ, բայց խնամք է պահանջում, եթե ցանկանում եք, որ այն հաջողությամբ գործի: Ես խստորեն խորհուրդ եմ տալիս անցնել Ben Eater- ի youtube ալիքի տեսացանկով ՝ բոլոր այն մասերը հասկանալու համար, որոնք ձեզ հարկավոր է օգտագործել, որպեսզի ժամանակին հետ չմնաք, եթե չես պլանավորում սեփական մոտեցման ձևավորումը: Քանի որ ես գնել եմ մասերի մեծ մասը, ես մտադիր եմ այն վերցնել ինձ հետ ՝ իմ ժամանակին ավարտելու համար, բայց լավ կլինի, որ դա հանձնեմ, որպեսզի մեկ այլ ուսանող այն ավարտի, ինչը կնշանակի մնացած մասերի նախագծման լույսի ներքո, բայց մեծ ուշադրություն դարձնում հավաքների լեզվին, որը, բարեբախտաբար, սկսեցի աշխատել այլ դասերի ժամանակ

Խորհուրդ ենք տալիս: