# Bit slicing

Bit slicing é uma técnica para construção de um processador a partir de módulo de processadores com menor largura de bits, com o propósito de aumentar o comprimento da palavra de maquina; em teoria para fazer uma unidade central de processamento (CPU) com n bits. Cada um desses módulos componentes processa um bit field ou "slice" (fatia) de um operando. O processamento dos componentes agrupados teria então a capacidade de processar a largura de palavra de um certo design de software.
Bit slicing mais ou menos desapareceu devido ao surgimento de microprocessadores. Recentemente tem sido usado em unidades de lógica e aritmética (ALUs) para computadores quânticos e como uma técnica de software, por exemplo criptografia em CPUs x86.

## Detalhes operacionais

Processadores bit-slice (BSPs) comumente incluindo 1, 2, 4, 8 ou 16 bits unidades de lógica e aritmética (ALU) e linhas de controle (incluindo sinais de carry ou overflow que são internos ao processador em designs não bit-sliced de CPU.
Por exemplo, duas ALU de 4 bits poderiam ser arranjadas lado a lado, com linhas de controle entre elas, para formar uma ALU de 8 bits (resultado não precisa em potências de dois, por exemplo três unidades de 1 but podem fazer uma ALU de 3 bits, mesmo que uma CPU de 3 bits (ou n bits) enquanto 3 bits, ou qualquer CPU com um numero maior de números ímpar de bits, não tenha sido fabricada e vendida em volume. Quatro chips de ALU poderiam ser usando para construir ALUs de 16 bits, oito para construir uma ALU com palavra de 32 bits. Um projetista poderia adicionar quantos slices sejam necessários mara manipular palavras mais longas.
Um microsequenciador ou ROM de controle seria usada para executar lógica para prove sinais de controle para regular funções e componentes de ALUs.

## Necessidade histórica

Bit slicing, apesar de não ser chamado assim na época, também foi usado em computadores antes de large-scale integrated circuits (LSI, é o predecessor do atual VLSI, ou very-large-scale integration circuits). A primeira máquina bit-sliced foi o EDSAC 2, construido no University of Cambridge Mathematical Laboratory entre 1956–1958. Antes do meio de 1970 e pelo final de 1980 houverem alguns debates sobre quão largo um bus era necessário para um certo computador para faze-lo funciona. A tecnologia de chips de silício e componentes eram muito mais caros do que hoje em dia. Usando múltiplas ALUs mais simples, portanto menos caras, era visto como uma forma de aumentar o poder de computação de forma com melhor custo-beneficio. Enquanto um microprocessador de 32 bits eram discutidos na época, poucos estavam em produção.
A série de mainframes UNIVAC 1100 (uma das mais antigas séries, originário da década de 1950) tem uma arquitetura de 36 bits, e a 1100/60 introduzida em 1979 usava nove chips ALUs Motorola MC10800 de 4 bits para implementar a largura de palavra requerida enquanto usando circuitos integrados modernos.
Na época processadores de 16 bits eram comuns mas caros, e os processadores de 8 bits, como o Z80, eram usados largamente no nascente mercado de computadores domésticos.
Combinando componentes para produzir produtos bit-sliced permitia a engenheiros e estudantes criarem computadores mais poderosos e complexos a um custo razoável, usando componentes de prateleira que poderiam ser configurados de forma personalizada. As complexidades de criar uma nova arquitetura de computadores eram grandemente reduzidas quando os detalhes da ALU já eram especificados (e debugados).
A principal vantagem era que bit slicing fez com que fosse economicamente possível em processadores menores o uso de transistores bipolares, que chaveiam muito mais rápido que transistores NMOS ou CMOS. Isso permitiu taxas de clock muito mais altas, onde a velocidade era necessária – por exemplo, para funções DSP ou matrizes de transformação – ou, no Xerox Alto, a combinação de flexibilidade e velocidade, antes que CPUs discretas fossem capazes de entrega-las.

## Uso moderno
### Uso em software em hardware não bit-slices

Em tempos mais recentes, o termo bit slicing foi reusado por Matthew Kwan para se referir a técnica de usar uma CPU de propósitos gerais para implementar múltiplas máquinas virtuais paralelas simples usando instruções lógicas gerais para executar operações single instruction multiple-data (única instrução, múltiplos dados) (SIMD). Essa técnica é também conhecida como SIMD dentro de um registrador (SWAR).
Isso foi inicialmente em referencia ao artigo de Eli Biham de 1997 A Fast New DES Implementation in Software, que atingiu ganhos significativos em performance de DES ao usar esse método.

### Computadores quânticos Bit-sliced

Para simplificar a estrutura do circuito e reduzir custo de hardware de computadores quânticos (proposto para rodar a conjunto de instruções MIPS32) um 50 GHz superconducting "uma unidade lógico aritimética (ALU) de 4 bits bit-slice para rapid microprocessadores de 32-bit single-flux-quantum foi demonstrado".