Hardware and software are two parts of a chip system that are mutually dependent. This article summarizes the hardware and software components of a chip.
(1) Hardware
Master CPU: computing and control core. The basic architecture of the Baseband Chip adopts the structure of microprocessor + Digital Signal Processor (DSP). The microprocessor is the control center of the entire chip and runs a real-time embedded operating system (such as Nucleus PLUS ), the DSP subsystem is responsible for Baseband Processing. Application Processors may include multiple microprocessors and GPUs. The microprocessor is a product of different ARM Series (or X86 architecture), which can be 64-bit or 32-bit.
Bus: computer bus can be divided into data bus, address bus and control bus, which are used to transmit data, data address and control signal respectively. It is a public channel for transmitting information from the CPU, memory, input, and output devices. Each part of the host is connected through the bus, and the external device is connected to the bus through the corresponding interface circuit, thus forming a hardware system.
On-Chip Bus standard advanced microcontroller bus structure AMBA defines communication standards for high-performance embedded microcontroller. Three bus groups are defined: AHB (AMBA High Performance Bus), ASB (AMBA System Bus), and APB (AMBA Peripheral Bus ). AHB Bus is used for high-performance, high-clock operating frequency modules. AHB provides interfaces for high-performance processors, on-chip memory, and off-chip memory, while bridging slow peripherals. DMA, DSP, and primary storage are connected to AHB. The ASB bus is mainly used for high-performance system modules. ASB is an optional system bus for Chip Design with high performance features not required by AHB. APB bus is used to provide bus technical support for slow peripherals. APB is an optimized, low-power, and streamlined interface bus that supports multiple low-speed peripherals. Because APB is the earliest bus interface proposed by arm, APB can bridge each system bus in the arm system.
Peripheral I/O Ports: gpio universal ports, UART serial ports, I2C, SPI, sdio, USB, etc, interfaces for communication between CPU and extended chips, devices, and two CPUs (such as between baseband processors and application processors. Generally, the chip supports multiple interfaces and designs a general software driver platform driver.
Storage components and storage management devices: Rom, Ram, flash and controller. A processor system may contain various types of storage components, such as flash, SRAM, SDRAM, Rom, and cache used to improve system performance. Different chips use different storage control combinations. See the blog post "Brief Introduction of the chip memory and smart machine storage components of ARM architecture"
Peripherals: Clock, interrupt controller, DMA, input/output (such as keyboard and display), and camera.
Shows the composition of the master controller and peripheral hardware devices of an arm9-architecture chip:
(2) Software
The software on the chip mainly includes the Boot Code, operating system, applications, and firmware of the hardware.
Boot is a small program that runs before the operating system kernel runs after the device is powered on. Through this small program, we can initialize hardware devices and build a map of memory space to bring the system's hardware and software environment to a suitable state, in order to prepare the correct environment for the final call to the operating system kernel.
Operating System (OS) is a computer program that manages and controls computer hardware and software resources. Its five management functions are as follows:
(1) processor management, mainly including process control, synchronization, communication and scheduling.
(2) memory management, including memory allocation, protection, expansion, and address ing.
(3) device management, including device allocation and processing.
(4) file management, including file storage space management, directory management, file read/write and protection.
(5) Job Management, including task, interface management, human-computer interaction, voice control, and virtual reality.
The operating systems on the application processor include Android and iOS. Needless to say, the baseband processor runs an RTOS (for example, Nucleus PLUS) manage the communication between tasks and components on the entire baseband system.
An application is a program developed and running on the operating system to complete a specific task or task. On the application processor, combined with operating system APIs and database functions, users can develop various applications. On the baseband processor, there is generally only a small amount of necessary software support.
Hardware firmware simplifies the interaction between software and hardware, making hardware easier to manipulate.