Computer architecture encompasses all of the parts of a computer system that are necessary for it to function, including the operating system (OS), memory chips, logic circuits, storage devices, input and output devices, security components, buses, and networking components. It should be implemented in accordance with the security policy and the security model, both of which should be working together. The security policy is a statement that outlines how entities access each other, what operations different entities can carry out, what level of protection is required for a system or software product, and what action should be taken when these requirements are not met. A security model outlines the requirements necessary to properly support and implement a certain security policy. Basically the policy tells you what should be done and the model tells you how to do it. To understand the architecture and the associated security needed, we need to look at both what makes up the system, as well as the security measures that go along with it.
As stated, computer architecture has many facets. At the head of the physical structure is the CPU, or Central Processing Unit. It is the brain of the system and is made up of only a couple chips. The power comes from the 40 million plus transistors these chips hold. Within the CPU is the arithmetic logic unit (ALU), which performs the actual execution of the instructions. It is often referred to as the brain of the CPU. The registers are a part of the CPU and, as such, are able to return information from this type of memory much faster than RAM or ROM. There are several different types of registers. The general registers hold variables and temporary results and acts like the ALU’s scratch pad. The special registers hold information such as the program counter, stack pointer, and program status word (PSW). The control unit determines what application instructions get processed and in what priority and time slice. Time slice refers to the concept that actions aren’t really taking place at the same time. They happen sequentially, though very quickly, and as a result, the control unit must dictate which program gets which slice of time and when.
The next important part is software based and that is the Operating System. If the CPU is the head of the hardware, the OS is the head of the software. It handles a variety of things, such as process management. A process is a set of instructions that is currently running. The OS assigns resources to each process, such as a memory segment, CPU time, API’s, and anything else the program (process) might need. In the last 10 years, developers (and users) have been more focused on multi-x; the ability to perform multiple processes at any given time. The four major multiples are:
· Multiprogramming – more than 1 application can be loaded into memory at the same time
· Multitasking – more than 1 application can be loaded into memory and the CPU can deal with requests from both simultaneously
o Cooperative multitasking – requires processes to voluntarily release resources when they are done with them
o Preemptive multitasking – CPU controls who gets what resources and when through time sharing
· Multithreading – an application has the ability to run multiple threads simultaneously
· Multiprocessing – the computer has more than one CPU
The next important part of the architecture is the memory. The four main components of memory are RAM, ROM, cache, and register memory. Register memory, which we have already talked about, is the fasted and most expensive. It is closest to the CPU, so it can be accessed almost immediately. Cache memory is the next level of memory, and is also very expensive. Because of its cost, it is generally only used for important repeated functions. On top of this is the RAM, or random access memory. It is considered very volatile in that if the power is killed, all information not saved elsewhere will be lost. It is mainly used for read/write activities and can be broken down into two types; DRAM (dynamic) and SRAM (static). The difference is that SRAM has more transistors, and, as such, doesn’t need to be continuously refreshed to maintain a value of 1. The final and slowest layer of memory is read only memory (ROM). It is nonvolatile, meaning information saved to it must be rewritten to be lost, and has many different types. One interesting type of memory, which is relatively new, is flash memory. It acts as ROM, but can be edited in chunks and holds charges indefinitely. These previous pieces of the architecture make up the most important pieces of the system for our discussion. Other parts, such as buses and logic circuits are important, but not as pertinent to this security discussion.
No comments:
Post a Comment