Multi-core processors combine two or more independent processing cores into a single integrated circuit. This allows a computing device to exhibit thread-level parallelism without including multiple separate microprocessors. There is some debate over whether multi-core designs should be considered single processors or multiple processors. Major technology companies have different views on this issue. Multi-core architectures allow applications with thread-level parallelism to benefit from distributing threads across multiple cores, improving performance over a single-core design.