高级软件工程师之路-软件和硬件

软件的重要性


电脑的本质,其实是一堆IC的组装,通过电信号来进行简单的操作。而软件的意义,就是控制这堆IC。


这里写图片描述

软件与操作系统


软件即操作系统能识别的可执行程序。
可执行程序通过调用系统提供的API来实现各种功能。

操作系统与硬件


操作系统和硬件之间通过in 和 out 指令来交换数据。

指令:
in [寄存器] [端口号]
out [端口号] [寄存器]

  • 硬件端口号(I/O范围)

    以前的硬件端口号是由厂商设置的,往往多个硬件之间会产生冲突,现在的硬件端口号由操作系统自动分配,唯一不冲突。

  • IO控制器

    每个I/O设备都有自己的I/O控制器,所有的I/O设备都以扩展卡(扩展线缆)的形式插在主板的扩展槽(或扩展接头)中。而I/O控制器就在主板上,主板的功能本身就是作为控制器融合所有的I/O设备。

    每个硬件的电流特征不一样,所以我们在主板中通过IO控制器来管理和使用我们的硬件。

  • 中断(IRQ)

    中断指当出现需要时,CPU暂时停止当前程序的执行转而去处理新情况的程序和执行过程。

  • 中断控制器

    中断控制器就是在一个计算机系统中专门用来管理I/O中断的器件,它的功能是接受外部中断源的中断请求,并对中断请求进行处理后再向CPU发出中断请求,然后则由CPU相应中断并进行处理。在CPU响应中断的过程中,中断控制器仍然负责管理外部中断源的中断请求,从而实现中断的嵌套和禁止,而如何对中断进行嵌套和禁止则与中断控制器的工作模式与状态有关。

  • DMA(Direct Memory Access,直接内存存取)

    DMA是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖CPU的大量中断负载。

    按我们之前学到的知识:
    1.CPU给硬盘发送指令,通知硬盘读取数据。
    2.硬盘发送中断指令给CPU。
    3.CPU进行数据读取和存放。
    4.CPU联系内存。
    5.内存准备完全,发起中断。
    6.CPU把数据写入内存。

    直接存储器存取方式,主要用于快速设备和主存储器成批交换数据的场合。在这种应用中,处理问题的出发点集中到两点:一是不能丢失快速设备提供出来的数据,二是进一步减少快速设备入出操作过程中对CPU的打扰。这可以通过把这批数据的传输过程交由一块专用的接口卡(DMA接口)来控制,让DMA卡代替CPU控制在快速设备与主存储器之间直接传输数据,此时每传输一个数据只需一个总线周期即可。从共同使用总线的角度看,DMA和CPU成为竞争对手关系。当完成一批数据传输之后,快速设备还是要向CPU发一次中断请求,报告本次传输结束的同时,”请示”下一步的操作要求。

  • VRAM(Video Random Access Memory,显存)

    它的功能主要是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负担。

    早期的电脑没有VRAM,在内存中划分出一块区域充当VRAM使用。而现在显卡自带了显存和GPU,将视频数据的传输和图形显示计算都在显卡中进行,大大降低了CPU的计算量。

智能化软件

记忆功能,概率/上下文/场景…分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值