Започни со градење на едноставни логички кола и комбинирај ги во посложени чипови. Резултатот е 16-битен процесор со 32KB RAM и 28 инструкции!
Од 14. октомври 2014 год. до 18. ноември 2014 год.
Секој вторник од 19.00—21.00 ч. во скопскиот хаклаб КИКА.
Курсот вклучува 12 часа (6x2) и чини 3,000 денари.
„Дизајнирање на компјутер, од нула!“ е курс чија цел е студентите да ги запознае со суштината на компјутерските системи: едноставните фундаментални принципи на кои се базираат сите компјутери и начинот на кој човекот успеал да ги примени и апстрахира овие принципи, за на крајот да го добие компјутерот кој го имаме денес.
Во курсот, за основна градбена единка се зема NAND логичката порта и од неа се градат другите логички порти, аритметичко-логичка единица, контролни чипови - за на крајот да се добие функционален процесор, способен да извршува код напишан во assembly. Иако дизајнот на процесорот е поедноставен, концептите на кои се базира се истите на кои се базираат и модерните процесори.
Курсот е базиран на популарниот Nand2Tetris курс и ги опфаќа првите 5, од вкупно 12 глави од книгата. Секоја глава е "self-contained" и содржи вежби кои можат да се изработуваат во изолација. Сепак, бидејќи концептите од секоја глава се темелат на концептите што се учеле во претходните глави, а вежбите користат компоненти кои самите ги имаме изградено, најдобро е книгата да се поминува од почетокот накај крајот, како и што е организиран курсот.
Целна група на овој курс се студенти од техничките факултети, но и средношколци кои имаат намера да продолжуваат во таа насока. Во академски контекст, овој курс го земаат студенти на почетокот и на крајот на студиите. Тие што го земаат на почеток, добиваат слика за материјалот што ги очекува, додека на тие што го земаат на крај им нуди сумирање на сѐ што научиле до тогаш.
Курсот вклучува 12 часа (6 пати по 2 часа) и ќе чини 3,000 ден. Дел од парите ќе бидат наменети за трошоци поврзани со курсот, а останатиот дел ќе завршат на сметката на Хаклаб, за плаќање струја и кирија.
КИКА нема спонзор и се одржува во живот главно од ентузијазам, членства, курсеви и донации.
Андреј е повеќегодишен член на хаклабот КИКА. Професионално работи како фриленс програмер, претежно Node.js и претежно backend. Кога не работи за пари, програмира за душа. Кога сака да научи повеќе за компјутерите, организира курсеви во Хаклаб. Чита и одговара на мејлови: andrejtrajchevski@gmail.com
Гоце е долгогодишен член на заедницата на Слободен Софтвер, дизајнер, како и редовен посетител на КИКА. Откако неговото видео стана дел од секоја vanilla инсталација на Ubuntu, неговиот inbox е преполн со мејлови од типот „како да си го поправам Линуксот“. Работи како веб дизајнер и е одговорен за изгледот на сајтов.
Алекс е човекот кој ја изгради славната LED коцка во Хаклаб. Ентузијаст за електроника и лемење, одговорен е за сѐ што излегло од Хаклаб а не е код, како и за собата преполна со ѓубришта од електроника. Негово дело е и големиот protoboard кој ќе го користиме на курсот за hands-on учење на логички кола.
За курсот ќе можете да уплатите на „нултиот“, воведен час, на 14-ти октомври во хаклабот КИКА. Алтернативно, можете директно да уплатите на сметката, подолу.
Можете да ги користите обрасците ПП10 (уплатница) и ПП30 (налог за пренос).
Week | Дата | Опис |
---|---|---|
0 | 14 октомври | интро час, last chance за пријавување и плаќање, на кратко за курсот, tools, hdl |
1 | 21 октомври | булова алгебра: составување на елементарни порти од nand, имплементација во хдл |
2 | 28 октомври | комбинациона логика: имплементирање на бинарни собирачи од логички порти и, конечно, ALU |
3 | 04 ноември | секвенцијална логика: имплементирање на меморија, flip-flops, регистри и РАМ |
4 | 11 ноември | запознавање со инструкцискиот код на процесорот, бинарно и во assembly; пишување на low-level програми и симулирање на cpu-то |
5 | 18 ноември | интегрирање на чиповите во процесор кој може да го извршува assembly кодот од week 4 |
Хаклабот КИКА е отворен простор (под покрив) каде што се собираат ентузијасти за да пишуваат код, за да лемат или за да дискутираат на разни теми, како слободата на софтверот или таа на медиумите. Хаклабот е дом на програмерите што програмираат и после работа. Хаклабот е местото во кое луѓето претежно имаат Thinkpad со инсталиран Linux.
Официјално, КИКА постои од Октомври, 2011. Од тогаш па до сега, во континуитет, редовно се организираат настани поврзани со Linux и слободен софтвер (GNU/Linux прва помош), програмирање (Програмски јазици) и презентации на општи теми (Сподели знаење). Понекогаш, на проекторот во Хаклаб гледаме филмови, а настанот го нарекуваме „Сподели кино“.
Покрај редовните настани, во Хаклаб се одржуваат и настани како „Gnome Women Outreach“ и „Google Summer of Code“, во кои студенти активно земаат учество и работат на развивање на слободен софтвер. Исто така, пред проекторот често се собираат и членовите на Ruby и Drupal заедниците.
Хаклабот нема спонзор, во живот го одржуваат донациите на неговите членови, кои понекогаш организираат курсеви како овој. Дел од парите ги зема организаторот, а дел одат за КИКА. Додатно, придонесуваат и луѓе кои се заинтересирани просторот да постои, но не се во можност да не посетуваат. Ако си еден од нив, тука има информации како да донираш.
Хаклабот КИКА се наоѓа на ул. „Васил Стефановски“ бр.8/1, во центарот на Скопје близу до поликлиниката Идадија.
„In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.“
The Nand2Tetris Software Suite contains all the tools and files necessary to complete all the projects described in this site and in the book.
Преземи Nand2Tetris Software SuiteHardware Simulator simulates and tests logic gates and chips implemented in the HDL (Hardware Description Language) described in the book. Used in hardware construction projects.
Преземи PDFCPU Emulator emulates the operation of the Hack computer system. Used to test and run programs written in the Hack machine language (in both its binary and assembly versions).
Преземи PDF"Дизајнирање на компјутер, од нула!" е курс од областа applied computer science во кој студентите работат на дизајнирање на процесор. Пристапот е bottom-up, односно, студентите почнуваат со градење на едноставни логички кола кои во текот на курсот ги комбинираат во покомплицирани чипови. Крајниот продукт е 16-битен процесор кој е поврзан со 32KB RAM меморија и има 28 инструкции.
Секој вторник од 19-21ч.
Во хаклабот КИКА, близу до Католичка.
3000 денари.
Еден дел од парите ќе се искористат за трошоци поврзани со курсот, како печатење копии од книгата или купување елементи за протобордот, а другиот дел ќе завршат на сметката на КИКА, за трошоци како кирија и сметки.
Пријави се и спомни го ова во делот „Зошто сакам да го посетувам курсот“. Хаклабот го задржува правото да стипендира неколку талентирани и мотивирани студенти.
Во најширока смисла, за секој што е заинтересиран да научи како работат компјутерите. Сепак, најкорисен е за студенти на техничките факултети: да добијат генерална слика за тоа што ги чека (прва година), или пак да го сумираат добиеното знаење (апсолвенти). Еднакво е корисен и за средношколци кои планираат да студираат на технички факултет.
Единствен hard requirement е зборување англиски јазик, заради книгата. Оригиналниот Nand2Tetris курс бара од студентите да имаат и основно познавање на барем еден програмски јазик, што е потребно за вториот дел од Nand2Tetris. Курсот ќе го опфати само првиот дел, што значи познавање на програмски јазик е корисно, но не е задолжително.
Лаптоп.
Да. Од секој студент ќе се очекува да ја има прочитано соодветната глава од книгата пред почетокот на секој час. На часовите главно ќе ги решаваме вежбите. Ако на некој студент му останат недовршени вежби, ќе треба да ги доврши дома (или некој нареден ден во Хаклаб).
Секој час ќе има две дела: еден пократок и еден подолг. Во пократкиот ќе ja продискутираме теоријата што се обработува во главата од таа недела. Во подолгиот, втор дел, секој студент ќе ги составува чиповите (ќе пишува HDL код во симулаторот), самостојно или во група.
Да, Nand2Tetris беше еден од првите (и многу популарни!) курсеви на Coursera. Дизајниран е така што може самостојно да го следат студенти на интернет, но фигурира и како предмет на многу факултети. Еквивалент на завршување на „ДКН“ е завршување на првите 5 од вкупно 12 глави од книгата.
Не. За жал, процесот на произведување процесори е комплициран и скап.
Да! За инспирација: http://en.wikipedia.org/wiki/Galaksija_(computer)
Мене, Андреј, прати ми мејл на: andrejtrajchevski@gmail.com
Скопскиот хаклаб КИКА организира шест-неделен курс за дизајнирање на компјутер. Преку градење на едноставни логички кола, од 14. октомври до 18. ноември 2014 г., во КИКА, заинтересираните студенти ќе изработуваат 16-битен процесор со 32KB RAM и 28 инструкции!
Курсот е базиран на популарниот курс Nand2Tetris, еден од првите курсеви кои се појавија на Coursera. Неговата цел е да ги запознае студентите со суштината на компјутерските системи, основните принципи на кои што се базираат.
Првиот дел од Nand2Tetris, односно првите пет глави од книгата (кои се опфатени со курсот) се фокусираат на дизајнирање на процесор, додека во следните седум студентите пишуваат нивен програмски јазик, компајлер, базичен оперативен систем и - конечно - игра која ќе се извршува на инфраструктурата која самите ја изградиле.
„Дизајнирање на компјутер, од нула!“ е наменет за сите студенти на CS, но особено е корисен за две групи: оние на почетокот на студиите и оние пред самиот крај. На почетокот им нуди перспектива на темите што следуваат, додека на крајот го сумира стекнатото знаење.
Повеќе информации за курсот можете да најдете на http://dkn.spodeli.org/.
Пријавувањето е во тек!