第二章:计算机的构成

news/2025/2/12 12:34:41/文章来源:https://www.cnblogs.com/TinySnowBlog/p/18711351

复习

  1. 第一章:需要一台计算机,在研究其组成的方向上进行努力

TL;DR

  • 计算机由四大核心部分组成:输入设备、输出设备、存储器和运算器
  • 计算机内部采用二进制表示所有信息,包括数字、文字和指令等等
  • 冯·诺依曼体系结构是现代计算机的基础框架

正文

  在了解了计算机的诞生历史后,我们来探索它的构成。站在设计者的角度思考:如果要设计一台计算机,需要什么?

思考题

  假设你是一名工程师,需要设计一台能自动解决数学问题的机器。这台机器需要:1)接收问题 2)进行计算 3)输出结果。你会如何设计它的基本组成部分?

基本组成

  一台计算机需要具备以下基本功能:

  1. 输入功能:接收用户的数据和指令
  2. 存储功能:保存数据和中间计算结果
  3. 运算功能:进行各种数学和逻辑运算
  4. 输出功能:展示计算结果

  今天的计算机,这些部件分别是:

  • 输入设备:键盘、鼠标、扫描仪等
  • 存储器:内存、硬盘等
  • 运算器:中央处理器(CPU)
  • 输出设备:显示器、打印机等

  当然以前设备没有这么好,输入输出设备可能只是简单的灯泡,显像管等等。以后也许我们能看到全息影像,那个时候玻璃也许就可以成为输出设备了。

计算机体系结构

  这些组成部分怎样协同工作?冯·诺依曼提出了一个基本框架:

  1. 采用二进制表示数据和指令
  2. 将程序和数据统一存储
  3. 以运算器为中心
  4. 按照程序顺序执行指令

  这个框架被称为冯·诺依曼体系结构,至今仍是计算机设计的基础。

  其中的有很多东西不知道,比如二进制、程序、数据、运算器,不过不要紧,接下来的章节都会讲。

小结

知识点

  • 计算机的基本组成部分
  • 二进制表示方法
  • 冯·诺依曼体系结构
  • 数据存储和处理方式

参考资料

  1. Wikipedia(zh):冯·诺依曼体系结构:现代计算机的基本架构

思考题答案(仅供参考)

  一个基本的设计方案:需要输入装置(接收问题),中央处理单元(进行计算),存储单元(保存中间结果),以及输出装置(显示结果)。这恰好对应了现代计算机的基本组成。

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪
本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882516.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一课 泰坦尼克号预测

目录导入数据将训练数据与测试数据合并查看数据描述性统计查看是否有异常值查看特征与标签之间的关系查看标签是否有偏态数据预处理填充缺失值特征工程特征创造同组识别筛选子集建模 导入数据 将训练数据与测试数据合并 查看数据 描述性统计查看是否有异常值看看各个数据是否偏…

美团面试:手机扫描PC二维码登录,底层原理和完整流程是什么?

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

docker官网镜像无法下载问题解决

亲测可用,这个方法是由技术爬爬虾大佬提供,简单地说就是通过github上的docker_image_pusher项目,将国外docker镜像转存到阿里云私人仓库。 此方法需要你有一个github账号,有一个阿里云账号。注册方法这里就不赘述了。 1.1. 获取阿里云相关参数 登录阿里云容器镜像服务。地…

Uptime-kuba安装与使用

Github https://github.com/louislam/uptime-kuma环境查看 系统环境# cat /etc/redhat-release Rocky Linux release 9.3 (Blue Onyx) # uname -a Linux Rocky9Uptimekume003077 5.14.0-362.18.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 11 13:49:23 UTC 2024 x86_6…

一文读懂本地部署DeepSeek-R1,如何选择

一文读懂本地部署DeepSeek-R1,如何选择! 想在本地服务器部署DeepSeek-R1?那可得先搞清楚不同版本的硬件需求。DeepSeek-R1是个超厉害的语言模型,有好几个版本,每个版本对计算资源和硬件的要求都不一样。这篇文章能帮你了解各版本的参数、所需硬件,以及怎么根据自身需求选…

LLaMa-Factory 本地微调 Deepseek R1 1.5B 大模型

LLaMA Factory 是一款开源低代码大模型微调框架,集成了业界最广泛使用的微调技术,支持通过 Web UI 界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架之一。项目提供了多个高层次抽象的调用接口,包含多阶段训练,推理测试,benchmark评测,API Server等,使开…

一文读懂本地部署DeepSeek,如何选择

一文读懂本地部署DeepSeek,如何选择! 想在本地服务器部署DeepSeek-R1?那可得先搞清楚不同版本的硬件需求。DeepSeek-R1是个超厉害的语言模型,有好几个版本,每个版本对计算资源和硬件的要求都不一样。这篇文章能帮你了解各版本的参数、所需硬件,以及怎么根据自身需求选合适…

在线客服的独立产品之路:如何将复杂的 .NET 系统打包到 Docker 镜像,使之能一键上线

我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营一款独立产品的经验。在这篇文章中,我主要讲 Docker 打包发…

raylib U1S07 - 拖动功能的实现

本来想做一个文字逃脱游戏的demo的。但是写起来之后发现——是真的不好写,要实现的功能太多了。要是在一节课或者一篇文章里把功能实现完,我吃不消学起来也难受,索性就拆开实现了。 这一篇先实现一个拖动的效果。看图:实现的功能:一个小球,可以在鼠标按下的时候跟着鼠标走…

002 Vue开发前的准备

1、安装Vue工具 Vue CLIhttp://vuejs.org 官网http://cn.vuejs.org 中文版官网     cli.vuejs.org Vue3最新版网址       Vue CLI Vue.js开发的标准工具,Vue CLI是一个基于Vue.进行快速开发的完整体系npm install -g @vue/cli 安装之后,你就可以在命令行中…

DeepSeek 是什么?

大家好,我是 R 哥。 最近,AI 界又掀起了一股新的浪潮,尤其是在国内市场,春节期间甚至被 DeepSeek 刷屏了,大家都在讨论 DeepSeek,好不热闹。 那么,DeepSeek 究竟是什么?它有什么厉害的地方? 啥?你还不知道使用 DeepSeek?清华大学出的《DeepSeek 从入门到精通》使用手…

前端如何计算js代码执行时长

前端代码调试、优化的时候,需要知道某段代码所消耗的时长,有好几种方法,这里介绍最简单,最常用的一种 console.time() 和 console.timeEnd() console.time()– 使用输入参数的名称启动计时器。在给定页面上最多可以同时运行 10,000 个计时器。 console.timeEnd()– 停止指定…