Los microcontroladores y microprocesadores son los dispositivos más directamente afectados por la ley de Moore en su evolución. Las limitaciones al desarrollo de chips cada vez más potentes son cada vez más patentes, sin embargo, muchos beneficios aún se pueden lograr en el desempeño de estos dispositivos, como veremos en este breve artículo.

Según la Ley de Moore original, cada 18 meses sería posible doblar la cantidad de transistores integrados en un chip. Posteriormente, esa misma ley fue revisada, pasando a ser adoptado que el número de transistores en un chip doblaría cada 24 meses. Al doblarse el número de componentes, la misma ley afirma que el costo permanece constante.

Ya han pasado más de 40 años desde que la ley original fue formulada, pero sus consecuencias aún son evidentes. (*)

Sin embargo, en la industria de microcontroladores y microprocesadores, un segundo factor debe ser tenido en cuenta por los fabricantes. La velocidad también debe ser aumentada. Esto significa que no sólo el rendimiento, dado por el número de transistores, así como la velocidad dada por la tecnología utilizada y la arquitectura.

Así, de la tecnología inicial de 8 bits, el número de bits fue aumentando gradualmente, dada la posibilidad de tener un direccionamiento de memoria cada vez mayor.

El número de ciclos para ejecutar una instrucción es también otro factor que debe ser considerado. Los fabricantes de chips que buscan el mercado de servidores, por ejemplo, deben pensar que la funcionalidad necesita estar de acuerdo con las nuevas arquitecturas. Por ejemplo, se deben utilizar arquitecturas orientadas a tareas ((SOA), ya que los protocolos XML consumen mucho más ciclos que los HTML.

Otro problema a considerar en los nuevos chips es la necesidad de realizar cada vez más tareas con un menor consumo de energía. En nuestros tiempos, en que existe una preocupación muy grande con las fuentes de energía disponibles, y con el uso cada vez mayor de aplicaciones alimentadas a batería, bajo consumo es un elemento siempre presente en cualquier proyecto.

Una tendencia que ya se puede observar en algunos productos, como el Duo-Core de Intel (*), es utilizar dos procesadores en el mismo chip en lugar de uno, el procesamiento paralelo se puede obtener con un menor consumo de energía.

Un número mayor de procesadores es la tendencia a ser observada en nuevos productos que aparecerán en el mercado.

Una tendencia que también debe ser analizada es lo que se denomina virtualización del nivel de procesamiento. En esta tecnología, los procesadores individuales se pueden dividir en chips virtuales más pequeños, de modo que diferentes sistemas operativos puedan girar en el mismo procesador.

Tanto Intel como AMD ya están trabajando a buen tiempo en esta tecnología con Pacifica y Vritual Technology (VT), respectivamente. Con esta característica, las actualizaciones de los sistemas operativos se simplifican.

Otra forma de obtener microcontroladores y microprocesadores cada vez más poderosos consiste en reducir los transistores, con tecnologías cada vez más reducidas. Esta tecnología debe llegar a los 22 nanómetros en los próximos años, lo que, sin embargo, ya comienza a aproximarse a los límites establecidos por la Ley de Moore. Se llega el momento, en que las reducciones de los transistores en los chips se hacen imposible y ya cerca de ese límite los costos de producción ya no se mantienen constantes.

 

Llegamos a los Bits

Los servidores de alto nivel ya han operado con tecnología de 64 bits en un buen tiempo, pero fue AMD que se convirtió en la primera en utilizar procesadores de 64 bits en escritorios y servidores de bajo costo, basados ??en la arquitectura tradicional x86.

Con 8 bits podemos dirigir sólo 256kb de memoria y con 16 bits se puede dirigir 1 Mb. Ese valor salta a 4 Gb. Esto significa la posibilidad de adoptar interfaces gráficas de usuario (OS) en los sistemas operativos. Como Windows no necesita todo esto, la capacidad de 64 bits se dedicará mucho más a tareas que implican procesamiento gráfico avanzado.

A pesar de las ventajas del procesamiento con 64 bits, los fabricantes están en una situación similar al del huevo y del pollo, según los medios técnicos comentan: no hay muchos procesadores de 64 bits disponibles porque no hay software para ellos. Por otro lado, los programadores no escriben programas para procesadores de 64 bits porque no hay muchos de ellos disponibles en el mercado ...

Por supuesto, un día ese ciclo vicioso se romper y cuando esto ocurra los procesadores de 64 bits estallan en el mercado, convirtiéndose en comunes en muchas aplicaciones que hoy utilizan otros procesadores de menor capacidad.

 

 

(*) Nota: este artículo es de 2007.

 

 

Buscador de Datasheets



N° de Componente 
18.866MBMemory Usage46.78msRequest Duration
Joomla! Version5.2.2
PHP Version8.2.19
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:56 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1736439725 "last" => 1736439725...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (87.48KB) (1.02ms)
  • afterInitialise (1.14MB) (5.15ms)
  • afterRoute (179.16KB) (1.29ms)
  • beforeRenderComponent com_content (100.65KB) (616μs)
  • Before Access::preloadComponents (all components) (33.45KB) (348μs)
  • After Access::preloadComponents (all components) (107.06KB) (374μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.16MB) (22.35ms)
  • Before Access::getAssetRules (id:21521 name:com_content.article.25299) (514.65KB) (642μs)
  • After Access::getAssetRules (id:21521 name:com_content.article.25299) (7.38KB) (70μs)
  • afterRenderComponent com_content (374.81KB) (6.9ms)
  • afterDispatch (2.25KB) (58μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (357.24KB) (1.67ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.74KB) (430μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.4KB) (96μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (1.24ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (13.02KB) (764μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (83μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (4.28KB) (273μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (49μs)
  • afterRender (254.25KB) (3.23ms)
  • 1 x After Access::preloadPermissions (com_content) (16.16MB) (47.77%)
    22.35ms
    1 x afterRenderComponent com_content (374.81KB) (14.74%)
    6.90ms
    1 x afterInitialise (1.14MB) (11%)
    5.15ms
    1 x afterRender (254.25KB) (6.9%)
    3.23ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (357.24KB) (3.57%)
    1.67ms
    1 x afterRoute (179.16KB) (2.75%)
    1.29ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (2.64%)
    1.24ms
    1 x afterLoad (87.48KB) (2.19%)
    1.02ms
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (13.02KB) (1.63%)
    764μs
    1 x Before Access::getAssetRules (id:21521 name:com_content.article.25299) (514.65KB) (1.37%)
    642μs
    1 x beforeRenderComponent com_content (100.65KB) (1.32%)
    616μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.74KB) (0.92%)
    430μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.8%)
    374μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.74%)
    348μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (4.28KB) (0.58%)
    273μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.4KB) (0.21%)
    96μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.18%)
    83μs
    1 x After Access::getAssetRules (id:21521 name:com_content.article.25299) (7.38KB) (0.15%)
    70μs
    1 x afterDispatch (2.25KB) (0.12%)
    58μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.1%)
    49μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique11.49ms1.57MB
  • SELECT @@SESSION.sql_mode;31μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 171μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)150μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`45μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest64μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`233μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)219μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 08.24ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`353μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '25299'180μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)206μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`204μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)224μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`173μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC374μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`170μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1159μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)91μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context63μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)169μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 170μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy