/*! * Dialogs Manager v4.9.3 * https://github.com/kobizz/dialogs-manager * * Copyright Kobi Zaltzberg * Released under the MIT license * https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt */ (function($, global) { 'use strict'; /* * Dialog Manager */ var DialogsManager = { widgetsTypes: {}, createWidgetType: function(typeName, properties, Parent) { if (!Parent) { Parent = this.Widget; } var WidgetType = function() { Parent.apply(this, arguments); }; var prototype = WidgetType.prototype = new Parent(typeName); prototype.types = prototype.types.concat([typeName]); $.extend(prototype, properties); prototype.constructor = WidgetType; WidgetType.extend = function(typeName, properties) { return DialogsManager.createWidgetType(typeName, properties, WidgetType); }; return WidgetType; }, addWidgetType: function(typeName, properties, Parent) { if (properties && properties.prototype instanceof this.Widget) { return this.widgetsTypes[typeName] = properties; } return this.widgetsTypes[typeName] = this.createWidgetType(typeName, properties, Parent); }, getWidgetType: function(widgetType) { return this.widgetsTypes[widgetType]; } }; /* * Dialog Manager instances constructor */ DialogsManager.Instance = function() { var self = this, elements = {}, settings = {}; var initElements = function() { elements.body = $('body'); }; var initSettings = function(options) { var defaultSettings = { classPrefix: 'dialog', effects: { show: 'fadeIn', hide: 'fadeOut' } }; $.extend(settings, defaultSettings, options); }; this.createWidget = function(widgetType, properties) { var WidgetTypeConstructor = DialogsManager.getWidgetType(widgetType), widget = new WidgetTypeConstructor(widgetType); properties = properties || {}; widget.init(self, properties); return widget; }; this.getSettings = function(property) { if (property) { return settings[property]; } return Object.create(settings); }; this.init = function(settings) { initSettings(settings); initElements(); return self; }; self.init(); }; /* * Widget types constructor */ DialogsManager.Widget = function(widgetName) { var self = this, settings = {}, events = {}, elements = {}, hideTimeOut = 0, baseClosureMethods = ['refreshPosition']; var bindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.on('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].addEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].addEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.on('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.on('click', hideOnClick); } }; var callEffect = function(intent, params) { var effect = settings.effects[intent], $widget = elements.widget; if ('function' === typeof effect) { effect.apply($widget, params); } else { if ($widget[effect]) { $widget[effect].apply($widget, params); } else { throw 'Reference Error: The effect ' + effect + ' not found'; } } }; var ensureClosureMethods = function() { var closureMethodsNames = baseClosureMethods.concat(self.getClosureMethods()); $.each(closureMethodsNames, function() { var methodName = this, oldMethod = self[methodName]; self[methodName] = function() { oldMethod.apply(self, arguments); }; }); }; var fixIframePosition = function(position) { if (! position.my) { return; } var horizontalOffsetRegex = /left|right/, extraOffsetRegex = /([+-]\d+)?$/, iframeOffset = elements.iframe.offset(), iframeWindow = elements.iframe[0].contentWindow, myParts = position.my.split(' '), fixedParts = []; if (myParts.length === 1) { if (horizontalOffsetRegex.test(myParts[0])) { myParts.push('center'); } else { myParts.unshift('center'); } } myParts.forEach(function(part, index) { var fixedPart = part.replace(extraOffsetRegex, function(partOffset) { partOffset = +partOffset || 0; if (! index) { partOffset += iframeOffset.left - iframeWindow.scrollX; } else { partOffset += iframeOffset.top - iframeWindow.scrollY; } if (partOffset >= 0) { partOffset = '+' + partOffset; } return partOffset; }); fixedParts.push(fixedPart); }); position.my = fixedParts.join(' '); }; var hideOnClick = function(event) { if (isContextMenuClickEvent(event)) { return; } if (settings.hide.onClick) { if ($(event.target).closest(settings.selectors.preventClose).length) { return; } } else if (event.target !== this) { return; } self.hide(); }; var isIgnoredTarget = function(event) { if (! settings.hide.ignore) { return false; } return !! $(event.target).closest(settings.hide.ignore).length; }; var hideOnOutsideClick = function(event) { if (isContextMenuClickEvent(event) || $(event.target).closest(elements.widget).length || isIgnoredTarget(event)) { return; } self.hide(); }; var initElements = function() { self.addElement('widget'); self.addElement('header'); self.addElement('message'); self.addElement('window', window); self.addElement('body', document.body); self.addElement('container', settings.container); if (settings.iframe) { self.addElement('iframe', settings.iframe); } if (settings.closeButton) { if ( settings.closeButtonClass ) { // Backwards compatibility settings.closeButtonOptions.iconClass = settings.closeButtonClass; } const $button = $('', settings.closeButtonOptions.attributes), $buttonIcon = $(settings.closeButtonOptions.iconElement).addClass(settings.closeButtonOptions.iconClass); $button.append($buttonIcon); self.addElement('closeButton', $button); } var id = self.getSettings('id'); if (id) { self.setID(id); } var classes = []; $.each(self.types, function() { classes.push(settings.classes.globalPrefix + '-type-' + this); }); classes.push(self.getSettings('className')); elements.widget .addClass(classes.join(' ')) .attr({ 'aria-modal': true, 'role': 'document', 'tabindex': 0, }); }; var initSettings = function(parent, userSettings) { var parentSettings = $.extend(true, {}, parent.getSettings()); settings = { headerMessage: '', message: '', effects: parentSettings.effects, classes: { globalPrefix: parentSettings.classPrefix, prefix: parentSettings.classPrefix + '-' + widgetName, preventScroll: parentSettings.classPrefix + '-prevent-scroll', }, selectors: { preventClose: '.' + parentSettings.classPrefix + '-prevent-close', }, container: 'body', preventScroll: false, iframe: null, closeButton: false, closeButtonOptions: { iconClass: parentSettings.classPrefix + '-close-button-icon', attributes: { role: 'button', 'tabindex': 0, 'aria-label': 'Close', href: '#', }, iconElement: '', }, position: { element: 'widget', my: 'center', at: 'center', enable: true, autoRefresh: false, }, hide: { auto: false, autoDelay: 5000, onClick: false, onOutsideClick: true, onOutsideContextMenu: false, onBackgroundClick: true, onEscKeyPress: true, ignore: '', }, }; $.extend(true, settings, self.getDefaultSettings(), userSettings); initSettingsEvents(); }; var initSettingsEvents = function() { $.each(settings, function(settingKey) { var eventName = settingKey.match(/^on([A-Z].*)/); if (!eventName) { return; } eventName = eventName[1].charAt(0).toLowerCase() + eventName[1].slice(1); self.on(eventName, this); }); }; var isContextMenuClickEvent = function(event) { // Firefox fires `click` event on every `contextmenu` event. return event.type === 'click' && event.button === 2; }; var normalizeClassName = function(name) { return name.replace(/([a-z])([A-Z])/g, function() { return arguments[1] + '-' + arguments[2].toLowerCase(); }); }; var onWindowKeyUp = function(event) { var ESC_KEY = 27, keyCode = event.which; if (ESC_KEY === keyCode) { self.hide(); } }; var unbindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.off('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].removeEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].removeEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.off('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.off('click', hideOnClick); } }; this.addElement = function(name, element, classes) { var $newElement = elements[name] = $(element || '
'), normalizedName = normalizeClassName(name); classes = classes ? classes + ' ' : ''; classes += settings.classes.globalPrefix + '-' + normalizedName; classes += ' ' + settings.classes.prefix + '-' + normalizedName; $newElement.addClass(classes); return $newElement; }; this.destroy = function() { unbindEvents(); elements.widget.remove(); self.trigger('destroy'); return self; }; this.getElements = function(item) { return item ? elements[item] : elements; }; this.getSettings = function(setting) { var copy = Object.create(settings); if (setting) { return copy[setting]; } return copy; }; this.hide = function() { if (! self.isVisible()) { return; } clearTimeout(hideTimeOut); callEffect('hide', arguments); unbindEvents(); if (settings.preventScroll) { self.getElements('body').removeClass(settings.classes.preventScroll); } self.trigger('hide'); return self; }; this.init = function(parent, properties) { if (!(parent instanceof DialogsManager.Instance)) { throw 'The ' + self.widgetName + ' must to be initialized from an instance of DialogsManager.Instance'; } ensureClosureMethods(); self.trigger('init', properties); initSettings(parent, properties); initElements(); self.buildWidget(); self.attachEvents(); self.trigger('ready'); return self; }; this.isVisible = function() { return elements.widget.is(':visible'); }; this.on = function(eventName, callback) { if ('object' === typeof eventName) { $.each(eventName, function(singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function(singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function(eventName, callback) { if (! events[ eventName ]) { return self; } if (! callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { events[eventName].splice(callbackIndex, 1); } return self; }; this.refreshPosition = function() { if (! settings.position.enable) { return; } var position = $.extend({}, settings.position); if (elements[position.of]) { position.of = elements[position.of]; } if (! position.of) { position.of = window; } if (settings.iframe) { fixIframePosition(position); } elements[position.element].position(position); }; this.setID = function(id) { elements.widget.attr('id', id); return self; }; this.setHeaderMessage = function(message) { self.getElements('header').html(message); return self; }; this.setMessage = function(message) { elements.message.html(message); return self; }; this.setSettings = function(key, value) { if (jQuery.isPlainObject(value)) { $.extend(true, settings[key], value); } else { settings[key] = value; } return self; }; this.show = function() { clearTimeout(hideTimeOut); elements.widget.appendTo(elements.container).hide(); callEffect('show', arguments); self.refreshPosition(); if (settings.hide.auto) { hideTimeOut = setTimeout(self.hide, settings.hide.autoDelay); } bindEvents(); if (settings.preventScroll) { self.getElements('body').addClass(settings.classes.preventScroll); } self.trigger('show'); return self; }; this.trigger = function(eventName, params) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1); if (self[methodName]) { self[methodName](params); } var callbacks = events[eventName]; if (!callbacks) { return; } $.each(callbacks, function(index, callback) { callback.call(self, params); }); return self; }; }; DialogsManager.Widget.prototype.types = []; // Inheritable widget methods DialogsManager.Widget.prototype.buildWidget = function() { var elements = this.getElements(), settings = this.getSettings(); elements.widget.append(elements.header, elements.message); this.setHeaderMessage(settings.headerMessage); this.setMessage(settings.message); if (this.getSettings('closeButton')) { elements.widget.prepend(elements.closeButton); } }; DialogsManager.Widget.prototype.attachEvents = function() { var self = this; if (self.getSettings('closeButton')) { self.getElements('closeButton').on('click', function(event) { event.preventDefault(); self.hide(); }); } }; DialogsManager.Widget.prototype.getDefaultSettings = function() { return {}; }; DialogsManager.Widget.prototype.getClosureMethods = function() { return []; }; DialogsManager.Widget.prototype.onHide = function() { }; DialogsManager.Widget.prototype.onShow = function() { }; DialogsManager.Widget.prototype.onInit = function() { }; DialogsManager.Widget.prototype.onReady = function() { }; DialogsManager.widgetsTypes.simple = DialogsManager.Widget; DialogsManager.addWidgetType('buttons', { activeKeyUp: function(event) { var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); } if (this.hotKeys[event.which]) { this.hotKeys[event.which](this); } }, activeKeyDown: function(event) { if (!this.focusedButton) { return; } var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); var currentButtonIndex = this.focusedButton.index(), nextButtonIndex; if (event.shiftKey) { nextButtonIndex = currentButtonIndex - 1; if (nextButtonIndex < 0) { nextButtonIndex = this.buttons.length - 1; } } else { nextButtonIndex = currentButtonIndex + 1; if (nextButtonIndex >= this.buttons.length) { nextButtonIndex = 0; } } this.focusedButton = this.buttons[nextButtonIndex].trigger('focus'); } }, addButton: function(options) { var self = this, settings = self.getSettings(), buttonSettings = jQuery.extend(settings.button, options); var classes = options.classes ? options.classes + ' ' : ''; classes += settings.classes.globalPrefix + '-button'; var $button = self.addElement(options.name, $('<' + buttonSettings.tag + '>').html(options.text), classes); self.buttons.push($button); var buttonFn = function() { if (settings.hide.onButtonClick) { self.hide(); } if ('function' === typeof options.callback) { options.callback.call(this, self); } }; $button.on('click', buttonFn); if (options.hotKey) { this.hotKeys[options.hotKey] = buttonFn; } this.getElements('buttonsWrapper').append($button); if (options.focus) { this.focusedButton = $button; } return self; }, bindHotKeys: function() { this.getElements('window').on({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); }, buildWidget: function() { DialogsManager.Widget.prototype.buildWidget.apply(this, arguments); var $buttonsWrapper = this.addElement('buttonsWrapper'); this.getElements('widget').append($buttonsWrapper); }, getClosureMethods: function() { return [ 'activeKeyUp', 'activeKeyDown' ]; }, getDefaultSettings: function() { return { hide: { onButtonClick: true }, button: { tag: 'button' } }; }, onHide: function() { this.unbindHotKeys(); }, onInit: function() { this.buttons = []; this.hotKeys = {}; this.focusedButton = null; }, onShow: function() { this.bindHotKeys(); if (!this.focusedButton) { this.focusedButton = this.buttons[0]; } if (this.focusedButton) { this.focusedButton.trigger('focus'); } }, unbindHotKeys: function() { this.getElements('window').off({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); } }); DialogsManager.addWidgetType('lightbox', DialogsManager.getWidgetType('buttons').extend('lightbox', { getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('buttons').prototype.getDefaultSettings.apply(this, arguments); return $.extend(true, settings, { contentWidth: 'auto', contentHeight: 'auto', position: { element: 'widgetContent', of: 'widget', autoRefresh: true } }); }, buildWidget: function() { DialogsManager.getWidgetType('buttons').prototype.buildWidget.apply(this, arguments); var $widgetContent = this.addElement('widgetContent'), elements = this.getElements(); $widgetContent.append(elements.header, elements.message, elements.buttonsWrapper); elements.widget.html($widgetContent); if (elements.closeButton) { $widgetContent.prepend(elements.closeButton); } }, onReady: function() { var elements = this.getElements(), settings = this.getSettings(); if ('auto' !== settings.contentWidth) { elements.message.width(settings.contentWidth); } if ('auto' !== settings.contentHeight) { elements.message.height(settings.contentHeight); } } })); DialogsManager.addWidgetType('confirm', DialogsManager.getWidgetType('lightbox').extend('confirm', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'), isDefaultCancel = this.getSettings('defaultOption') === 'cancel'; this.addButton({ name: 'cancel', text: strings.cancel, callback: function(widget) { widget.trigger('cancel'); }, focus: isDefaultCancel }); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); }, focus: !isDefaultCancel }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK', cancel: 'Cancel' }; settings.defaultOption = 'cancel'; return settings; } })); DialogsManager.addWidgetType('alert', DialogsManager.getWidgetType('lightbox').extend('alert', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); } }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK' }; return settings; } })); // Exporting the DialogsManager variable to global global.DialogsManager = DialogsManager; })( typeof jQuery !== 'undefined' ? jQuery : typeof require === 'function' && require('jquery'), (typeof module !== 'undefined' && typeof module.exports !== 'undefined') ? module.exports : window ); {"id":2022,"date":"2021-12-18T11:09:27","date_gmt":"2021-12-18T11:09:27","guid":{"rendered":"https:\/\/weeklypostgazette.com\/?p=2022"},"modified":"2023-06-03T10:39:03","modified_gmt":"2023-06-03T10:39:03","slug":"how-the-central-processing-unit-cpu-actually-works-in-practice","status":"publish","type":"post","link":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/","title":{"rendered":"How the Central Processing Unit (CPU) Actually Works in Practice"},"content":{"rendered":"

Do you really<\/em> have any idea what your computer is doing when you use it? If you’re like most people on planet earth, the answer is a resounding “no.”<\/p>\n

The way a computer works is just as interesting as the things that pop up on its screen, and knowing how things operate can help you in a number of ways. Understanding computers helps you to make smarter purchases, save money on repairs, and appreciate the devices you use every day.<\/p>\n

We’re going to look at the central processing unit today, examining how it works. We won’t go too far into the technicalities, but you’ll get a solid idea of how your CPU works.<\/p>\n

Let’s get started.<\/strong><\/p>\n

What Is a Central Processing Unit?<\/h2>\n

A central processing unit (CPU) is considered the brain of the device. It’s the starting point for the various functions of your computer, and it gives the rest of your computer the instructions needed to carry out all of the functions that it needs to.<\/p>\n

Every device has some version of a CPU inside of it. Whether it’s a little toy or the most powerful supercomputer on earth, there’s a central processing unit somewhere inside. In the case of computers, the CPU directs information that comes from hardware, software, and various forms of memory.<\/p>\n

It’s also responsible for interpreting those signals and producing the corresponding images on the screen. You might see the CPU referred to as the processor, microprocessor, computer processor, or central processor. All of those names refer to the same thing.<\/p>\n

So, the CPU is like the quarterback or conductor of the computer. It’s there to orchestrate all of the operations that the computer is summoned to do. But how does it do that, and what gives it the ability to manage so much information?<\/p>\n

Transistors and Semiconductors<\/h3>\n

All of the technological splendor we’re exposed to comes as a result of electrical signals. Tiny signals sent through mechanical mazes provide us with the ability to stream movies, write a thesis, develop code, or engage with virtual reality.<\/p>\n

Signals are channeled through a very complex network of what are called transistors. Think of transistors as little nodes, all of which serve as waypoints for electrical signals to travel through. Imagine a traffic cop standing in the middle of an intersection.<\/p>\n

The cop can tell cars to come through or demand that they halt. In the same way, the transistor tells the signal what to do. In terms of the transistor, its functions are to “amplify”‘ or “switch” the currents that run through them.<\/p>\n

In the case of amplification, the transistor uses a small amount of energy to boost either the voltage or the current of the signal. In the case of a switch, the transistor blocks a signal, requiring that it moves in a different direction.<\/p>\n

The ability for a material to either send or block a signal classifies it as a semiconductor. A “conductor” is something that allows energy to flow through it instead of halting it. Copper, for example, is a good conductor.<\/p>\n

That’s all great, but we’re still just talking about basic physics. How can we take something simple like a transistor and turn it into a paradigm-bending piece of technology?<\/p>\n

Microprocessor Chips and Transistor Volume<\/h3>\n

The microprocessor chip is, essentially, “the CPU.” The chip holds all of the information needed to manage the computer’s CPU. In the early days of computers, that would have meant a chip that had a few dozen transistors.<\/p>\n

Now, however, the device you’re looking at probably has billions<\/em> of transistors inside of it. You read that right. Thanks to machines, we’re able to make transistors that aren’t much bigger than atoms.<\/p>\n

Things are expected to keep growing, too. Moore’s Law is an idea that was proposed by one of the founders of Intel Computers. He states that granted that price doesn’t change, the number of microprocessors in devices will double every 18-24 months.<\/p>\n

He made that prediction back in 1975, and it has held up fairly well since then. That’s how we go from 10 to 50 billion transistors available in a microchip.<\/p>\n

So, now you have the fundamental parts of a central processing unit. There are a number of transistors that work to either boost or switch a signal. Those are then added to a chip referred to as an “integrated circuit.”<\/p>\n

The integrated circuit allows all of those transistors to live in the same place, on the same line. Through that circuit, the CPU manages and directs information.<\/p>\n

The result is something like the Intel Evo Processor<\/a>.<\/p>\n

What’s the process for the CPU to manage information, though? All we’ve learned so far is that there are billions of little nodes for electricity to travel through. That doesn’t give us much information on why or how things work.<\/p>\n

Fetch, Decode, Execute<\/h3>\n

There’s a cycle involved in most, if not all of the functions that your computer goes through. If you were looking for something exciting, though, you’re a little out of luck.<\/p>\n

The fetch-execute cycle is the way in which your computer draws on information and puts it into action. As an easy way to imagine how this works, let’s think about the CPU of a digital clock.<\/p>\n

The clock’s job is relatively easy. It has to ensure that it counts up. In order to do this, it needs to fetch, decode, and execute commands from its CPU. How does it do that?<\/p>\n

Fetch Stage<\/h3>\n

Let’s stay with the clock example, as it’s a simple and understandable process.<\/strong><\/p>\n

The clock starts at zero. The CPU “fetches” the command for the clock when it’s at zero. To do that, it reaches into the data storage included in the device. The message from storage gets sent, and the CPU has the particular code for that value.<\/p>\n

At that point, the CPU’s focus is on the value of zero.<\/strong><\/p>\n

Decode Stage<\/h3>\n

Once the zero value gets loaded into the CPU, it’s sent into what’s referred to as the “instruction register.”<\/p>\n

At this point, the task is to “decode” the instructions included in the value of zero. It deconstructs the message then loads it into what’s referred to as the “accumulator.<\/p>\n

So, for example, the instructions included in the code for zero might be “tick forward one second.” That command is what the accumulator needs in order to move on to the next step.<\/p>\n

Execute Stage<\/h3>\n

The instruction register uploads a particular value from the decoded instructions of the initial value. The CPU uses the value to move to action and complete the task at hand.<\/p>\n

In this case, that task is to move the clock along by one second. At the same time, the new value uploaded into the accumulator cycles back to the first step of the process, which is the value in the program counter.<\/p>\n

That all might seem a little bit complicated, but it’s simple in the case of a clock. The first value is zero, that message gets decoded and the resulting value in the accumulator is one.<\/p>\n

The accumulator value populates in the initial section. So, the result is that the clock CPU has to find the instructions for the value of “1.” The process continues, and the next value to enter the equation is “2.”<\/p>\n

In a linear process like that of a clock, the cycle continues ad infinitum, returning to the initial value every 24 hours.<\/p>\n

The Process in Complex Computers<\/h3>\n

Obviously, we’re not talking about the future of clocks in this article. As things get more complicated, different functions get added into that fetch-execute cycle.<\/p>\n

In complex clusters, particular cycles get assigned different values, and those cycles factor in as particular pieces of a larger cycle. Work enough of those cycles into one another in the form of a computer language, and you get entertaining video games like Pong, Prince of Persia, and primitive Mario games<\/a>.<\/p>\n

Those games, though, are written and coded by human beings. The interworkings of those things involve a lot of opportunity for error, which can lead to the loss of personal information and security breaches.<\/p>\n

All of those processes of values, functions, and executions have long been pressed into languages that are simpler for people to work with.<\/p>\n

So, the language is written for particular CPUs and integrated into them. That compresses a lot of information for human beings and allows us to write complex code without getting carpal tunnel or developing a severe hunch.<\/p>\n

Still, though, the process described above doesn’t account for the miraculous level of technology in your cell phones and laptops. The missing factors are speed and scale.<\/p>\n

Multiply that process by a million times and speed it up by orders of magnitude. The result is a series of little cycles that command a device to compress videos, play video games, communicate across the globe, and more.<\/p>\n

Want to Learn More About Computer Performance?<\/h4>\n

Hopefully, the ideas above gave you a better idea about the way a central processing unit works. It’s difficult to wrap your head around the scale that these things work on, but the basic principles are digestible.<\/p>\n

We’re here to help you out with more information on modern technology. Explore our site for more ideas on the computing industry, getting a brand new laptop, and much more.<\/p>\n","protected":false},"excerpt":{"rendered":"

Do you really have any idea what your computer is doing when you use it? If you’re like most people on planet earth, the answer is a resounding “no.” The way a computer works is just as interesting as the things that pop up on its screen, and knowing how things operate can help you […]<\/p>\n","protected":false},"author":1,"featured_media":9118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[1465,1659,2412],"class_list":["post-2022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-how-the-central-processing-unit-cpu-actually-works-in-practice","tag-intel-evo-processor","tag-primitive-mario-games"],"yoast_head":"\nHow the Central Processing Unit (CPU) Actually Works in Practice<\/title>\n<meta name=\"description\" content=\"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How the Central Processing Unit (CPU) Actually Works in Practice\" \/>\n<meta property=\"og:description\" content=\"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\" \/>\n<meta property=\"og:site_name\" content=\"Weekly Post Gazette\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-18T11:09:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-03T10:39:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/ec7256dded682538a10ff4fdd9738316\"},\"headline\":\"How the Central Processing Unit (CPU) Actually Works in Practice\",\"datePublished\":\"2021-12-18T11:09:27+00:00\",\"dateModified\":\"2023-06-03T10:39:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\"},\"wordCount\":1554,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg\",\"keywords\":[\"How the Central Processing Unit (CPU) Actually Works in Practice\",\"intel evo processor\",\"primitive Mario games\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\",\"url\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\",\"name\":\"How the Central Processing Unit (CPU) Actually Works in Practice\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg\",\"datePublished\":\"2021-12-18T11:09:27+00:00\",\"dateModified\":\"2023-06-03T10:39:03+00:00\",\"description\":\"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.\",\"breadcrumb\":{\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg\",\"width\":1000,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/weeklypostgazette.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How the Central Processing Unit (CPU) Actually Works in Practice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/weeklypostgazette.com\/#website\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"name\":\"Weekly Post Gazette\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/weeklypostgazette.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\",\"name\":\"Weekly Post Gazette\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"width\":170,\"height\":45,\"caption\":\"Weekly Post Gazette\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/ec7256dded682538a10ff4fdd9738316\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/02a42c746d0e94d995d0b094754efdf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/02a42c746d0e94d995d0b094754efdf4?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/weeklypostgazette.com\"],\"url\":\"https:\/\/weeklypostgazette.com\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How the Central Processing Unit (CPU) Actually Works in Practice","description":"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/","og_locale":"en_US","og_type":"article","og_title":"How the Central Processing Unit (CPU) Actually Works in Practice","og_description":"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.","og_url":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/","og_site_name":"Weekly Post Gazette","article_published_time":"2021-12-18T11:09:27+00:00","article_modified_time":"2023-06-03T10:39:03+00:00","og_image":[{"width":1000,"height":600,"url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#article","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/"},"author":{"name":"admin","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/ec7256dded682538a10ff4fdd9738316"},"headline":"How the Central Processing Unit (CPU) Actually Works in Practice","datePublished":"2021-12-18T11:09:27+00:00","dateModified":"2023-06-03T10:39:03+00:00","mainEntityOfPage":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/"},"wordCount":1554,"commentCount":0,"publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"image":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg","keywords":["How the Central Processing Unit (CPU) Actually Works in Practice","intel evo processor","primitive Mario games"],"articleSection":["Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/","url":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/","name":"How the Central Processing Unit (CPU) Actually Works in Practice","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage"},"image":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg","datePublished":"2021-12-18T11:09:27+00:00","dateModified":"2023-06-03T10:39:03+00:00","description":"Do you really have any idea what your computer is doing when you use it? If you're like most people on planet earth.","breadcrumb":{"@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#primaryimage","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2021\/12\/How-the-Central-Processing-Unit-CPU-Actually-Works-in-Practice.jpg","width":1000,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/weeklypostgazette.com\/how-the-central-processing-unit-cpu-actually-works-in-practice\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/weeklypostgazette.com\/"},{"@type":"ListItem","position":2,"name":"How the Central Processing Unit (CPU) Actually Works in Practice"}]},{"@type":"WebSite","@id":"https:\/\/weeklypostgazette.com\/#website","url":"https:\/\/weeklypostgazette.com\/","name":"Weekly Post Gazette","description":"","publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/weeklypostgazette.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/weeklypostgazette.com\/#organization","name":"Weekly Post Gazette","url":"https:\/\/weeklypostgazette.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","width":170,"height":45,"caption":"Weekly Post Gazette"},"image":{"@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/ec7256dded682538a10ff4fdd9738316","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/02a42c746d0e94d995d0b094754efdf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/02a42c746d0e94d995d0b094754efdf4?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/weeklypostgazette.com"],"url":"https:\/\/weeklypostgazette.com\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/2022"}],"collection":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/comments?post=2022"}],"version-history":[{"count":0,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/2022\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media\/9118"}],"wp:attachment":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media?parent=2022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/categories?post=2022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/tags?post=2022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}