📘 The Elements of Computing Systems: Building a Modern Computer from First Principles [2005 + 2021] Noam Nisan and Shimon Schocken
💾 Скачать книги
📱 May 2024 CACM: Nand to Tetris: Building a Modern Computer System from First Principles
📱 Shimon Schocken
📱 Nand2Tetris - Building a modern computer
Источник: From Nand to Tetris
На coursera:
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris (проектно-ориентированный курс)
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris Part II (курс, ориентированный на проект)
Описание: На этом курсе, ориентированном на проекты*, Вы построите современную компьютерную систему с нуля. Мы разделим это увлекательное путешествие на шесть практических проектов, которые проведут Вас от конструирования элементарных логических вентилей до создания полностью функционирующего компьютера общего назначения. В процессе обучения Вы узнаете - самым прямым и конструктивным образом - как работают компьютеры и как они создаются. Что Вам потребуется: Это самостоятельный курс: все знания, необходимые для успешного прохождения курса и создания компьютерной системы, будут даны в процессе обучения. Поэтому мы не предполагаем никаких предыдущих знаний в области информатики или инженерии, и все учащиеся приветствуются на борту. Вам не понадобится никаких физических материалов, поскольку Вы будете собирать компьютер на своем собственном ПК, используя программный аппаратный симулятор, точно так же, как настоящие компьютеры проектируются компьютерными инженерами в полевых условиях. Аппаратный симулятор, а также другие программные инструменты будут предоставлены Вам бесплатно после регистрации на курс. Формат курса: Курс состоит из шести модулей, каждый из которых включает серию видеолекций и проект. Вам потребуется около 2-3 часов для просмотра лекций каждого модуля и около 5-10 часов для выполнения каждого из шести проектов. Курс можно пройти за шесть недель, но Вы можете делать это в своем собственном темпе. Вы можете посмотреть выступление на TED об этом курсе, набрав в Гугле "nand2tetris TED talk". *О проектно-ориентированных курсах: Курсы, ориентированные на проект, предназначены для того, чтобы помочь Вам завершить личностно значимый проект в реальном мире, а Ваш преподаватель и сообщество учеников с аналогичными целями будут давать Вам советы и рекомендации на этом пути. Активно применяя новые концепции в процессе обучения, Вы овладеете содержанием курса более эффективно; кроме того, у Вас появится возможность использовать полученные навыки для внесения позитивных изменений в свою жизнь и карьеру. По окончании курса у Вас будет готовый проект, которым Вы сможете с гордостью пользоваться и делиться. #программирование #низкоуровневое_программирование #Linux #assembler #cpp #C
💡 Physics.Math.Code // @physics_lib
💾 Скачать книги
Источник: From Nand to Tetris
На coursera:
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris (проектно-ориентированный курс)
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris Part II (курс, ориентированный на проект)
Описание: На этом курсе, ориентированном на проекты*, Вы построите современную компьютерную систему с нуля. Мы разделим это увлекательное путешествие на шесть практических проектов, которые проведут Вас от конструирования элементарных логических вентилей до создания полностью функционирующего компьютера общего назначения. В процессе обучения Вы узнаете - самым прямым и конструктивным образом - как работают компьютеры и как они создаются. Что Вам потребуется: Это самостоятельный курс: все знания, необходимые для успешного прохождения курса и создания компьютерной системы, будут даны в процессе обучения. Поэтому мы не предполагаем никаких предыдущих знаний в области информатики или инженерии, и все учащиеся приветствуются на борту. Вам не понадобится никаких физических материалов, поскольку Вы будете собирать компьютер на своем собственном ПК, используя программный аппаратный симулятор, точно так же, как настоящие компьютеры проектируются компьютерными инженерами в полевых условиях. Аппаратный симулятор, а также другие программные инструменты будут предоставлены Вам бесплатно после регистрации на курс. Формат курса: Курс состоит из шести модулей, каждый из которых включает серию видеолекций и проект. Вам потребуется около 2-3 часов для просмотра лекций каждого модуля и около 5-10 часов для выполнения каждого из шести проектов. Курс можно пройти за шесть недель, но Вы можете делать это в своем собственном темпе. Вы можете посмотреть выступление на TED об этом курсе, набрав в Гугле "nand2tetris TED talk". *О проектно-ориентированных курсах: Курсы, ориентированные на проект, предназначены для того, чтобы помочь Вам завершить личностно значимый проект в реальном мире, а Ваш преподаватель и сообщество учеников с аналогичными целями будут давать Вам советы и рекомендации на этом пути. Активно применяя новые концепции в процессе обучения, Вы овладеете содержанием курса более эффективно; кроме того, у Вас появится возможность использовать полученные навыки для внесения позитивных изменений в свою жизнь и карьеру. По окончании курса у Вас будет готовый проект, которым Вы сможете с гордостью пользоваться и делиться. #программирование #низкоуровневое_программирование #Linux #assembler #cpp #C
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤39🔥22👍9😍2🗿2🙏1
📘 The Elements of Computing Systems.zip
26.1 MB
📘 The Elements of Computing Systems: Building a Modern Computer from First Principles [2005 + 2021] Noam Nisan and Shimon Schocken
Лучший способ понять, как работают компьютеры - это создать один с нуля, и этот учебник проводит читателей через двенадцать глав и проектов, которые постепенно создают аппаратную платформу и иерархию программного обеспечения для простой, но мощной компьютерной системы. В процессе читатели получают практические знания об аппаратном обеспечении, архитектуре, операционных системах, языках программирования, компиляторах, структурах данных и алгоритмах, а также о разработке программного обеспечения.
Достоинства:
➕Хорошая структурированность;
➕Оригинальный авторский подход.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
#программирование #низкоуровневое_программирование #архитектура #computer_science #assembler #cpp #C
💡 Physics.Math.Code // @physics_lib
Лучший способ понять, как работают компьютеры - это создать один с нуля, и этот учебник проводит читателей через двенадцать глав и проектов, которые постепенно создают аппаратную платформу и иерархию программного обеспечения для простой, но мощной компьютерной системы. В процессе читатели получают практические знания об аппаратном обеспечении, архитектуре, операционных системах, языках программирования, компиляторах, структурах данных и алгоритмах, а также о разработке программного обеспечения.
Достоинства:
➕Хорошая структурированность;
➕Оригинальный авторский подход.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
+79616572047 (СБП) ЮMoney: 410012169999048#программирование #низкоуровневое_программирование #архитектура #computer_science #assembler #cpp #C
💡 Physics.Math.Code // @physics_lib
1❤38👍27🔥9👨💻2🤩1🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
В промышленных процедурных и объектных языках сборка мусора долго не использовалась. Предпочтение отдавалось ручному управлению памятью, как более эффективному и предсказуемому. Но со второй половины 1980-х годов технология сборки мусора стала использоваться и в директивных (императивных), и в объектных языках программирования, а со второй половины 1990-х годов всё большее число создаваемых языков и сред, ориентированных на прикладное программирование, включают механизм сборки мусора либо как единственный, либо как один из доступных механизмов управления динамической памятью. В настоящее время она используется в Оберон, Java, Python, Ruby, C#, D, F#, Go и других языках.
▪️Висячая ссылка (англ. dangling pointer) — это ссылка на объект, который уже удалён из памяти. После удаления объекта все сохранившиеся в программе ссылки на него становятся «висячими». Память, занимаемая ранее объектом, может быть передана операционной системе и стать недоступной, или быть использована для размещения нового объекта в той же программе. В первом случае попытка обратиться по «повисшей» ссылке приведёт к срабатыванию механизма защиты памяти и аварийной остановке программы, а во втором — к непредсказуемым последствиям. Появление висячих ссылок обычно становится следствием неправильной оценки времени жизни объекта: программист вызывает команду удаления объекта до того, как его использование прекратится.
▪️Утечки памяти — Создав объект в динамической памяти, программист может не удалить его после завершения использования. Если ссылающейся на объект переменной будет присвоено новое значение и на объект нет других ссылок, он становится программно недоступным, но продолжает занимать память, поскольку команда его удаления не вызывалась. Такая ситуация и называется утечкой памяти (англ. memory leak). Если объекты, ссылки на которые теряются, создаются в программе постоянно, то утечка памяти проявляется в постепенном увеличении объёма используемой памяти; если программа работает долго, объём используемой ею памяти постоянно растёт, и через какое-то время ощутимо замедляется работа системы (из-за необходимости при любом выделении памяти использовать свопинг), либо программа исчерпывает доступный объём адресного пространства и завершается с ошибкой.
#программирование #архитектура #многопоточность #сборщикмусора #cpp #java #coding #programming
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤49👍39🔥12⚡5👨💻2🤯1