计算机组成

// 最近看了两本书,关注点是计算机组成
计算机是怎样跑起来的
程序是怎样跑起来的

了解到 计算机 cpu isr io 的构成

汇编代码 与 二进制代码

程序的加载 执行 // 不表

系统调用规则 // 不表


计算机

最简单的计算机包括几个模块(flash 不是必备单元)
    cpu
        从内存中取值,取数据,到寄存器,然后译码,然后执行.
        向内存中写值.
        从IO中取值.
        向IO中写值
    内存
        存储数据与指令
    IO
        被cpu 控制
        告知cpu IO 状态
    //flash(flash 不是必备单元)
        和内存都是存储单元,存在 XIP 的 rom,此时 flash 和 内存一样.

  • 计算机单元的连线

各芯片电源 ,,时钟

1. cpu 与 IO
    cpu芯片的address 线 和 IO 的 address 线
    cpu 芯片的 data 线 和 IO 的 data 线
    cpu  芯片的 控制线 和 IO 的 控制线(读写使能)
2. cpu 与 内存
    cpu芯片的address 线 和 内存 的 address 线
    cpu 芯片的 data 线 和 内存 的 data 线
    cpu  芯片的 控制线 和 内存的 控制线(读写使能)

3. IO芯片 与 外设

  • cpu

    寄存器
        指令寄存器 // 存储指令,一般不对程序员开放
        栈寄存器 // 栈区域的起始位置
        程序寄存器(程序计数器) // 存储下一条指令所在的位置
        标志寄存器(状态寄存器) // 存储计算后cpu的状态
        控制寄存器 // cpu工作状态
        通用寄存器
        	累加寄存器
        	索引寄存器
        	
    控制器
        被指令操纵做控制
    运算器
    	alu
    	vpu
    	rpu
        被指令操作做运算
    时钟
        指令按照时钟滴答运行.一个指令是N个时钟周期代表着一个N个时钟周期的时间内会执行完这条指令.

  • io

    io端口号(必须)
        IO端口就像是一个港口,用于临时保存输入输出数据的内存.
        如果执行 OUT (3) 0x01 . 在这个命令之后,IO控制器将该管脚置 1 ,并保持该状态,直到下次控制命令到达.
    irq(非必须)
        用于给 cpu 中断
    dma通道(非必须)
        用于减轻cpu负担,将IO数据直接放到内存里.

  • isr
// 指令中 包括 操作码 和 操作数 (操作数就是数据)
// 所以 数据在指令中.
数据转送指令
    cpu寄存器 <-> 内存
        load // arm 架构
        store // arm 架构
    cpu寄存器 <-> io
运算指令
    mov
    add
    ...
程序流程控制指令
    跳转指令
    halt
    call/return
    wfi/wfe
    swi/int
    中断 // 被动
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值