原文地址:操作系统与单片机 - Pleasure的博客

下面是正文内容:

前言

这是一篇笔记,具体的上手实践后面会有

对应计算机体系结构这门专业课程,主要讲罗列一些生涩的概念

都是些废话别看了

正文

步骤:数字电路,计算机组成原理,计算机结构,实现逻辑电路,设计指令集,实现汇编器,集成测试

元器件:继电器,真空管,晶体管

操作系统

ALU是算术逻辑单元(Arithmetic Logic Unit)的缩写,是计算机中的一个重要部件。它是中央处理器(CPU)的组成部分之一,负责执行算术运算(如加法、减法、乘法、除法)和逻辑运算(如与、或、非、异或)。

ALU接收来自CPU的指令,并根据这些指令执行相应的操作。它可以对二进制数进行各种运算,因为计算机中所有的数据都以二进制形式表示。ALU的设计通常包括一系列逻辑门电路和寄存器,用于执行各种运算和操作。

ALU的性能和功能对计算机的整体性能和功能至关重要,因为它负责执行大多数的算术和逻辑运算。因此,ALU的设计对于计算机的性能和效率至关重要。

图灵完备是指一种系统具备了图灵机的功能,即可以模拟任何图灵机能够完成的计算任务。图灵机是由英国数学家艾伦·图灵提出的一种理论模型,用于描述一种抽象的计算机。一个系统如果是图灵完备的,就意味着它能够进行条件判断、循环、递归等操作,可以处理各种算法和计算问题,因此被认为是能够执行任何计算的通用计算机。图灵完备性是计算机科学中一个重要的概念,用于衡量一种计算系统的功能和能力。

相关概念:系统资源 任务 进程 顺序执行 多任务并行 任务优先级 任务切换 时间片

高级操作系统特性:任务切换 多任务并行 任务优先级

时间片轮转 上下文切换 上下文保存 中断系统(突发事件) 资源调度 资源争抢

实时操作系统与非实时操作系统,硬实时与软实时

单片机

单片机是一种集成了中央处理器、存储器和各种输入/输出(I/O)功能的微型计算机系统。它们通常被用于控制和嵌入式系统中。单片机可以根据其体系结构、指令集、处理器类型等特征进行分类。以下是单片机的一些常见分类:

  1. 根据体系结构分类:
    • 哈佛体系结构(Harvard Architecture): 在哈佛体系结构中,程序存储器和数据存储器分开,因此指令和数据采用不同的总线传输。这种体系结构适用于许多嵌入式系统,如传感器网络和嵌入式控制器。
    • 冯·诺伊曼体系结构(Von Neumann Architecture): 在冯·诺伊曼体系结构中,程序存储器和数据存储器共享同一总线。这种体系结构通常用于一般用途的计算机系统。
  2. 根据指令集分类:
    • 精简指令集计算机(RISC): 这种类型的单片机具有精简的指令集,指令通常是固定长度的,执行速度较快。
    • 复杂指令集计算机(CISC): 这种类型的单片机具有更多复杂的指令集,指令长度可以不同,具有更多的操作码,但执行速度可能较慢。
  3. 根据处理器类型分类:
    • 8位单片机: 典型的代表有Microchip的PIC系列和Atmel的AVR系列。
    • 16位单片机: 典型的代表有Microchip的PIC24系列和Atmel的AVR XMEGA系列。
    • 32位单片机: 典型的代表有ARM Cortex-M系列、Microchip的PIC32系列等。

Arduino系列的开发板,是一个基于单片机的开发平台。通常,Arduino开发板上搭载的是一个微控制器芯片,这个芯片包含了一个单片机以及其他必要的外围电路,比如稳压器、时钟电路、通信接口等。

树莓派不是严格意义上的单片机,而是一款单板计算机(Single Board Computer,SBC)。与传统的单片机相比,单板计算机包含更多的硬件组件,例如处理器、内存、输入输出接口、网络连接等,使其更类似于完整的计算机系统。

一些常见的单片机架构:(具体就不做介绍了)

AVR架构 ARM架构 PIC架构 8051架构 MIPS架构 ESP架构等等。

8051单片机内存结构——寄存器组 位寻址区 字节寻址区 特殊功能寄存器(SFR)

0x0000 到 0xFFFF,这是程序存储器的地址范围,用于存储程序代码。这些数据是存储在FLASH中的。
Flash存储器用于存储程序代码,而RAM用于存储临时数据、变量、堆栈等。程序代码从Flash存储器中加载到RAM中,然后由CPU执行。

数字电路与二进制

计算机为什么使用二进制
二进制是一种位值记数法,每个位置上的数字的含义由其所在的位置和基数共同决定。
使用两个数字0和1来表示数值。在计算机中,数字是用二进制来表示的,因为电路只能表示电信号的有无,即0或1。因此,所有的计算机数据和指令都是用二进制编码的。用电压5V表示1,电压0V表示0
●计算机的元器件晶体管只有2种状态,通电(1)&断电(0),用二进制可直接根据元器件的状态来设计计算机。
● 而且,数学中的"布尔代数"分支,可以用True和False(可用1代表True,0代表False)进行逐辑还算代替实数进行计算。
●信号容易被干扰,计算机使用接近5V的电压为1,接近0V的电压是0,这样可以有效避免干扰,轻微的电压I波动不会对数据的结果造成影响。

8位的操作系统(只有几KB内存的小单片机),32位的操作系统最大的寻址空间(支持最大内存只有4G),64位的操作系统(目前主流,大内存)

文字储存:ASCII编码,GBK编码,Unicode编码
图片储存:RGB编码(每个彩灯控制一个像素点,256个彩灯就是16*16的分辨率)

推荐网站:https://www.toolhelper.cn/Encoding

布尔运算是逻辑运算的一部分

布尔运算:

  • 布尔运算是指对布尔值(即真值和假值,通常表示为true和false)进行的运算。
  • 布尔运算符通常包括与(AND)、或(OR)、非(NOT)等。
  • 布尔运算的结果也是布尔值,即true或false。

逻辑运算:

  • 逻辑运算是一种推理方法,用于处理命题之间的关系。
  • 逻辑运算符通常包括合取(逻辑与)、析取(逻辑或)、蕴含、等价、否定等。
  • 逻辑运算可以用于判断命题的真假,并推导出新的命题。

尾声

还有待更新,下面就进入数字电路

04-04 10:50