首页 > 其他分享 >2 简单的计算机系统MARIE

2 简单的计算机系统MARIE

时间:2024-09-18 21:01:32浏览次数:8  
标签:计算机系统 AC 中断 总线 地址 仲裁 模块 简单 MARIE

2 简单的计算机模型MARIE

总线

分类1

  • 点对点总线
  • 多点总线

分类2

  • 数据线(并行 /串行)
  • 控制线(设备使用总线的权限 /传输总线请求的应答 /确认中断和时钟同步信号)
  • 地址线
  • 电源线

主线仲裁机制

对于多个主控设备的系统,为某些主控设备设置优先级别,又保证各个主控设备都有机会使用总线

  1. 菊花链仲裁方式:从最高优先级到最低(优先级低的设备可能被“饿死”,简单但不公平)
  2. 集中式并行仲裁方式:仲裁控制器(所有请求都集中在一个仲裁器上,导致瓶颈)
  3. 采用自选择的分配式仲裁方式:设备自己决定
  4. 采用冲突检测的分配式仲裁方式:如果多个请求者同时请求资源,系统会进行冲突检测,以确定哪个请求可以被满足(常见)

时钟

控制指令执行速度的内部时钟

指令的性能通常是通过时钟周期(时钟频率的倒数)的数目(而不是秒)来测量的

存储器

存储器通常使用符号 L x W(长 x 宽)表示

e.g. 4M x 8 = 222 x 8, (字节)地址:0 ~ 222-1

​ 单个存储器模块只能串行访问(每次只能执行一次存储器访问); 交叉存储器把存储器分成多个模块,多个模块可以同时访问。

​ 模块的数量取决于有多少个可寻址单元,n个模块 = n路交叉

高位交叉:使用地址的高位选择模块

2

低位交叉:使用地址的低位选项模块

IMG_20240918_174223

MARIE特点

E2467C4B50AD26942FF9F4E3E875811B

指令执行过程

577FB0DEE6B663F8B7447B5014CADA89

寄存器与指令集

Load X:将地址位X的存储单元中的内容装入AC

MAR <- X
MBR <- M[MAR]
AC <- MBR

Store X:将AC中的内容存储到地址X的存储单元中

MAR <- X, MBR <- AC
M[MAR] <- MBR

Add X:将地址X中的内容和AC中的内容相加,将结果存到AC中

MAR <- X
MAR <- M[MAR]
AC <- AC + MBR

Subt X:从AC中减去地址X中的内容,将结果存到AC中

MAR <- X
MAR <- M[MAR]
AC <- AC - MBR

Input

AC <- InREG

Output

OutREG <- AC

Halt:停止程序的执行

Skipcond:有条件地跳过下一条指令

If IR[11-10] = 00 then
    If AC < 0 then PC <- PC + 1
else If IR[11-10] = 01 then
    If AC = 0 then PC <- PC + 1
else If IR[11-10] = 10 then
    If AC > 0 then PC <- PC + 1

Jump X:无条件转向给定地址X

PC <- X

中断

  • 硬件中断
  • 软件中断(陷阱 /异常)

中断产生原因:

​ 程序错误、硬件错误、I/O完成、用户中断、定时器中断

IMG_20240918_191329

中断屏蔽:使用标志寄存器中的特殊中断屏蔽位暂停非关键中断(可屏蔽中断)

不可屏蔽中断不能暂停

标签:计算机系统,AC,中断,总线,地址,仲裁,模块,简单,MARIE
From: https://www.cnblogs.com/wxrwajiez/p/18419327

相关文章

  • ARM基础知识点及简单汇编语法
    计算机最小系统是一个能启动并运行基本功能的系统,其组成包括:处理器(CPU):执行指令的核心组件。内存:RAM:存储运行中的程序和数据。ROM:存储引导程序或固件。存储:用于存储操作系统和应用程序的设备,如闪存。输入输出接口:基本的通信接口,如串行接口(UART)和GPIO(通用输入输出)。电源:提供......
  • 计算机系统教学—django高校科研项目得分管理系统
    标题:django高校科研项目得分管理系统设计并实施一个基于Django的高校科研项目得分管理系统,旨在高效地组织、评估和追踪科研项目的进展及成果。系统的核心功能模块:1.用户与权限管理•角色分配:支持管理员、评审专家、项目负责人、参与者等多个角色,每个角色具有定制化的操作......
  • 2 简单的计算机模型MARIE
    2简单的计算机模型MARIE总线分类1点对点总线多点总线分类2数据线(并行/串行)控制线(设备使用总线的权限/传输总线请求的应答/确认中断和时钟同步信号)地址线电源线主线仲裁机制对于多个主控设备的系统,为某些主控设备设置优先级别,又保证各个主控设备都有机会使用总......
  • wpf简单自定义控件
    用户控件(UserControl)和自定义控件(CustomControl)的区别:UserControl:将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组;由XAML和CodeBehind代码组成;不支持样式/模板重写;CustomControl自定义控件,扩展自一个已经存在的控件,并添加新的功能/特性;由C......
  • Python 语法糖:让编程更简单(续三)
    Python语法糖:让编程更简单(续三)15.DictionarycomprehensionsDictionarycomprehensions是Python中的一种语法糖,用于简化字典的创建。例如:numbers=[1,2,3,4,5]squared_numbers_dict={x:x**2forxinnumbers}print(squared_numbers_dict)#prints{1:1,2:4,......
  • Python 语法糖:让编程更简单(续二)
    Python语法糖:让编程更简单(续)10.TypehintsTypehints是Python中的一种语法糖,用于指定函数或变量的类型。例如:defgreet(name:str)->None:print(f"Hello,{name}!")这段代码将定义一个名为greet的函数,它接受一个字符串参数name,并打印出Hello消息。11.ContextlibC......
  • Python 语法糖:让编程更简单(续)
    Python语法糖:让编程更简单(续)6.SlicenotationSlicenotation是Python中的一种语法糖,用于从列表或字符串中获取子串或子列表。例如:numbers=[1,2,3,4,5]print(numbers[1:3])#Output:[2,3]这段代码将从numbers列表中获取索引为1到3的子列表。7.f-stringsf-str......
  • Netty WebSocket 最简单的聊天室
    Netty最为后端服务处理WebSocket协议连接后端代码pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xs......
  • mybatis简单配置
    1.配置pom.xml所有代码:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">......
  • 教育培训小程序开发,简单实用的入门指南
    教育培训小程序可以帮助教育机构和个人老师提供更灵活的在线教学服务,满足学生的学习需求。对于初学者来说,开发一个功能齐全的教育培训小程序并不复杂,只需掌握一些基础的开发知识和工具即可。本文将带你了解如何使用微信小程序开发工具,创建一个简单实用的教育培训小程序,并展示一些关......