Menu
Is free
check in
the main  /  BY / The main hardware software used. What is hardware acceleration, why and how to disable it in Windows

The main hardware software used. What is hardware acceleration, why and how to disable it in Windows

Software and hardware protection is used to protect software from unauthorized (unauthorized) access and illegal use. The protective mechanism programmatically polls a special device used as a key, and works only in its presence. Thus, the mechanism of software and hardware protection contains two components:

1) hardware device (hardware);

2) software module ( software).

Therefore, usually talk about Systems software and hardware protection.

Obviously, the cost of such a mechanism exceeds the cost of software protection, and the cost of the hardware, as a rule, exceeds the cost of the program part. For this reason, software and hardware protection is considered to be the privilege of corporate customers, since it is often unacceptable for an individual user from an economic point of view.

We draw attention to the fact that essentially software and hardware protection is not the protection of programs from illegal distribution and use. The customer will not be paid for expensive equipment only for the sake of compliance with the copyright of the developer. But if the software product is equipped with a module designed to protect against unauthorized access to data and information The user, then the customer is usually ready to pay for equipment that increases the reliability of such protection.

The system of protection against unauthorized access to data is implemented in such a way that it carves checking the legality of the user when working with software and thereby indirectly impedes the illegal use of the program.

In addition, modern hardware devices (keys), in addition to the information about the rightful user, may also contain information about the software product. And software and hardware protection systems, in addition to user authentication, can authenticate the application.

Therefore, software and hardware protection systems from unauthorized access can serve at the same time to protect copyright programs of program developers.

Software and hardware protection systems are widely used in practice and many users are recognized as a reliable means.

User identification can be based

· on knowledge of some secret information (password, code);

· on possession of some special subject or device (magnetic card, electronic key);

· on biometric characteristics (fingerprints, retina, spectral composition of voice, etc.).

Systems based on knowledge of some secret information

This kind of systems include primarily the password protection mechanisms that have already been discussed above. In addition, we note that systems based on possession of some special subject or device (magnetic card, electronic key), as a rule, also suggest knowledge of some secret information.

Systems based on ownership of some special subject or device

Traditionally, as such devices were used magnetic cards. The protection system has been supplied with a personal information reader (unique user code) recorded on a magnetic card. Note that in terms of protection against unauthorized access, such systems have a small degree of reliability, since the magnetic card can be easily forged (for example, copied on special equipment).

The unique user code is stored and on the so-calledProximity.-Cartprovided with a radio transmitter. Special reader constantly emits electromagnetic energy. If the card hit in the electromagnetic field, the card sends the reader to its code, which then the system compares with the standard.

The highest distribution was the protection systems using smart maps (SmartCard - Intelligent card). The smart card memory also stores reference information for user authentication, but unlike the traditional magnetic card, the smart card contains a microprocessor that allows some of the conversion of a unique user code or some other actions.

Many specialists of protection technology based on the use of smart cards are progressive, therefore pay great attention to their development.

In parallel with the development of smart-to-technology, reinforced pace develops today technologies based on the use electronic keys. Such technologies are the most interesting in terms of protecting the rights of software developers, therefore we consider it in more detail.

Biometric Systems Systems

Systems use unique individual features of the structure of the human body to identify the personality. The system includes special reading devices that generate reference user identifiers, as well as devices or software that analyzes the submerged sample and comparing it with the stored benchmark.

Currently, a variety of devices have been developed to identify the identity based on biometric characteristics. Consider some examples.

Reading devices fingerprints Identify the identity in the form and number of parts - points of the beginning and end of the lines on the finger.

Scanners retina eye Scan the retinal samples of the user's eye, focusing on unique blood vessels. With the help of infrared radiation with the brightness of the New Year's Christmas tree light bulb, data is taken on 300 points in the field of the retina, and the collected information is transformed into a number (the cost of such a protection system varies within 6,000 dollars).

Devices voice verification Build a mathematical model of the vocal range of the speaker and use it to compare with a sample of voice (the price of such a device varies from 1,000 to $ 1.500). The developers of such systems pay attention to solving the problem of deception of such systems with tape recorders.

Reading devices Hand geometry Use light to build a three-dimensional image of a person's hand, checking such characteristics as the length and width of the fingers and the thickness of the hand (the price of such a device is about 3.500 dollars).

It is obvious that biometric systems are difficult to implement, require storage of volume databases, reliable technologies for recognition of images and expensive reading equipment. Therefore, such protection systems are used from unauthorized access mainly in institutions requiring special control over access to secret information.

User authentication is usually implemented by one of two schemes: simplePIN. -Autentification or protectedPIN. - authentication. Both schemes are based on the authentication of the user by comparingPIN. -code of the user (PIN - Personal Identification Number , Personal identification number) with a benchmark.

With simple PIN.-AutentificationPIN. -code is simply sent to the key (smart card); The key (smart card) compares it with a benchmark, which is stored in its (its) memory, and decides on further work.

Process protected PIN.-Autentification implemented according to the following scheme:

· the protected application sends a request to the key (smart card) onPIN. -Autentification;

· the key (smart card) returns a random 64-bit number;

· the application adds this number in module 2 withPIN. -code, which introduced the owner of the key (smart card), encrypts itDES. -Algorithm on the special key of authentication and sends the result of the key (smart card);

· the key (smart card) provides inverse transformations and compares the result with what is stored in its (its) memory.

In the case of a coincidence, it is believed that the authentication was successful and the user (application) can continue to work.

Electronic key is some physical device. The electronic key can be performed either based on a specialized chip or on chips with non-volatile electrically reprogrammed memory, or on the basis of microprocessors.

For a long time, such devices were connected to a connector of a parallel (printer) port of the computer, which due to the inconvenience restrained the wide introduction of electronic keys. Later there are technologies that allow connecting electronic keys and through serial ports.

The latest standards and technologies (in particular, the technology of connecting devices based onUSB - Shines - Universal Serial Bus ) Allow additional ports in convenient and easily accessible places of the computer and thereby contribute to the widespread use of hardware protection devices.

In mind electronic key Unique information is stored. The program part of the protection system determines the presence of an electronic key when you start the program and checks the correctness of the information contained in the key.

Electronic key memory other than unique user information (registration number, password,PIN. -code), may contain other parameters. Protection developers to counter illegal dissemination and software use include software information about software, for example,

n. serial number of the program;

n version number;

n. release date (sale), etc.

If you have the possibility of working in demo mode (or in blocking mode, some functions), the electronic key is complemented by information on the number of application launches, limit time (dates) of work. Note that at the same time the electronic key can also serve to protect the conditionally free software.

The wonderful property of modern electronic keys is the ability to remotely reprogram the key memory. The remote reprogramming technologies of the key memory are used by developers, firstly, to counteract the illegal use of programs, and secondly, to improve the consumer properties of the software.

Today, developers efforts, in addition to improving the quality of the basic functions of the software and increase the reliability of protection, are aimed at improving the consumer properties of the product: ease of installation and configuration, ease of administration, application flexibility, etc. Remote reprogramming of the key memory allows the developer with the maximum degree of convenience for the end user to accompany the software. For example, along with the new product version, the user receives a special module that modifies the version number field in the electronic key memory. The protection module always compares the version of the program version with the corresponding field. Such a mechanism prevents the illegal use of the program: the intruder will not be able to use the illegally received copy new version Product without reprogramming the electronic key memory.

It is convenient for the user and translation of the software from the work in the demonstration mode to the full functioning mode. After payment, the user also receives a special module that modifies the electronic key memory field responsible for such a translation. At the same time, the user is freed from the need to reinstall and / or reconfigure the application.

Some developers offer the use of electronic key memory and to manage access rights. Depending on the unique information about the user and special fields in the key memory, the user is available for certain functions of the program. Reprogramming the key memory allows you to open / close access to some features.

Electronic keys also provide licensing in networks.

License - These are specified when buying software Product Rights to use the program.

Network software developers seek to receive income from each copy of the program installed on the workstation local network. In this case, problems arise. Since software users on a local network, paying the cost of one copy, strive not to pay for the use of the program at additional workstations. In addition, users have the ability to install a licensed copy on the server and use it from any workstation. In these cases, developers receive inadequate profits from the implementation of the software product.

Traditionally, this problem is solved with the help of special programs - license administrators (licence Manager. ). We emphasize that when using such programs, control over the legal use of the software product is assigned to network administrators and is often not protected from deception. Therefore for guaranteed solution Problems of protection of copyrights of network software developers are needed to control the legal use of the product itself.

For this, you can in the memory of the electronic key in separate, protected fields, store the license meter, as well as the maximum number of users of the licensed application. It is obvious that the system using such an electronic key allows you to monitor and limit the number of stations operating (simultaneously) with a protected program.

The priority cause that restraining the use of software and hardware protection is the high cost of additional hardware devices. Usually it is expensive reading devices, so-called readers (reader. ). Therefore, success in the software and hardware protection system is provided to those producers whose electronic keys are more comfortable and cheap.

In January 1999, the Israeli companyAladdin Knowledge Systems. Technology was patentedetoken USB. (For a new generation of computers with peripheral busUSB ) based on a conceptually new electronic keyetoken. . Electronic keyetoken. Designed for secure password storage, encryption keys, as well as to protect software and data from unauthorized use. Deviceetoken USB. represents a miniature key chain (size - 52x 16 X. 8 mm, weight 5 g) with non-volatile (up to 8 kb) memory allowing to overwrite (at least 100 thousand times). Keyetoken. It is a compromise between the traditional electronic key and a smart card. To gain access to a secure object, the user is enough to insert the keyetoken in USB -Port and dial your personal code on the keyboard.

Electronic keyetoken. Based on the built-in hardware user authentication system. For user authentication used protectedPIN. - authentication.

Developer Protection provides a developer kit -Developer 's Kit . The developer includes software that allows you to organize various protection mechanisms.

The first method of hacking is to delete (modifying) from the protected application in whole or in part of codes associated with the protection mechanism. For example, sometimes it is sufficient to remove the electronic key polling command and / or the comparison command with the reference. Obviously, most of the methods of hacking software discussed above can be used to break the software and hardware protection software.

Emulation of electronic key - This is a hacking method by emulating with software or hardware of the electronic key.

Emulator - A program that performs the functions usually implemented by some external device.

The emulator program is implemented in such a way that it returns to the protected application "Right" answers to all appeals to the electronic key. The result is an electronic key implemented only at the program level.

To counteract emulation via the entry point, it is recommended to control the integrity of the corresponding fragment of the program and / or encrypt it. Specialists are recommended along with explicit appeals to the key to implement and hidden calls.

To counteract emulation using the key drivers, the specialists also recommend controlling the integrity of the driver, for example, using an electronic digital signature.

Note that the implementation of an electronic key emulator is quite complex, therefore only highly qualified specialists are available.

An interesting solution to the emulation of the electronic key and protecting programs from hacking offers an asset company. Software and hardware protection complexGuardant Stealth. Uses hardware data transformation algorithms, seriously complicating the development of the key emulator. Electronic keysGuardant Stealth. Contain microcontrollers (transparent to the user), producing calculations according to one of several original high-complex algorithms (the key may contain up to 18 such algorithms). The microcontroller returns the input information converted to the protected application using a hardware algorithm.

___________________________________________________________

More details

1. Electronic keysGuardant Aptus - InternetRest (www. Novex. RU)

2. Hardware electronic key algorithms are an asset software and hardware protection system. Electronic keysGuardant Stealth. Internet resource (www.novex.ru)

3. Licensing systemNethasp. - S. Gruzdev "Licensing Software in Networks"InternetRest (www. Aladdin. RU)

  • 6. Life cycle of information. Information sphere. Negative consequences of introducing information technology
  • 6.1. Life cycle of information. Information sphere
  • 6.2. Negative consequences of introducing information technology
  • General conclusions
  • Lecture 2 Classification of Information Technologies
  • 1. Types of information technology
  • 1.3. Information technology information and data processing technology
  • 1.4. Technological data control operations
  • 1.6. Information search technology
  • 1.7. Technological data transmission operations
  • 2. Selection of information technology implementation options
  • General conclusions
  • Lecture 3 Use of information technologies in various subject areas. Electronic documents, books and libraries. Electronic office
  • 1. Types of information technologies used in various subject areas
  • 1.1. Information technology management
  • 1.2. Information Technology Support Technologies
  • 1.3. Object-oriented information technology
  • 1.4. Information Technology Expert Systems
  • 1.5. Telecommunication technologies
  • 1.6. Hypertext information technology
  • 1.7. Information Technology Distance Learning
  • 1.8. Multimedia information technology
  • 2. Implementation of information technologies in various subject areas
  • 3. Electronic documents, books and libraries. Electronic office
  • 3.1. Electronic documents
  • 3.2. E-books
  • 3.3. Electronic libraries
  • 3.4. Electronic office
  • General conclusions
  • Lecture 4 models of transmission processes, processing, accumulation of data in information systems. System approach to solving functional tasks. Lifecycle of information products and services
  • 1. Information model and modeling information processes
  • 2. System approach to solving functional tasks
  • 3. Lifecycle of information products and services
  • 4. Lifecycle Information Technology
  • General conclusions
  • Lecture 5 Information Technologies and Protection
  • 1. General information protection provisions
  • 2. Unauthorized actions and methods of influence on information, buildings, premises and people
  • 2.1. The main types and reasons for unauthorized impacts on information, buildings, premises and people
  • 2.2. Viruses
  • 2.3. Impact on information, buildings, premises, personal security of the user and service personnel
  • 3. Means and methods for the protection of information, buildings, premises and people in them
  • 3.1. Fixed assets and methods of information protection
  • 3.2. Software and technical means of protection
  • 3.2.2. Technical means of protection
  • 3.2.3. Software and technical and physical protection against unauthorized impacts
  • 4. Conservation and Protection Events
  • General conclusions
  • Lecture 6 Classification of information technologies on the fields of application. Processing textual and numeric information. Features of economic and statistical information
  • 1. Classification of information technology
  • 2. Application of information technology
  • 3. Information processing methods
  • 3.1. Text information processing
  • 3.2. Treatment of tabular data
  • 3.3. Processing of economic and statistical information
  • General conclusions
  • Lecture 7 Information technology copying and replication of information. Office equipment and printing equipment
  • 1. Office equipment and printing facilities for copying and replicating information
  • 2. Methods of copying and replication of information
  • 3. Copying Machinery
  • 4. Office
  • General conclusions
  • Lecture 8 software and technical means Information technology
  • Components of software and hardware computer
  • 2. Information Technology Software
  • 3. Technical means of information technology
  • Main conclusions
  • Lecture 9 of open systems technology. Object-oriented information technology. Distributed data processing systems. Functional distributed information technology
  • 1. Open systems
  • 2. Object-oriented information technology
  • 3. Distributed data processing systems
  • 3.1. Distributed databases
  • 3.2. Distributed Database Management System
  • Main conclusions
  • Lecture 10 End User Information Technologies. User Interface Standards. Information Technology Evaluation Criteria
  • 1. End User Information Technologies
  • 2. User interface
  • 3. User Interface Standards
  • 4. Evaluation of information technology
  • Main conclusions
  • Lecture 11 Graphic image of the technological process. Processing graphic information. Application of information technologies at the workplace of the user
  • 1. Graphic image of the technological process
  • 2. Handling graphic information
  • 3. Application of information technologies at the workplace of the user
  • Main conclusions
  • Lecture 12 Hypertext methods for storing and presenting information. Information resources Internet
  • 1. Hypertext information technology
  • 2. Languages \u200b\u200bhypertext marking documents
  • 3. Internet Information Resources
  • Main conclusions
  • Lecture 13 multimedia technology processing and reporting
  • 1. Multimedia technologies
  • 1.1. AudioviovideoEchnical means
  • 2. Projection equipment. MultimediaProjectors
  • 3. Means of inform
  • Main conclusions
  • Lecture 14 Automated information systems. Expert systems
  • 1. Automated systems
  • 2. Automated information systems
  • 3. Automation of information processes
  • 4. Expert systems
  • Main conclusions
  • Lecture 15 Network Information Technologies. Group work technologies: bulletin board, forum, email, television and video conferencing
  • 1. Network information technology
  • 2. User Group Work Technologies
  • 3. Internet services
  • Main conclusions
  • Lecture 16 Integration of information technology. Corporate information systems. Technologies "Client-server". Information storages. Electronic document management systems
  • 1. Integration of information technology
  • 2. Corporate Information Systems
  • 3. Technologies "Client-Server"
  • 4. Information storages
  • 5. Electronic document management systems
  • 6. Distance learning technologies
  • Main conclusions
  • Lecture 17 geographic information and global systems. Information technology dissemination information. Author information technology
  • 1. Geoinformation and global systems
  • 2. Information Dissemination Information Technologies
  • 3. Information technology transfer technologies. Communication
  • 4. Copyright information technology
  • Main conclusions
  • Lecture 8 software and technical means Information technology

    Basic concepts:

      Hardware, Software and Brainware;

      Program and system software;

      Operating system, utilities and drivers;

      Instrumental and applied software;

      Integrated packages or application packages;

      Computer classification technical means information technologies;

      Computer architecture;

      SOHO and SMB systems.

    Components of software and hardware computer

    Usually, the following terms are used to designate the main components of software and hardware tools:

    Software. - A combination of programs used in a computer or software that represent predetermined, clearly defined sequences of arithmetic, logical and other operations.

    Hardware.technical devices Computer ("Iron" or hardware created, mainly using electronic and electromechanical elements and devices.

    Brainware. - Knowledge and skills necessary to users for competent work on the computer (computer culture and literacy).

    The operation of computers, any computing devices run various kinds of programs. Without programs, any computer is no more than a chest of iron. Computer program (eng. "Program") is usually a sequence of operations performed by the computing machine to implement any task. For example, it may be a text editing program or drawing.

    2. Information Technology Software

    Software (software)- this is software information technologies. They imply the creation, use of computer programs for various purposes and allow technical means to perform operations with computer-readable information.

    Computer programs, as well as any other computer readable information, are stored in files. They are written (compiled, created) programmers programmers on special high-level machine algorithmic languages \u200b\u200b(Beysik, Fortran, Pascal, Si et al.). Good program Contains: clearly defined and debugged functions, convenient means of interaction with the user (interface), instruction manual, license and warranty, packaging. Programs for users can be paid, conventional, free, free, etc.

    There are software classifications for intended, functions, solved tasks and other parameters.

    By destination and Performed features Three main types of software used in information technologies can be distinguished:

    Fig. 8.1. The structure of the prescription and functional feature.

    System-wide by - This is a set of overall programs that serve to manage computer resources (by a central processor, memory, input-output) that provide computer and computer networks. It is intended to manage computers, perform individual service functions and programming. System-wide software includes: basic, programming languages \u200b\u200band service.

    Basic PO Includes: operating systems, operating shells and network operating systems.

    Operating system (OS) is a complex of interconnected programs designed to automate the planning and organizing process processing programs, I / O and data management, distribution of resources, preparation and debugging programs, other auxiliary.

    The OS launches the computer, tracks the operation of local and network computers, plans a solution with their help, monitors their execution, manages the input-output of data, etc.

    The main reason for the need for OS is that elementary operations for working with computer devices and management of its resources are a very low level operation. The actions that are needed by the user and application programs consist of several hundred or thousands of such elementary operations. For example, to perform a file copying procedure, you must perform thousands of operations on the launch of commands of drives, checking their execution, search and process information in the tables of placement of files on disks, etc. The operating system hides these details from the user and performs these procedures.

    Allocate single-strware, multi-program (multitasking), one and multiplayer, network and incubation OS.

    Network Os. - this is a range of programs that provide processing, transmission, data storage on the network; Access to all its resources distributing and redistributing various network resources.

    Operating shell - this is a software superstructure to the OS; Special program designed to facilitate the work and communication of users from OS (Norton Commander, Far, Windows Commander, Explorer, etc.). They convert an uncomfortable command user interface into a friendly graphical interface or menu interface. The shells provide the user with convenient access to files and extensive service services.

    Programming languages - These are special commands, operators and other means used to compile and debug programs. These include languages \u200b\u200band programming rules, translators, compilers, link editors, debuggers, etc.

    Debugging programs (eng. " dEBUGGING.") Is the process of detecting and eliminating errors in the computer program; The stage of the computer solution of the problem, which takes place explicit errors in the program. It is carried out according to the results obtained in the process of testing a computer program, and is made using special software products - debuggers.

    Debugger(eng. " debugger.") This is a program that allows you to explore the internal behavior of the program being developed. Provides step-by-step execution of the program with a stop after each operator, view the current value of the variable, finding the value of any expression, etc.

    Translator - These are programs providing translation from programming language to machine language of computers.

    Service system system BY for OS, includes drivers and utility programs. Drivers - These are special OS files that expand its capabilities and included in its composition to organize the OS setup to use various I / O devices, setting regional parameters (languages, time formats, dates and numbers), etc. Using drivers, you can connect new external devices to the computer or unandardly use the available devices.

    Utility programs- These are useful programs that complement and expand OS capabilities. Some of them can exist separately from the OS. This class of programs include archivers, backup programs, etc.

    In addition, the service system-wide software includes test and diagnostic programs, programs anti-virus protection and network service.

    Test and diagnostic programs Designed to verify the performance of individual nodes of computers, the operation of programs and eliminate the troubleshooting detected during testing.

    Antivirus programs Use to diagnose, identify and eliminate viral programs that violate the normal operation of the computing system.

    Tool software or Tool software(IPO) is semi-finished programs or designers used during the development, adjustment or development of other programs. They allow you to create various application user programs. IPO includes: DBMS, editors, debuggers, auxiliary system programs, graphic packages, Designers of training, gaming, testing and other programs. By destination, they are close to programming systems.

    Application software (PPO) or application software Used when solving specific tasks. These programs help users fulfill the work they need on computers. Sometimes such programs are called applications.

    PPO is problem-oriented. It usually distinguishes two components: user and problematic application software.

    TO user PPO Refine: Text, tabular and graphic editors and other similar programs, such as training and leisure.

    A set of multiple user programs that functionally complement each other and supporting unified information technology are called application package, integrated software packageor integrated software. Program packages perform functions for which specialized programs were previously created. As an example, we give the PPP Microsoft Office.which includes: text and tabular processor, DBMS ACCESS, POWER POINT and other programs.

    Problem in - This is a specialized PPO, for example, accounting programs, insurance programs, etc.

    In addition to those listed, we note the following application programs: educational, training and simulators, multimedia, entertainment, incl. computer games, reference (encyclopedias, dictionaries and reference books), etc.

    Any computer programs work on any technical means of information technology.

    With the definition of the concept of "hardware acceleration", it is possible to familiarize yourself, for example, in the given article we will try to answer this question as shorter as possible, and clearer, simple user PC, and besides, consider how to disable it, and in what cases it may be necessary.

    Hardware acceleration is a way to improve the speed of a computer program and operating system (OS) as a whole, based on the redistribution of the load between the processor (CPU) and the video card. Those. Tasks for video processing and graphics are shifted with CPU on a video card, which ultimately allows not only to slightly reduce the load on the processor, but also to achieve productivity growth, both separately taken applications and the entire system, due to the video card resources.

    So it happens that as a result of various errors in computer programs, drivers for the video card, etc., the presence of acceleration may adversely affect the work of the PC, making the system of unstable, leading to hangs, departures, artifacts and other problems when working at the computer. In these cases, to eliminate errors, and ensure stability, the hardware acceleration is better disabled.

    Consider a way to disconnect the hardware acceleration using the Flash Player Example.

    Open in your browser any web page with flash animation or video using flash technology, click on the flash object with the right mouse button (PKM), and select context menu Parameters (as in the screenshot).

    That's all, so we turn off the acceleration for applications.

    Disabling hardware acceleration at the operating system level is not always possible (optionally depends on the video card driver), and rarely when its presence is caused by errors or failures in Windows, for example, in Windows 7.

    To turn off the hardware acceleration in Windows, click the PCM on the desktop, and select "Screen Resolution".

    To provide maximum performance And the work is used correctly, hardware and software that are very related to each other and clearly interact in different directions. Now let's touch the consideration of hardware, since initially they are the main position in ensuring the performance of any computer or even a mobile system.

    System hardware: general classification

    So what are we dealing with? In fact, a complex of hardware is familiar to everyone and everyone. In essence, many users call it a computer "hardware". Indeed, hardware is the "iron", and not the program components of any computer system. In the simplest variant of the classification, they are divided into internal and external.

    In addition, in such a division, three basic and most informative class of devices can be distinguished:

    • input Devices;
    • output devices;
    • information storage devices.

    Naturally, it is worth noting the main elements of computer systems such as motherboard, processor, etc., which are not included in any of the above classes and being basic elements, without which no computer will simply work.

    Basic elements of a computer

    Describing hardware tools of any computer, it is worth it from the most important element - the motherboard, on which all internal elements are located. And on the use of various kinds of connectors and slots, external devices are connected to the slots.

    Today there are quite a lot of varieties of "motherboards" and their manufacturers. True, such fees for stationary computers and laptops and in form, and by location individual elements may differ. Nevertheless, the essence of their use in computer systems does not change.

    The second most important element - cPUwhich is responsible for speed. One of the main characteristics is the clock frequency expressed in mega-or gigarets, and in more simply, the value defining how many elementary operations can produce a processor in one second. It is easy to guess that the speed is nothing but the ratio of the number of operations to the number of clocks, which is necessary to perform (calculate) one elementary operation.

    Computer hardware can not be imagined without slats random access memory and hard drives that relate to storage devices. They will be said somewhat later.

    Software and hardware

    In modern computers, hybrid-type devices are also used, such as the ROM or constant non-volatile CMOS memory, which is the basis of the basic I / O system called BIOS.

    This is not only a "iron" chip, placed on motherboard. It has its own firmware that allows not only to store unchanged data, but also test the internal components and at the time of the computer is turned on. Probably, many owners of stationary PCs noticed that the system speaker signal is heard at the time of turning on. This is just indicating that the verification of devices was successful.

    Information entry tools

    Now let's stop on input devices. On the this moment Their varieties can be accurate enough, and judging by the development of IT technologies, they will soon become even more. Nevertheless, the basic ones are taken as the following:

    • keyboard;
    • mouse (Trekpad for laptops);
    • joystick;
    • digital camera;
    • microphone;
    • external scanner.

    Each of these devices allows you to enter a different type of information. For example, the graphics are introduced using the scanner, using the camera - video image, on the keyboard - text, etc. However, the mouse, and the trackpad in addition to all are also controllers (manipulators).

    As for the keyboard, controlling functions in it are used through the buttons or their combinations. In this case, you can get access to certain functions, parameters and commands of operating systems or other software.

    Information output tools

    Hardware cannot be imagined and without output devices. The following list contains the following:

    • monitor;
    • printer;
    • plotter;
    • sound and video system;
    • multimedia projector.

    Here the main computer monitor or the laptop screen is. It is clear because with modern methods of object-oriented programming, the user interaction is carried out through graphic interfaceAlthough equally such a situation is applicable to systems in which commands are assumed. In any case, the user must see what is displayed on the screen.

    As for the rest of the elements, they are desirable, although not necessarily (well, except graphic adapterwithout which modern systems may not work).

    Information storage facilities

    Finally, one and most important classes - information storage devices. Their presence, whether internal components or external media, simply be sure. This class includes the following varieties:

    • hard disk (Winchester);
    • rAM;
    • cache memory;
    • external drives (diskettes, USB devices).

    Sometimes here also include bIOS system with CMOS memory, however, as already mentioned above, it is rather hybrid deviceswhich can be attributed equally to different categories.

    Of course, the main place here occupy hard drives and "RAM". HDD - this is hardware information (or rather, its storage tool), because it is constantly stored on it, and in RAM - temporarily (when you start or functioning programs, copying content in etc.).

    When the computer is turned off, the RAM is automatically cleaned, but the information from the Winchester does not go anywhere. In principle, now with the hard drive compete and removable carriers like USB devices of large capacity, but diskettes and optical disks They go into oblivion at least because of their low capacity and the possibility of physical damage.

    Communication devices

    An optional class, although in the modern world and very popular, you can also name the devices responsible for providing communication both between individual computer terminals associated directly and in networks (or even at the Internet access level). Here, those of the main devices can be distinguished:

    • network adapters;
    • routers (modems, routers, etc.).

    As already understandable, without them can not do when organizing networks (stationary or virtual), while ensuring access to World Wide Web. But few people today know that two computers, for example, can be connected directly by cable, as it was done twenty years ago. Of course, it looks somewhat impractical, however, you should not forget about such a possibility, especially when you need to copy large amounts of information, but there is no suitable media at hand.

    Data security and data protection devices

    Now another type of devices. These are hardware protection tools that can be attributed, for example, "iron" network screens, called still firewalls (Firewall from English - "Fire Wall").

    For some reason, today most users got used to the firewall (he also a Brandmauer) is exclusively it is not. When organizing networks with an increased level of safety, the use of such components is not that desirable, and sometimes even needed. Agree, because the software part does not always cope with their functions and can not respond to the intervention in the outside of the network from the outside, not to mention access to stored on hard disks Computers or servers.

    Interaction of software and hardware

    So, the hardware we briefly considered. Now a few words about how they interact with software products.

    Agree, operating systems, which provide the user's access to the computational capabilities of the PC, have their own requirements. Modern "Operations" devour so many resources that with outdated processors, in which there are not enough computing power, or in the absence of the necessary amount of RAM, they simply will not work. This, by the way, applies equally to modern application programs. And, of course, this is not the only example of such interaction.

    Conclusion

    Finally, it is worth saying that the hardware modern computer It was considered sufficiently briefly, but it is possible to draw conclusions about the classification of the main elements of the system. In addition, it is worth noting that computer technology develops, and this leads to the fact that external and internal devices of different types It appears more and more (take at least virtual helmets). But as for the basic configuration, in this case the most important components are given, without which there is no computer system to exist today. However, here for obvious reasons were not considered mobile devicesbecause they have a device somewhat different from computer TerminalsAlthough there is quite a lot in common.

    Intel processor architecture is becoming increasingly oriented on GP, \u200b\u200bwhich opens amazing opportunities for a sharp increase in productivity simply by unloading multimedia processing with CPU on GP. There are many tools available to developers to improve the performance of multimedia applications. These tools include free and easy to use.
    In this publication you will find:

    • Overview of computing architectures and current capabilities of GP Intel
    • Implementation of hardware acceleration with FFMPEG
    • Implementing hardware acceleration using Intel Media SDK or similar component Intel Media Server Studio (depending on the target platform)
    If you need a need to increase the multimedia processing performance, but do not know where to start, start with FFMPEG. Measure the performance during software processing, then simply turn on the hardware acceleration and check how much performance has changed. Then add the use of Intel Media SDK and compare again when using different codecs and in different configurations.

    Computational architecture: from supercore to heterogeneous

    To assess the importance of the development of GP, let's start with the history of improving the CPU architecture.
    Let's go back in the nineties. The first serious stage in development is the emergence of a supercalar architecture, which has been achieved high bandwidth Due to parallel processing at the level of instructions within one processor.


    Figure 1. Supercalar architecture

    Then, at the beginning of zero, a multi-core architecture appeared (when the composition of one processor can be more than one computing kernel). Uniform kernels (all completely identical) allowed several streams simultaneously (parallel treatment at the flow level).
    In this case, the productivity of the multi-core architecture was limited due to a number of obstacles.

    • Memory: increased the gap between the processor speed and the speed speed.
    • Parallel processing at the instruction level (ILP): It was becoming increasingly difficult to detect instructions available for parallel processing within a single stream to completely occupy the resources of one high-performance kernel.
    • Power consumption: with a gradual increase in the processor processors, electricity consumption grew in geometric progression.


    Figure 2. Multi-core architecture

    Modern heterogeneous architecture

    In a heterogeneous architecture, there may be several processors using a common data conveyor that can be optimized for individual encoding functions, decoding, conversion, scaling, applying interlaced scan, etc.

    In other words, thanks to this architecture, we have received tangible advantages both in the field of productivity and in the field of electricity consumption, inaccessible earlier. In fig. 3 shows the development of GP for the five recent generations: graphic processors are becoming increasingly important. And when using H.264, and when switching to the most modern codecs H.265, graphic processors provide significant computing power due to which video processing with a resolution of 4K and even with more high resolution Not only becomes possible, but also performed quite quickly.


    Figure 3. Development of heterogeneous architecture

    Generation of productivity GP

    In fig. 4 shows a sharp increase in computing power in just a few generations, in which the graphics processors are structurally placed on one crystal with CPU. If your application uses multimedia processing, you need to use unloading on the GP to achieve acceleration 5 times or more (depending on the age and configuration of the system).


    Figure 4. Improving graphics processing in each generation of Intel processors

    Getting Started Programming GP

    In step 1, the performance of H.264 is usually measured so that it can be possible to estimate the change in performance as the code is improved. FFMPEG is often used to measure performance and to compare speed when using hardware acceleration. FFMPEG is very powerful, but the tool is quite easy to use.

    In step 2, testing with different codecs and in different configurations is carried out. You can turn on the hardware acceleration, simply replacing the codec (replace LIBX264 on H264_QSV) to using Intel Quick Sync Video.

    In step 3 Added to use Intel Media SDK.

    Note. This publication considers the use of these tools in operating system Windows *. If you are interested in implementation for Linux *, see Access Intel Media Server Studio for Linux codecs using FFMPEG.

    FFMPEG ▍Coditing and decoding

    Start with H.264 (AVC) because H264: LIBX264 is a default software implementation in FFMPEG and issues high quality exclusively software. Create your own test, then measure the performance again by changing the codec from LIBX264 on H264_QSV. Later we will talk about H.265 codecs.

    It should be noted that when working with video streams, you have to choose between quality and speed. With faster processing, the quality is almost always reduced and the size of the files is increasing. You will have to find your own acceptable level of quality based on the number of time required for coding. There are 11 presets to select a certain combination of quality and speed - from the "best" to the "slower". There are several data speed control algorithms:

    • coding for 1 passage with a constant data rate (SET -B: V);
    • encoding for 2 passage with a constant data rate;
    • permanent speed coefficient (CRF).
    Intel Quick Sync Video supports decoding and encoding using Intel CP and integrated GP1. note that intel processor Must be compatible with Quick Sync Video and with OpenCL *. For more information, see the Intel SDK release notes for OpenCL * applications. Decoding and encoding support is built into FFMPEG using soffix codecs _qsv. Currently, Quick Sync Video is supported by the following codecs: MPEG2, VC1 video (decoding only), H.264 and H.265.

    If you want to experiment with Quick Sync Video in FFMPEG, you need to add LIBMFX. The easiest way to install this library is to use the LIBMFX version packed by the Lu_Zero developer.
    Sample coding with hardware acceleration Quick Sync Video:

    FFMPEG -I INPUT -C: V H264_QSV -Preset: V Faster Out.qsv.mp4

    FFMPEG can also use hardware acceleration when decoding using a parameter -Hwaccel.

    The H264_QSV codec works very quickly, but it can be seen that even the slowest hardware acceleration mode is much faster than only software coding at the lowest quality and highest speed.
    When testing with H.265 codecs, you will need to either gain access to the LIBX265 support, or collect your own version according to the instructions in the encoding manual for FFMPEG and H.265 or in the X265 documentation.
    Example H.265:

    FFMPEG -I INPUT -C: V LIBX265 - PRESET MEDIUM -X265-PARAMS CRF \u003d 28 -C: A AAC -Strict Experimental -B: A 128K Output.mp4

    For more information about using FFMPEG and Quick Sync Video, see Cloud Computing Intel Quicksync Video and FFMPEG.

    Using Intel Media SDK (sample_multi_transcode)

    To further improve performance when using FFMPEG, you must optimize the application using Intel Media SDK. Media SDK is an inter-platform aPI interface To develop and optimize multimedia applications in such a way as to use the hardware acceleration of Intel blocks with fixed functions.
    • If your multimedia applications and solutions are designed for client devices, use the Intel Media SDK package. It can be downloaded for free.
    • If your solutions are designed for embedded systems, servers or cloud platforms, access to Intel Media SDK can be obtained using Intel Media Server Studio. This solution has a free issue of Community Edition and two paid issues: Essentials and Professional (they can also be used to speed up the transition to HEVC and 4K / UHD).
    To start working with Intel Media SDK, it is enough to perform a few simple actions:
    1. Download Intel Media SDK for the target device.
    2. Load training manuals and read them to understand how to customize software using SDK.
    3. Install Intel Media SDK. If you are using Linux, see Installation Guide for Linux.
    4. Load the SDK code sample to experiment with already compiled applications.
    5. Collect and run the Video Transcoding application: sample_multi_transcode.
    Commands are similar to the FFMPEG commands. Examples:

    Videotranscoding_folder \\ _bin \\ x64\u003e \\ sample_multi_transcode.exe -HW -i :: H264 IN.MPEG2 -O :: H264 OUT.H264
    Videotranscoding_folder \\ _bin \\ x64\u003e \\ sample_multi_transcode.exe -HW -i :: H265 IN.MPEG2 -O :: H265 OUT.H265

    Note that to use hardware acceleration, you must specify the parameter -HW. In the list of arguments.
    This example also works with a hevc decoder and encoder (H.265), but it must be installed from the INTEL MEDIA Server Studio Pro.
    There are many parameters that can be specified in command line. Using the parameter -u. You can set the target use (TU), as when using FFMPEG presets. TU \u003d 4 is used by default. In fig. 5 shows performance indicators with different TU settings.


    Figure 5. Examples of H264 performance characteristics relative to target use

    Use other Intel software tools
    For further refinement of the code, you can use Intel optimization and profiling tools, including