CPU体系结构

汇编语言是直接运行在硬件上的编程语言,要实现汇编,首先要了解硬件结构。

机器语言

机器语言即机器指令的集合,电子计算机的机器指令是一列二进制数,计算机将其转换为高低电平,是计算机的硬件受到驱动进行计算。

例如8086CPU要完成计算s = 768 + 12288 – 1280,机器码如下:

1011,0000,0000,0000,0000,0011

0000,0101,0000,0000,0011,0000

0010,1010,0000,0000,0000,0101

汇编语言

为了克服机器语言的弊端,让编程语言变得易于辨别和记忆,就产生了汇编语言,汇编语言的主体是汇编指令,汇编指令和机器指令的区别在于表示方式上的不同,汇编指令是机器指令便于记忆的书写格式。

例如:把BX寄存器的内容送入AX

机器指令:1000,1001,1101,1000

汇编指令:mov ax,bx

指令解释:将BX中的内容送入AX中

*寄存器:CPU中用于存放数据的器件

*程序的运行过程:

汇编语言的组成

汇编指令:机器码的助记符,有机器码与其对应

伪指令:只由编译器执行的没有对应机器码的指令

其他符号:由编译器识别的符号,如加减乘除符号

存储器

CPU是计算机的核心,要CPU工作,必须向其提供数据和指令,而数据和指令都存放于存储器中。

指令和数据

指令和数据两者实质上没有任何的区别,都是一串二进制信息,由CPU把某些信息看成指令把另一些看成数据。

例如下面的信息

1000,1001,1101,1000

CPU可以将其看成数据89D8H,也可以看成是指令mov ax,bx

存储单元

存储单元可存放1个Byte信息,例如某个存储器有256M个存储单元,就可以存储256M字节信息。

地址总线

地址总线的宽度决定了CPU可以寻址的大小,地址总线的宽度为N,则CPU可以寻2的N次方个内存单元。

16位:可寻64kB空间;
20位:可寻1024kB空间(1M)
24位:16MB
28位:256MB
32位:4GB

数据总线

决定了CPU和内存或其他部件进行数据传递的速度,8根数据总线一次传递1个字节,16根则传递一个字。

主板

集成了CPU、存储器、芯片组和扩展插槽,扩展插槽可扩展RAM内存条和接口卡。

接口卡

CPU不能直接控制外设(显示器、音箱、打印机),而是由接口卡老控制,CPU通过三总线控制接口卡间接控制以上外设。

原文地址:https://www.cnblogs.com/ingy0923/p/8859064.html

时间: 2024-07-31 18:52:04

CPU体系结构的相关文章

Linux0.11内核剖析–内核体系结构 ©Fanwu

Linux0.11内核剖析–内核体系结构 ©Fanwu <Linux内核完全注释>下载:http://files.cnblogs.com/files/HanBlogs/linux-kernel.pdf(进入pdf后要点击右下角保存喔^_^) 一个完整可用的操作系统主要由 4 部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如下图所示: 用户应用程序是指那些字处理程序. Internet 浏览器程序或用户自行编制的各种应用程序: 操作系统服务程序是指那些向用户所提供的服务被看作是操作系

破获ARM64位CPU下linux crash要案之神技能:手动恢复函数调用栈

"情况是在不断地变化,要使自己的思想适应新的情况,就得学习" --伟大主席毛爷爷 引言 前不久老王的一位刚入职的同事小马在调试基于三星平台的7420 SOC(ARM64位处理器芯片)Android驱动的时候遇到了一个crash问题,但是panic出来后没有打印出backtrace(函数的调用关系),后来老王通过分析ARM64 linux的函数调用关系以及AAPCS64,通过手动获取调用堆栈的方式很快定位和解决了此问题.突然老王才意识到,早在2013年苹果发布了iPhone 5s,其做为

深入浅出~Linux设备驱动之CPU与内存和I/O

那是世上最远的距离 思念让我无法去呼吸 你的一动和一举 占据我心里 陪我每个孤独无尽的夜里 用我心中盛放的画笔 描绘你微笑时的绚丽 爱让人痛彻心底 我却不怀疑 你的存在是我生命的奇迹 感受你的每一次的呼吸 多想告诉你我有多爱你 如果我说我愿意 为你而死去 可否你的梦里留下我痕迹 无数悸动变换岁月里 你会依偎在谁的怀里 那些埋藏在心里 最深的秘密 是我生命里最脆弱的美丽 感受你的每一次的呼吸 多想告诉你我有多爱你 如果我说我愿意 为你而死去 可否告诉我你心底曾是唯一 感受你的每一次的呼吸 多想告诉

Linux Kernel Interrupt、Interrupt Priority、Prohibit Things Whthin CPU In The Interrupt Off State

目录 0. 引言 1. Linux 中断的概念 2. Linux 中断相关的源代码分析 3. Linux 硬件中断 4. Linux 软中断 5. 中断优先级 6. CPU在关中断状态下编程要注意的事项 0. 引言 中断是现代计算机体系结构的重要组成部分.现代体系结构的基本输入输出方式有三种 1. 程序查询: CPU周期性询问外部设备是否准备就绪.该方式的明显的缺点就是浪费CPU资源,效率低下.但是在特定的场景下这种"程序查询"的方式还有有它的用武之地的 例如,在网络驱动中,通常接口(

CPU Cache 机制以及 Cache miss

CPU体系结构之cache小结 1.What is cache? Cache是用来对内存数据的缓存. CPU要访问的数据在Cache中有缓存,称为“命中” (Hit),反之则称为“缺失” (Miss). CPU访问它的速度介于寄存器与内存之间(数量级的差别).实现Cache的花费介于寄存器与内存之间. 现在 CPU 的 Cache 又被细分了几层,常见的有 L1 Cache, L2 Cache, L3 Cache,其读写延迟依次增加,实现的成本依次降低. 现代系统采用从 Register ―>

linux内核编译与开发

一.Linux内核简介linux kernel map: linux 系统体系结构: linux kernel体系结构: arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RING0级别最高, 这样linux用户代码运行在RING3下,内核运行在RING0,这样系统本身就得到了 充分的保护 用户空间(用户模式)转到内核空间(系统模式)方法: ·系统调用 ·硬件中断 linux kernel 体系结构: 虚拟文件系统VFS: VFS(虚拟文件系统)隐藏各种文件系统的具体细节,

嵌入式系统编程和调试技巧

嵌入式系统的开发,软件的运行稳定可靠是非常重要的.在芯片中,软件是没有质量的,但软件的质量可以决定一颗芯片的成败.芯片设计中,性能能否满足设计要求,除了硬件设计.软硬件配合的设计技巧,对于软件来说,编程的一些技术和技巧同样重要. 本文讲述我在芯片固件开发过程中使用的一些编程调试技巧.针对在嵌入式系统开发中常见的问题,如实时系统下的同步问题,动态内存分配的内存泄漏问题,如何在编程阶段预防BUG出现,调试阶段如何及时发现问题和定位问题.总结下经验,目的是开发一个稳定运行的固件,提高开发效率,提高运行

YUM 基本概念

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE.CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 软件包来源: 可供Yum下载的软件包包括Fedora本身的软件包以及源自rpmfusion和rpm.的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软件.所有的包

uboot的介绍

uboot的介绍 1.1 uboot的介绍Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统.UBoot除了支持PowerPC系列的处理器外,还能支持MIPS. x86.ARM.NIOS.XScale等诸多常用系列的处理器.1.2 uboot的体系结构目录树|--board|--common|--cpu|