Embedded Systems Flashcards
What is an embedded system?
A computer system with a dedicated function either within a larger mechanical/electrical system or by itself, often required to compute efficiently in real-time.
What is a Cyber-Physical System (CPS)?
A CPS is an integration of computation, typically an embedded system, with physical processes, wherein the computer system monitors and controls the physical components.
What is a Real-Time System (RTES)?
An RTES is a special class of embedded system, distinguished by its need to respond to external stimuli in a timely manner.
What are the three classifications of Real-Time Systems?
HARD, FIRM and SOFT, referring to the temporal strictness of computation respectively, from most strict to least strict.
For example, a HARD system cannot accept completion of an operation after its deadline, while SOFT is more lenient.
Is a vending machine an embedded system?
Yes, as it may use a microcontroller to handle purchases.
Is a disk drive an embedded system?
Yes - for example, a Seagate Barracuda uses two ARM processors for servo control and data flow respectively, acting as one whole embedded system.
Is a personal computer an embedded system?
No, as personal computers are modular and general-purpose. Embedded systems are typically built for one or few purposes.
Is a smartphone an embedded system?
Smartphones are typically considered a hybrid of general purpose and embedded systems, as while they do react to external stimuli, they are multi-functional and modular, like a personal computer.
What are three of the challenges may we run into when designing embedded systems?
Hardware capabilities, deadlines and power consumption. All must be kept at the absolute minimum to avoid overspending, power imbalance or overheating.
What is an Intellectual Property (IP) (in relation to embedded computing)?
An IP is a pre-designed hardware module that are either soft or hard cores. An IP may also have pre-designed software, such as drivers and OS.
What is an example of an Intellectual Property?
One example is Apple’s iPhone logic board, consisting of their own M2 processors and custom development board, alongside the proprietary iOS operating system.
What is platform-based design?
Platform-based design is a design philosophy that focuses on the reuse of Intellectual Properties to quickly produce hardware.
What is edge computing?
Edge computing is the allocation of data processing to smaller ‘edge’ servers in order to take load off of the central server and to reduce the amount of throughput and latency.
What is cloud computing?
Cloud is a deployment of compute/storage resources at one of several distributed global locations, providing many pre-packaged services for IoT operations. It is huge and highly scalable.
What is one downside to cloud computing?
Cloud data centers may be hundreds of miles from where the data is collected, meaning we could face many issues such as latency, throughput and packet loss.
What is fog computing?
Fog computing is a deployment of compute/storage resources close to the data source, but not directly at the source. We typically do this using a series of fog node deployments within the environment.
What is edge computing?
Edge computing is a deployment of compute/storage resources at the edge of the local network, as close to the data source as possible. Results are usually sent to another data center for human review.
What are two sectors that can benefit from Edge/Fog/Cloud computing?
Consumer services, where response times must be fast, and third-party/operator services, where data needs to be pre-processed in near real-time for analysis.
What is task offloading?
Task offloading is the offloading of computational tasks to an external, resource-rich platform like Edge or Cloud.
What is service migration?
Service migration is a method of computationally finding the best possible way to migrate services between edge servers, considering user needs and task size to improve quality of service.
What benefits come from offloading tasks?
Offloading even a small number of tasks can accelerate resource-intensive applications, alongside a reduction in bandwidth consumption and an improvement in energy efficiency of the client device.
What is edge caching?
Edge caching is a content delivery approach that aims to reduce latency and pressure by caching data that is popular in a certain area, allowing users to receive that data much faster on retrieval.
What difficulties may we face when trying to edge cache?
Mobile users may be travelling, and therefore may go in and out of the range of certain edge servers, on top of content popularities being volatile and hard to determine.