Мазмуну:

Нан тактасындагы 8 биттик компьютер: 3 кадам
Нан тактасындагы 8 биттик компьютер: 3 кадам

Video: Нан тактасындагы 8 биттик компьютер: 3 кадам

Video: Нан тактасындагы 8 биттик компьютер: 3 кадам
Video: BTT - Manta E3EZ - CB1 with EMMc install 2024, Июль
Anonim
Нан тактасында 8-бит компьютер
Нан тактасында 8-бит компьютер

Бул долбоордун максаты компьютердин архитектурасын, аппараттык дизайнды жана монтаж деңгээлиндеги тилдерди жакшыраак түшүнүү болчу. Инженердик университетте кенже болгондуктан, мен жакында эле электроника боюнча курстарды бүтүргөм, мени лабораторияларды монтаждоо тили жана аппараттык архитектура менен тааныштырган. Бул темаларга киришүү алганда, мен бардык үч курстун майда -чүйдөсүнө чейин түшүнүгүмдү жогорулаткым келди, жана долбоордо иштөөдөн өткөн үйрөнүүнүн кандай жакшы жолу бар?

Менин баштапкы ниетим-бул 8 биттик компьютерди Ben Eaterдин youtube каналында берилген лекциялык видеолорду колдонуу менен толугу менен чогултуу болгон, алар дизайн процессин мен камтылган материалдардын жана мен али бүтө элек аспектилердин катуу аралашмасына бөлүп берүүчү фантастикалык жумушту аткарышат. үйрөнүү. Менде комбинатордук дизайн жана электрониканын негизги логикасы жөнүндө негизги түшүнүк бар экенин эске алганда, мен дизайнды карап чыккандан кийин компьютердин бөлүктөрүн долбоорлоого жана курууга аракет кылып, бирок курулуш инструкциясын көрбөй туруп өзүмдү сынап көргүм келди. Долбоор бою, менин максатым жаңы нерсени куруу эмес, түшүнүүмдү үйрөнүү жана өркүндөтүү болчу, ошондуктан долбоордун ар бир кадамында мен компоненттердин архитектурасы жана ар бири үчүн колдонулган негизги конвенциялар боюнча онлайн макалалардан жана форумдардан бир аз окуп чыктым. алардын.

1 -кадам: Жол бою изилдөө

Жол бою изилдөө
Жол бою изилдөө
Жол бою изилдөө
Жол бою изилдөө

Бул долбоор чындыгында мен күткөндөн да көп нерсени окуп берди. Ар бир компонентке менин негизги мамилелеримдин бири - онлайн форумдан же макаладан обзорду окуу, Жегичтин видеолорунан лекцияларды көрүү жана курууга, тестирлөөдөн мурун жана өзүмдүн бөлүгүмдү иштеп чыгууга аракет кылуу, жана көбүнчө аны жок кылуу үчүн. Жегичтердин каналынан көбүрөөк жетекчилик. Буга мисал мен ЖКнын ALU компонентин куруп жатканымда болгон. Дизайн видеолорун көрүп жатып, мен чиптин компоненттери боюнча макалаларды окуп чыктым, алар инструкциянын түрлөрүн алмаштырууга жана киргизүүнү 2дин ички комплементине айландырууга мүмкүндүк берет. Бирок, бул жеңилдетилген чиптерди сатып алардан мурун, мен Ben Eater өзүнүн видеолорунда айткан дизайн ыкмасын карап чыктым, ал ALU модулунун функционалдуулугун жогорулатуу үчүн кошумча жабдуулар менен XOR логикалык дарбазаларын аралаштырып, кымбатыраак чиптерге муктаж болбостон. Бул мага дискреттик логиканын колдонулушун жана анын компьютердик дизайнга ылайыктуулугун баалоого жана компоненттерди куруунун ар кандай ыкмаларын үйрөнүүгө түрткү берди. Нан тактасындагы төмөнкү деңгээлдеги микросхемаларды бириктирүү менен, мен ALU ичинде колдонулган кээ бир негизги архитектуралык өзгөчөлүктөрдү билдим, бул ЖКнын аткаруучу компоненти жөнүндө менин түшүнүгүмдү арттырды.

Мен үйрөнгөн дагы бир негизги компонент булферлер деп аталган трансиверлерди колдонуу болду. Долбоорго тереңирээк кирүүдөн мурун, мен жөн эле контролдук сигналдарды колдонуп, ар кандай компоненттерди иштетип, өчүрөм деп ойлогом, бирок бул фон-Нейман стилиндеги архитектураны туура иштетүү үчүн буферлерди колдонуу керектигин тез эле макалалардан таптым. Компьютерде компьютердеги ар кандай модулдардын ортосунда маалымат алмашуу үчүн жалпы автобус колдонулгандыктан, циклдердин синхрондоштурулушу саат менен шартталган. Бирок, дүкөндүн жана жүктөрдүн автобуста болгон маалыматтарга кийлигишүүсүз болушуна жол берип, мен өткөргүчтөрдүн дарбаза катары иштеши үчүн абдан маанилүү экенин түшүндүм, бул маалыматтын автобуска өз убагында агышына уруксат берүүчү сигналды талап кылат. окуу жөндөмүн түшүнүү анча деле кыйын болгон жок, анткени зымдар дайыма автобустагы баалуулуктарды кармашат, бирок туура маанини колдонуу реестрлерге жаңы маанини кармап турууга мүмкүндүк берет.

Бул долбоор боюнча жүргүзүлгөн изилдөөлөрдүн бирөөсү, окшош болгон чиптердин ортосундагы айырмачылыктарды түшүнүү болду. Көп учурда мен ID баалуулуктары бирдей болгон чиптерди, бирок LS жана HC сыяктуу ар кандай дескриптор тамгаларды таптым. Мен билгим келгени, бул жөн эле этикеткаларды чыгаруу эмес, ошондой эле микросхемалардын убактысы жана кубаттуулугу. Бактыга жараша, менин компьютеримде өтө төмөн деңгээл, жогорку толеранттуулук компоненттери колдонулгандыктан, мен көптөгөн өзгөчөлүктөргө дал келүүдөн коркпой эле койчумун, бирок жогорку деңгээлдеги дизайнда, сааттын ылдамдыгы жана кубаттуулук сыяктуу нерселер электрониканын ийгилиги же иштебей калышы үчүн маанилүү экенин билдим. дизайн

2 -кадам: кыйынчылыктар

Долбоорго тез эле мен процесстерди синхрондоштуруу үчүн убакыт сааты жана эс тутумдун негизги архитектурасы сыяктуу жөнөкөй компоненттерди иштеп чыгууга жетиштим, бирок оор семестр менен бирге бөлүктөргө заказ кылышым керек болчу, долбоорго сырттан убакыт бөлүүнү кыйындатып аяктоо графиги. Бөлүктөрдүн келиши үчүн бир жума күтүүгө туура келбегенден кийин, мен бул долбоорду аягына чейин чыгаруу үчүн керек деп ойлогон бардык бөлүктөргө буйрутма берип, кийинкиге калтырууну токтоттум, бул пайдалуу болуп чыкты.. Мүчүлүштүктөрдү оңдоонун кээ бир негизги ыкмаларын үйрөнгөндөн кийин, мен кээ бир жыйындарды көз жаздымда калтыра баштадым, бул менин каталарымды түшүнүү үчүн кайра кайтып, видеолорду кайра көрүү керектигин билдирет, бул көбүнчө тактайдын көпчүлүгүн бөлүп алууга алып келген. Бул кыска жол жок болчу. Мен кандайдыр бир электрондук түзмөктү куруудагы ийгиликтериңизди текшерүүнүн маанилүүлүгүн билдим. Жолдо ар бир тактаны мүчүлүштүктөрдү оңдоо менен, мен аларды ишенимдүүлүк менен айкалыштырууга өттүм, андан кийин курама такталарды оңдоо кыйла жеңилдеди.

3 -кадам: Жетишкендиктер жана ой жүгүртүү

Жалпысынан алганда, мен учурда саат, опкод жана программанын эсептегичин, ALU бирдигин, rs rt жана rd регистрлерин жана RAMди бүтүрдүм. Бул долбоорду аяктоо үчүн автобусту жана перифериялык жабдыктарды бүтүрүүдөн тышкары, мен компьютердик архитектура жөнүндө көп нерсени үйрөндүм, аны мен компьютердик архитектура курсунан өтүп, жогорку курстун факультеттерине улантам деп үмүттөнөм.

M5 менин долбоорумдун үстүндө иштөө үчүн бардык керектүү шаймандарды берди, жана тетиктер дубалдын боюна абдан жакшы салынган, ошондуктан мен заказга муктаж болгон бөлүктөрдү жана бөлүштүрүлө турган нерселерди эрте билчүмүн. Эгерде бул долбоорду башка студент кабыл алса, мен компьютерде болуп жаткан нерселердин бардыгын түшүнүүгө аракет кылып жатканыңда, бул долбоорго көп убакыт талап кылынарын так белгилеп кетет элем. КЫЙЫН ЭМЕС, бирок анын ийгиликтүү иштешин кааласаңыз этияттыкты талап кылат. Мен, эгер сиз өзүңүздүн ыкмаңызды иштеп чыгууну пландабасаңыз, өз убагында артта калбоо үчүн, сиз колдонушуңуз керек болгон бардык бөлүктөрдү түшүнүү үчүн Ben Eaterдин youtube каналындагы видео ойнотмо тизмеден өтүүнү сунуштайм. Мен бөлүктөрдүн көбүн сатып алгандыктан, мен муну өз убактымда бүтүрүүнү пландап жатам, бирок аны башка студентке тапшыруу үчүн тапшыруу жакшы болмок, бул калган бөлүктөрдүн дизайнына жарык тийгендигин билдирет, бирок мен бактыга жараша башка класстарда иштөө керек болгон ассамблея тилине көп көңүл бурам

Сунушталууда: