Hebrew University of Jerusalem
从第一原理构建现代计算机:从 Nand 到俄罗斯方块(以项目为中心的课程)
Hebrew University of Jerusalem

从第一原理构建现代计算机:从 Nand 到俄罗斯方块(以项目为中心的课程)

Shimon Schocken
Noam  Nisan

位教师:Shimon Schocken

顶尖授课教师

233,014 人已注册

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
4.9

(3,691 条评论)

4 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
97%
大多数学生喜欢此课程
深入了解一个主题并学习基础知识。
4.9

(3,691 条评论)

4 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
97%
大多数学生喜欢此课程

要了解的详细信息

可分享的证书

添加到您的领英档案

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有8个模块

课程介绍和概述、抽象和实现在系统设计中的作用、未来之路。

涵盖的内容

4个视频1篇阅读材料1个编程作业

首先,我们将简要介绍布尔代数,并学习如何使用逻辑门物理地实现布尔函数。然后,我们将学习如何使用硬件描述语言(HDL)指定逻辑门和芯片,以及如何使用硬件模拟器模拟由此产生的芯片规格的行为。这些背景知识将为项目 1 做好准备,在项目 1 中,您将构建、模拟和测试 15 个基本逻辑门。您在本模块中构建的芯片组稍后将用于构建计算机的算术逻辑单元(ALU)和内存系统。这将分别在模块 2 和模块 3 中完成。

涵盖的内容

8个视频1篇阅读材料1个编程作业

课程概况

涵盖的内容

1个视频3篇阅读材料

利用上一模块中构建的芯片组,我们现在将着手构建一个加法器系列--专为数字加法而设计的芯片。然后,我们将向前迈出一大步,构建一个算术逻辑单元。算术逻辑单元设计用于执行一整套算术和逻辑运算,是计算机的计算大脑。在本课程的后半部,我们将使用 ALU 作为核心芯片,并在此基础上构建计算机的中央处理器(CPU)。由于所有这些芯片都以二进制数(0 和 1)为运算单位,因此我们将从二进制运算的总体概述开始本模块的学习,然后再深入学习 ALU 的构建。

涵盖的内容

6个视频1篇阅读材料1个编程作业

在构建了计算机的 ALU 之后,本模块将转而构建计算机的主存储器单元,也称为随机存取存储器或 RAM。这项工作将自下而上逐步完成,从初级触发器门到一位寄存器,再到 n 位寄存器,直至一系列 RAM 芯片。与基于组合逻辑的计算机处理芯片不同,计算机的内存逻辑需要基于时钟的顺序逻辑。我们将首先概述这一理论背景,然后构建我们的内存芯片组。

涵盖的内容

6个视频1篇阅读材料1个编程作业

构建新计算机系统的一个极其重要的方面是设计低级机器语言或指令集,通过指令集可以指示计算机做各种事情。事实证明,这可以在计算机本身实际制造之前完成。例如,我们可以编写一个 Java 程序来模拟尚未建成的计算机,然后用它来模拟执行用新机器语言编写的程序。这样的实验可以让我们对新计算机的基本 "外观和感觉 "有一个很好的了解,从而做出改变和改进硬件和语言设计的决定。在本模块中,我们将采用类似的方法,假设 Hack 计算机和机器语言已经制作完成,并使用 Hack 机器语言编写一些低级程序。然后,我们将使用提供的 CPU 仿真器(一种计算机程序)来测试和执行我们的程序。这一经历将让你体验到低级编程的乐趣,并对 Hack 计算机平台有一个扎实的实践概述。

涵盖的内容

10个视频1篇阅读材料1个编程作业

让我们回顾一下过去的四个模块:我们构建了一些基本逻辑门(模块 1),然后用它们构建了一个 ALU(模块 2)和一个 RAM(模块 3)。然后,我们玩了低级编程(模块 4),假设整个计算机确实可用。在本模块中,我们将把所有这些构件组装成一台名为 Hack 的通用 16 位计算机。我们将首先构建 Hack 中央处理器(CPU),然后将 CPU 与 RAM 集成在一起,创建一个能够执行用 Hack 机器语言编写的程序的完整计算机系统。

涵盖的内容

6个视频1篇阅读材料1个编程作业

每台计算机都有一种二进制机器语言和一种符号机器语言,前者将指令写成一串 0 和 1,后者则使用人类友好的助记符来表达指令。这两种语言的功能完全相同,完全等价。但是,用汇编语言编写程序要比用二进制语言编写程序容易得多,也安全得多。为了享受这种奢侈,必须有人将我们的符号程序翻译成二进制代码,以便在目标计算机上按原样执行。这项翻译工作由一个称为汇编程序的代理完成。装配员可以是一个手动执行翻译的人,也可以是一个自动执行翻译的计算机程序。在本模块和课程的最后一个项目中,我们将学习如何构建一个汇编器。特别是,我们将开发把符号 Hack 程序翻译成二进制代码的能力,以便在 Hack 平台上按原样执行。你们每个人都可以选择两种不同的方式来完成这一壮举:要么使用高级语言实现汇编器,要么使用纸和笔模拟汇编器的运行。在这两种情况下,我们都会为您提供详细的操作指南。

涵盖的内容

8个视频1篇阅读材料1个编程作业

位教师

授课教师评分
4.9 (823个评价)
Shimon Schocken

顶尖授课教师

Hebrew University of Jerusalem
2 门课程256,469 名学生
Noam  Nisan

顶尖授课教师

Hebrew University of Jerusalem
1 门课程233,014 名学生

提供方

从 算法 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.9

3,691 条评论

  • 5 stars

    93.01%

  • 4 stars

    5.71%

  • 3 stars

    0.54%

  • 2 stars

    0.16%

  • 1 star

    0.56%

显示 3/3691 个

BD
5

已于 Sep 7, 2016审阅

MH
5

已于 Jun 21, 2021审阅

JZ
5

已于 Jul 19, 2017审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题