高级计算机体系结构:互连网络与多处理器系统

需积分: 9 3 下载量 55 浏览量 更新于2024-08-01 收藏 211KB PPT 举报
"高级计算机体系结构_ch7主要探讨了互连网络在计算机系统中的应用,尤其是如何通过互连网络构建多处理器系统以实现并行处理。章节内容包括对不同类型的多处理器体系结构的分类,如SISD、SIMD、MISD和MIMD,并重点介绍了MIMD系统的MPP(大规模并行处理)架构。此外,还讨论了根据处理器和网络的专用性或通用性对MPP系统的分类。互连网络的概念被进一步阐述,区分了MPP网络、LAN(局域网)和WAN(广域网)的不同应用场景和范围。网络互连技术则涉及了不同协议网络之间的数据传输。章节还详细讲解了一个简单的网络模型,包括两台计算机、连接线、FIFO信息管道以及消息传递机制,同时提到了出错处理和控制信息的重要性。" 在高级计算机体系结构中,互连网络是一个关键主题,其目的是为了构建多处理器系统,提高计算机性能。第七章首先介绍了互连网络的背景,指出它不是用于通信,而是用于构建机群系统,进行并行处理。接着,章节列出了不同类型的计算机体系结构,包括单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)和多指令流多数据流(MIMD)。其中,MIMD被认为是通用的多处理器机器,适合于各种应用。 MPP(大规模并行处理)系统是通过互连网络连接数千个节点(计算机)形成的,通常用于高性能计算。MPP系统根据节点和网络的专用性或通用性分为四类,包括专用处理器和网络、通用处理器和网络等。例如,Cray T3D属于一种传统的专用MPP系统,而基于LAN或ATM的系统则是通用型。 互连网络的层次包括MPP网络(用于高性能计算,覆盖范围小于25米)、LAN(用于工作站,覆盖几公里)和WAN(用于通信,可覆盖几千公里)。网络互连技术则涉及到不同网络之间数据传输的协议转换。 此外,章节还描述了一个基本的网络模型,由两台计算机、一根连接线和FIFO(先进先出)管道组成,用于消息传递。消息包括请求和应答,每个都包含地址和数据。考虑到实际系统可能存在的错误和信息丢失,消息内容还需包含错误检测和恢复机制。 "高级计算机体系结构_ch7"深入探讨了互连网络在构建多处理器系统中的作用,提供了对网络架构、分类和通信机制的详尽理解,为并行处理和高性能计算提供了理论基础。

uint32 bluetooth_ch9141_read_buff (uint8 *buff, uint32 len) { uint32 data_l = len; fifo_read_buffer(&bluetooth_ch9141_fifo, buff, &data_l, FIFO_READ_AND_CLEAN); return data_l; }uint32 bluetooth_ch9141_send_buff (uint8 *buff, uint32 len) { uint16 time_count = 0; while(len > 30) { time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, 30); buff += 30; // 地址偏移 len -= 30; // 数量 } time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, (uint16)len); // 发送最后的数据 return 0; }uint8 bluetooth_ch9141_init (void) { wireless_type = WIRELESS_CH9141; // 本函数使用的波特率为115200 为蓝牙转串口模块的默认波特率 如需其他波特率请使用上位机修改模块参数 fifo_init(&bluetooth_ch9141_fifo, bluetooth_ch9141_buffer, BLUETOOTH_CH9141_BUFFER_SIZE); uart_init(BLUETOOTH_CH9141_INDEX, BLUETOOTH_CH9141_TX_PIN, BLUETOOTH_CH9141_RX_PIN, BLUETOOTH_CH9141_BUAD_RATE, BLUETOOTH_CH9141_TIMER); return 0; }void bluetooth_ch9141_uart_callback (void) { // 读取无线串口的数据 并且置位接收标志 bluetooth_ch9141_data = BLUETOOTH_CH9141_DATA_BUF; fifo_write_buffer(&bluetooth_ch9141_fifo, &bluetooth_ch9141_data, 1); // 存入 FIFO }static fifo_struct bluetooth_ch9141_fifo; static uint8 bluetooth_ch9141_buffer[BLUETOOTH_CH9141_BUFFER_SIZE]; // 数据存放数组 static uint8 bluetooth_ch9141_data;为我设置参数让这些函数可以让HC-05蓝牙工作

2023-07-14 上传