为什么会加载进内存?
因为内存的读写速度更快,而且cpu只能从内存中读写。
cpu并不能做所有的事情,是由源代码生成的机器码来告诉cpu怎么执行,cpu便从上而下来一步一步执行。

计算机的本质,就是一堆IC的组合体,通过各种电信号(高低电平/0和1)来进行简单的操作。

谁来操作硬件?
应用程序是导航,windows是司机,硬件是车。所以实质上是软件来控制硬件的。具体上是操作系统来操作硬件。
操作系统通过in & out 来进行硬件之间沟通(数据交换)的东西。
用法:

in 寄存器名,端口号
out 端口号,寄存器名

计算机是如何区分我们的硬件?
用端口号来区分(I/O范围),为不同的硬件划定不同的端口号,当计算机识别到这个端口号便会知道这是哪一个硬件。

什么是硬件冲突?
当不同硬件划分的端口号相同时,计算机无法辨别出到底是什么,便会发生硬件冲突。

每一个硬件的电流特征码是不一样的。

计算机中很多硬件,这些硬件应该是同时工作的,所以便有了“中断”。
IRQ:发生中断请求的 。
CPU->中断控制器->调节中断对于硬件的请求
(io控制器 中断控制器 CPU )

轮询?

轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。轮询法的概念是,由CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。

中断原理:cpu接到中断以后会将当前寄存器里面的内容进行保存,然后会调用中断 ,完成中断以后会恢复到之前保存到寄存器里面的内容继续之前未完成的工作。

DMA,不需要通过cpu的调配和指派,可以直接将磁盘里面的数据存储到内存里面去。
(硬盘,磁盘里面都有DMA这种机制)

DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

VRAM:Video Random Access Memory:显存,帧存储器,刷新存储器,或VRAM(缩写)

应用程序会有我们的 逻辑代码->windows进行硬件通信
中断和轮询,使得cpu可以匀速且快的完成任务

软件的重要性
是什么让我们的计算机能够思考的呢?
程序程序程序!
用程序表达思考
(程序可以分为:工具性程序以及可以“思考”的程序)
猜拳游戏:

c语言学习--计算机软件和硬件相关推荐

  1. Python语言学习:Python语言学习之硬件交互应用(arduino、树莓派等)相关的简介、案例应用之详细攻略

    Python语言学习:Python语言学习之硬件交互应用(arduino.树莓派等)相关的简介.案例应用之详细攻略 目录 Python与硬件交互应用 1.适合运行python的嵌入式硬件系统 1.1. ...

  2. C语言学习笔记01:C语言基础语法_变量类型_类型转换

    文章目录 C语言第一天课程笔记 1. 内容安排 2. 课堂笔记 2.1 计算机硬件 2.2 计算机软件 2.3 编程语言和编译器 2.4 编程语言发展 2.5 C语言标准 2.6 C语言学习理由 2. ...

  3. C语言学习之路--计算机系统组成以及工作原理,进制之间的转换和机器数及其表示范围

    目录 一.前言 二.计算机系统组成以及工作原理简介 1.硬件系统基本组成原理及工作原理 2.硬件各部分详解 1.运算器 2.控制器 CPU 3.存储器 1.内存储器 2.外存储器 3.拓展 4.存储器 ...

  4. 学计算机用什么教材,请问学习计算机软件都需要什么专业教材

    请问学习计算机软件都需要什么专业教材以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 请问学习计算机软件都需要什么专业教材 ...

  5. 深度学习 占用gpu内存 使用率为0_深度学习的完整硬件指南

    原标题 | A Full Hardware Guide to Deep Learning 作者 | Tim Dettmers 译者 | linlh.呀啦呼(Tufts University).Ryan ...

  6. 南师大632c语言程序设计,单片机c语言学习心得632.docx

    可编辑文档 PAGE 页码页码/NUMPAGES 总页数总页数 单片机c语言学习心得 (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧..不过有些朋友可能只听说他叫单片机,他的全称是什 ...

  7. java语言_java语言学习

    现在最流行的编程语言就是java了,学习java要怎样学习,有要注意哪些呢?首先要确定学习将来要干嘛,确定好之后就一直朝着这个方向努力,不放弃就行了. 首先,需要明确的是Java已经不是一门简单的语言 ...

  8. 计算机辅助语言和语言学关系,西方语言学与多媒体计算机辅助语言学习_王艳萍...

    第4卷第1期2006年2月锦州医学院学报(社会科学版) JournalofJinzhouMedicalCollege(SocialScienceEdition)Vol.4No.1 Feb.,2006 ...

  9. Go 语言学习总结(4)—— 为什么说 Golang 是面向未来的语言?

    前言 Golang 是最年轻的编程语言之一,于 2007 年设计,由 Ken Thompson(UNIX 和 C 的设计者和创建者).Rob Pike(UTF 8 和 UNIX 格式的共同创建者)和 ...

  10. c语言谭浩强ppt课件,编程_C语言学习课件_谭浩强_PPT~1216F.ppt

    编程_C语言学习课件_谭浩强_PPT~1216F.ppt ,第一章,C语言概述本章要点,C语言的特点 C程序的结构 在计算机上运行C程序的方法主要内容,1.1 语言出现的历史背景 1.2 程序的特点 ...

最新文章

  1. [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
  2. 数据蒋堂 | DB与NoSQL的访问性能
  3. MEMS为何独领风骚?看完这篇秒懂!
  4. .net 常用的插件列表
  5. Wireshark筛选常用命令
  6. 05章项目:我的租房网
  7. NFS为lamp提供共享存储实践
  8. android wear 2.0 moto360 二代,最好看的 Android Wear, 二代 Moto 360 可能就是这样了
  9. 【git学习四】git基础之git为项目打标签
  10. ASP读取ini文件的实现方法
  11. 【源码分析】storm拓扑运行全流程源码分析
  12. javascript --- js中的作用域 变量提升
  13. this.$router.push如何刷新页面_小程序丨微信小程序如何实现页面下拉刷新
  14. 潜水员(信息学奥赛一本通-T1271)
  15. 【华为云技术分享】传统OCR识别综述
  16. deepin 安装cuda 编译 ffmpeg
  17. 【论文笔记】Joint Cascade Face Detection and Alignment
  18. eplan好看的电缆图表_EPLAN电缆图表模板
  19. MathType工具栏在word里无法点击
  20. 人工智能机器视觉技术应用有哪些?

热门文章

  1. shopee虾皮注册很难吗?shopee虾皮注册有哪些注意事项?
  2. 木讷的程序员需要知道的事情 (五)
  3. php 计算工资,php计算税后工资的方法
  4. PCIe5.0的Add-in-Card(AIC)金手指layout建议(一)
  5. C# 获取 ARP 映射
  6. coldfusion php,将一些PHP移植到ColdFusion
  7. 远离危险 教你使用局域网“隐身术”(转)
  8. linux网络编程之shutdown() 与 close()函数详解
  9. STM32F103_study64_The punctual atoms(Simulator and downloader)
  10. python发微博头条文章_Python脚本实现自动发带图的微博